Skip To Content

빅데이터 파일 공유 매니페스트

비고:

ArcGIS Enterprise 10.9.1 이후 버전에서는 ArcGIS Server Manager 대신 포털 콘텐츠 페이지를 통해 빅데이터 파일을 추가하거나 편집하는 것을 권장합니다. 포털에서 빅데이터 파일 공유 추가에 대한 자세히 알아보세요.

빅데이터 파일 공유는 포털 콘텐츠 페이지를 통해 데이터 저장소로 등록됩니다. 빅데이터 파일 공유에서 데이터의 스키마 및 데이터셋의 지오메트리와 시간을 나타내는 필드를 요약하려면 매니페스트가 필요합니다. 매니페스트는 빅데이터 파일 공유를 등록할 때 자동으로 생성되지만 데이터가 변경되었거나 매니페스트 생성 시 필요한 모든 정보를 확인할 수 없는 경우(예시: 자동 생성된 매니페스트가 지오메트리 또는 시간에 대해 올바른 필드를 선택하지 않은 경우)에는 매니페스트를 수정해야 할 수 있습니다.

비고:

매니페스트를 통한 빅데이터 파일 공유 편집은 고급 옵션입니다. 빅데이터 파일 공유의 개별 데이터셋에 변경 사항을 적용하는 방법에 대해 자세히 알아보려면 포털에서 빅데이터 파일 공유 관리를 참고하세요. 구분된 파일에 대해 힌트 파일을 적용하는 방법에 대한 자세한 내용은 힌트 파일을 참고하세요.

매니페스트는 데이터셋으로 구성됩니다. 데이터셋의 수는 빅데이터 파일 공유에 포함된 폴더의 수에 따라 달라집니다. 다음 예시에는 데이터셋 5개가 있습니다.

"datasets":[
  {.. dataset1 ..},
  {.. dataset2 ..},
  {.. dataset3 ..},
  {.. dataset4 ..},
  {.. dataset5 ..},
]

각 데이터셋에는 적용할 수 있는 최상위 개체 5개가 있습니다. 이러한 객체 중 name, format, schema이 필수 항목입니다.

{
 "name": "dataset1",
 "format": {},
 "schema": {},
 "geometry": {},
 "time": {}
}

이름

name 객체는 필수 항목이며 데이터셋 이름을 정의합니다. 이 개체는 매니페스트 내에서 고유해야 합니다.

형식

format 객체는 데이터셋의 유형과 형식을 정의하는 필수 항목입니다.

구문예시
"format" : {
 "type" :  "< delimited | shapefile | orc | parquet >",
 "extension" : "< csv | tsv | shp | orc | parquet >",
 "fieldDelimiter" : "< delimiter >",
 "recordTerminator: "< terminator >",
 "quoteChar":  "< character for quotes>",
 "hasHeaderRow" :  < true | false >, 
 "encoding" : "< encoding format >"
}

쉐이프파일을 사용하는 예시:

"format" : {
 "type": "shapefile",
 "extension": "shp"
}

구분된 파일을 사용하는 예시:

"format" : {
 "type": "delimited",
 "extension": "csv",
 "fieldDelimiter": ",",
 "recordTerminator": "\n", 
 "quoteChar" "\"",
 "hasHeaderRow": true,
 "encoding" : "UTF-8"
}

설명

  • type - 원본 데이터를 정의하는 필수 등록정보입니다. delimited, shapefile, parquet 또는 orc일 수 있습니다.
  • extension - 파일 확장자를 나타내는 필수 등록정보입니다. 쉐이프파일에는 shp, 구분된 파일에는 데이터의 파일 확장자(예시: csv 또는 tsv), ORC 파일에는 orc, parquet 파일에는 parquet가 사용됩니다.
  • fieldDelimiter - typedelimited이면 필수 항목입니다. 이 필드는 구분된 파일에서 필드를 구분하는 항목을 나타냅니다.
  • recordTerminator - typedelimited일 때만 필수 항목입니다. 이 필드는 구분된 파일에서 피처를 종료하는 항목을 지정합니다.
  • quoteChar - typedelimited일 때만 필수 항목입니다. 문자는 구분된 파일에서 따옴표를 지정하는 방법을 나타냅니다.
  • hasHeaderRow - typedelimited일 때만 필수 항목입니다. 이 등록정보는 구분된 파일의 첫 행을 머리글로 처리할지 아니면 첫 번째 피처로 처리할지를 지정합니다.
  • encoding - typedelimited일 때만 필수 항목입니다. 이 등록정보는 사용되는 인코딩의 유형을 지정합니다.

스키마

schema 객체는 데이터셋 필드와 필드 유형을 정의하는 필수 항목입니다.

구문예시
"schema" : {
 "fields" : {
  "name": "< fieldName >",
  "type" : "< esriFieldTypeString | 
     esriFieldTypeBigInteger | 
     esriFieldTypeDouble >"
 }
}
"schema" : {
 "fields":[
  {
   "name": "trackid",
   "type": "esriFieldTypeString"
  },
  {
   "name": "x",
   "type": "esriFieldTypeDouble"
  },
  {
   "name": "y",
   "type": "esriFieldTypeDouble"
  },
  {
   "name": "time",
   "type": "esriFieldTypeBigInteger"
  },
  {
   "name": "value",
   "type": "esriFieldTypeBigInteger"
  }
 ]
}

설명

  • fields - 스키마의 필드를 정의하는 필수 등록정보입니다.
  • name - 필드 이름을 나타내는 필수 등록정보입니다. 필드 이름은 데이터셋에서 고유해야 하며 영숫자 문자와 밑줄만 포함할 수 있습니다.
  • type - 필드의 유형을 정의하는 필수 등록정보입니다. 다음과 같은 방법을 사용할 수 있습니다.
    • esriFieldTypeInteger - 정수의 경우
    • esriFieldTypeSmallInteger - 정수의 경우
    • esriFieldTypeBigInteger - 정수의 경우 정수(Big) 필드는 피처 서비스에서 더블(double) 필드로 저장됩니다.
    • esriFieldTypeString - 문자열의 경우
    • esriFieldTypeDouble - 더블(double) 또는 플로트(Float)의 경우
    • esriFieldTypeDate - 데이터 필드가 있는 쉐이프파일의 경우 날짜를 나타내는 필드가 있는 구분된, ORC 및 parquet 데이터셋에는 esriFieldTypeString 필드로 표시한 날짜가 있어야 합니다.
    • esriFieldTypeSingle - 실수(Single)의 경우
    • esriFieldTypeBlob - 바이너리 값의 경우 Blob 필드는 피처 서비스에서 문자열 필드로 저장됩니다.
비고:

GeoAnalytics Tools를 통해 빅데이터 파일 공유를 분석하고 피처 서비스로 저장할 때 유형이 변경될 수 있습니다. 예를 들어 빅데이터 파일 공유의 esriFieldTypeBigInteger이(가) 피처 서비스의 esriFieldTypeDouble 필드가 됩니다.

지오메트리

geometry 객체는 선택 사항입니다. 데이터셋에 포인트, 폴리라인, 폴리곤 등의 공간 표현이 있는 경우 이 객체는 필수 항목입니다.

구문예시
"geometry" : {
 "geometryType" : "< esriGeometryType >",
 "spatialReference" : {
  "wkid": <wkidNum>,
  "latestwkid" : <latestWkidNum>
  },
 "fields": [
 {
  "name": "<fieldName1>",
  "formats": ["<fieldFormat1>"]
 },
 {
  "name": "<fieldName2>",
  "formats": ["<fieldFormat2>"]
 }
 ]
}

x 값과 y 값을 가진 구분된 파일이 사용된 예시:

"geometry" : {
 "geometryType" : "esriGeometryPoint",
 "spatialReference" : {
  "wkid": 3857
 },
 "fields": [
 {
  "name": "XValue",
  "formats": ["x"]
 },
 {
  "name": "YValue",
  "formats": ["y"]
 }
 ]
}

x 값, y 값, z 값을 가진 구분된 파일이 사용된 예시:

"geometry" : {
 "geometryType" : "esriGeometryPoint",
 "spatialReference" : {
  "wkid": 4326
 },
 "fields": [
 {
  "name": "Longitude",
  "formats": ["x"]
 },
 {
  "name": "Latitude",
  "formats": ["y"]
 },
 {
  "name": "Height",
  "formats": ["z"]
 }
 ]
}

.tsv 파일이 사용된 예시:

"geometry" : {
 "geometryType" : "esriGeometryPolygon",
 "dropSourceFields": true,
 "spatialReference" : {
  "wkid": 3857
 },
 "fields": [
 {
  "name": "Shapelocation",
  "formats": ["WKT"]
 }
 ]
}

설명

비고:

geometry 객체는 선택 사항이므로 아래에 나와 있는 등록정보는 지오메트리를 사용한다는 가정하에 필수 또는 선택 사항입니다.

  • geometryType - 필수 항목입니다. 다음과 같은 방법을 사용할 수 있습니다.
    • esriGeometryPoint
    • esriGeometryPolyline
    • esriGeometryPolygon
  • spatialReference - 데이터셋의 공간 기준 체계를 나타내는 필수 등록정보입니다.
    • wkid - 공간 기준 체계를 나타내는 필드입니다. 지오메트리가 포함된 데이터셋의 경우 wkid 또는 latestWkid은(는) 필수 항목입니다.
    • latestWkid - 지정된 소프트웨어 릴리즈의 공간 기준 체계를 나타내는 필드입니다. 지오메트리가 포함된 데이터셋의 경우 wkid 또는 latestWkid은(는) 필수 항목입니다.
  • fields - 공간 표현이 있는 구분된 데이터셋의 필수 등록정보입니다. 하나 이상의 필드 이름과 지오메트리의 형식을 나타냅니다.
    • name - 공간 표현이 있는 구분된 데이터셋의 필수 등록정보입니다. 지오메트리를 표현하는 데 사용되는 필드의 이름을 나타냅니다. 이 항목의 여러 인스턴스가 있을 수 있습니다.
    • formats - 공간 표현이 있는 구분된 데이터셋의 필수 등록정보입니다. 지오메트리를 표현하는 데 사용되는 필드의 형식을 나타냅니다. 이 항목의 여러 인스턴스가 있을 수 있습니다.
  • dropSourceFields - 지오메트리를 나타내는 필드가 있는 데이터셋의 선택적 등록정보입니다. 이 등록정보는 지오메트리를 지정하는 데 사용된 필드가 분석에서 필드로 사용되는지 여부를 나타냅니다. True로 설정되어 있으면 지오메트리에 사용되는 필드가 요약 통계와 같은 분석 필드로 보이지 않으며 도구를 실행할 때 삭제됩니다. 기본값은 false입니다. 이 등록정보는 쉐이프파일 데이터셋에서 설정할 수 없습니다.

시간

time 객체는 선택 사항입니다. 데이터셋에 시간 표현이 있는 경우에는 필수 항목입니다.

구문예시
"time" : {
 "timeType" : "< instant | interval >",
 "timeReference" : {
  "timeZone" : "<timeZone >"
  },
  "fields": [
  {
   "name": "<fieldName1>",
   "formats": ["<fieldFormat1>"]
   "role": "< start | end >"
  }
 ]
}

시간 필드에서 여러 형식의 인스턴트를 사용하는 예시:

"time": {
 "timeType": "instant",
 "timeReference": {"timeZone": "UTC"},
 "fields": [
 {
  "name": "iso_time",
  "formats": [
   "yyyy-MM-dd HH:mm:ss",
   "MM/dd/yyyy HH:mm"
   ]
  }
 ]
}

간격을 사용하는 예시(startTime에 여러 필드가 사용됨):

"time": {
 "timeType": "interval",
 "timeReference": {"timeZone": "-0900"},
 "dropSourceFields" : true,
 "fields": [
 {
  "name": "time_start",
  "formats": ["HH:mm:ss"],
  "role" : "start"
  },
 {
  "name": "date_start",
  "formats": ["yyyy-MM-dd"],
  "role" : "start"
  },
 {
  "name": "datetime_ending",
  "formats": ["yyyy-MM-dd HH:mm:ss"],
  "role" : "end"
  }
 ]
}

설명

비고:

time 객체는 선택 사항이므로 아래에 나와 있는 등록정보는 time을 사용한다는 가정하에 필수 또는 선택 사항입니다.

  • timeType - 데이터셋에 시간이 포함되어 있는 경우 시간 유형은 필수 항목입니다. 다음과 같은 방법을 사용할 수 있습니다.
    • instant - 시간의 단일 시점
    • interval - 시작 시간과 중지 시간으로 표현되는 시간 간격
  • timeReference - 데이터셋에서 시간이 활성화된 경우 필수 필드이며, 표준 시간대(timeZone)를 나타냅니다.
    • timeZone - 데이터의 표준 시간대 형식을 나타내는 timeReference의 필수 필드입니다. 표준 시간대는 Joda-Time을 기반으로 합니다. Joda-Time 형식에 대한 자세한 내용은 Joda-Time 사용 가능 표준 시간대를 참고하세요. timeZone은 다음과 같이 형식을 지정할 수 있습니다.
      • 표준 시간대의 전체 이름 사용: Pacific Standard Time
      • 시간으로 표현된 표준 시간대 오프셋 사용: -0100 또는 -01:00
      • UTC 또는 GMT에 대한 표준 시간대 약어만 사용할 수 있습니다. 그 외의 경우에는 전체 이름 또는 시간 오프셋을 사용하세요.
  • fields - 시간의 형식과 필드 이름을 나타내는 필수 필드입니다. fields의 필수 등록정보는 다음과 같습니다.
    • name - 시간을 표현하는 데 사용되는 필드의 이름을 나타내는 필수 필드입니다. 이 개체의 여러 인스턴스가 있을 수 있습니다.
    • formats - 시간을 표현하는 데 사용되는 필드의 형식을 나타내는 필수 필드입니다. 위에 나와 있는 것처럼 단일 필드에 여러 형식이 있을 수 있습니다. 이 개체의 여러 인스턴스가 있을 수 있습니다. 필드 형식을 지정하는 방법을 알아보려면 시간 형식을 참고하세요.
    • role - timeTypeinterval일 때 필수 필드입니다. 시간 간격의 startTime 또는 endTime을 나타낼 수 있습니다.
  • dropSourceFields - 시간을 나타내는 필드가 있는 데이터셋의 선택적 등록정보입니다. 이 등록정보는 시간을 지정하는 데 사용된 필드가 분석에서 필드로 사용되는지 여부를 나타냅니다. True로 설정되어 있으면 시간에 사용되는 필드가 요약 통계와 같은 분석 필드로 보이지 않으며 도구를 실행할 때 삭제됩니다. 기본값은 false입니다.