Skip To Content

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

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

참고 사항:

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

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

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

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

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

이름

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

형식

format 개체는 입력 데이터의 유형과 해당 형식을 정의하며 필수 항목입니다.

구문예시
"format" : {
 "type" :  "< delimited | shapefile>",
 "extension" : "< csv | tsv | shp >",
 "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일 수 있습니다.
  • extension - 파일 확장자를 나타내는 필수 등록정보입니다. 쉐이프파일의 경우에는 shp(이)고 구분된 파일의 경우 csv, tsv 등의 데이터 파일 확장자를 사용합니다.
  • fieldDelimiter - type이(가) delimited(이)면 필수 항목입니다. 이 필드는 구분된 파일에서 필드를 구분하는 항목을 나타냅니다.
  • recordTerminator - type이(가) delimited일 때만 필수 항목입니다. 이 필드는 구분된 파일에서 피처를 종료하는 항목을 나타냅니다.
  • quoteChar - type이(가) delimited일 때만 필수 항목입니다. 문자는 구분된 파일에서 따옴표를 지정하는 방법을 나타냅니다.
  • hasHeaderRow - type이(가) delimited일 때만 필수 항목입니다. 이 필드는 구분된 파일의 첫 행을 헤더로 처리할지 아니면 첫 번째 피처로 처리할지를 지정합니다.
  • encoding - type이(가) delimited일 때만 필수 항목입니다. 이 필드는 사용되는 인코딩의 유형을 지정합니다.

스키마

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 - 필드의 유형을 정의하는 필수 등록정보입니다. 다음과 같은 방법을 사용할 수 있습니다.
    • esriFieldTypeString - 문자열의 경우
    • esriFieldTypeDouble - 더블(double) 또는 플로팅의 경우
    • esriFieldTypeBigInteger - 정수의 경우
    • esriFieldTypeDate - 데이터 필드가 있는 쉐이프파일의 경우 날짜를 나타내는 필드가 있는 구분된 데이터셋에는 esriFieldTypeString 필드로 표시한 날짜가 있어야 합니다.

지오메트리

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

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

.csv 파일을 사용하는 예시:

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

.tsv 파일을 사용하는 예시:

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

설명

참고 사항:

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

  • geometryType - 필수 항목입니다. 다음과 같은 방법을 사용할 수 있습니다.
    • esriGeometryPoint
    • esriGeometryPolyline
    • esriGeometryPolygon
  • spatialReference - 데이터셋의 공간 참조를 나타내는 필수 등록정보입니다.
    • wkid - 공간 참조를 나타내는 필드입니다. 지오메트리가 포함된 데이터셋의 경우 wkid 또는 latestWkid은(는) 필수 항목입니다.
    • latestWkid - 지정된 소프트웨어 릴리스의 공간 참조를 나타내는 필드입니다. 지오메트리가 포함된 데이터셋의 경우 wkid 또는 latestWkid은(는) 필수 항목입니다.
  • fields - 공간 표현이 있는 구분된 데이터셋의 필수 등록정보입니다. 하나 이상의 필드 이름과 지오메트리의 형식을 나타냅니다.
    • name - 공간 표현이 있는 구분된 데이터셋의 필수 등록정보입니다. 지오메트리를 표현하는 데 사용되는 필드의 이름을 나타냅니다. 이 항목의 여러 인스턴스가 있을 수 있습니다.
    • formats - 공간 표현이 있는 구분된 데이터셋의 필수 등록정보입니다. 지오메트리를 표현하는 데 사용되는 필드의 형식을 나타냅니다. 이 항목의 여러 인스턴스가 있을 수 있습니다.

시간

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"}, "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의 필수 필드입니다. timeZone은(는) 다음과 같이 형식을 지정할 수 있습니다.
      • 표준 시간대의 전체 이름 사용: Pacific Standard Time
      • 표준 시간대의 약어 사용: PST
  • fields - 시간의 형식과 필드 이름을 나타내는 필수 필드입니다. fields의 필수 등록정보는 다음과 같습니다.
    • name - 시간을 표현하는 데 사용되는 필드의 이름을 나타내는 필수 필드입니다. 이 개체의 여러 인스턴스가 있을 수 있습니다.
    • formats - 시간을 표현하는 데 사용되는 필드의 형식을 나타내는 필수 필드입니다. 위에 나와 있는 것처럼 단일 필드에 여러 형식이 있을 수 있습니다. 이 개체의 여러 인스턴스가 있을 수 있습니다. 필드의 형식을 지정하는 방법은 빅데이터 파일 공유 매니페스트의 시간 형식을 참고하세요.
    • role - timeType이(가) interval일 때 필수 필드입니다. 시간 간격의 startTime 또는 endTime을(를) 나타낼 수 있습니다.