Skip To Content

빅데이터 파일 공유의 결과 템플릿

빅데이터 파일 공유는 ArcGIS Server Manager를 통해 데이터 저장소로 등록됩니다. 빅데이터 파일 공유는 빅데이터 파일 공유 매니페스트를 사용하여 입력 데이터셋을 요약하고, 빅데이터 파일 공유 위치에 결과를 다시 작성하는 데 필요한 템플릿을 제공합니다. 빅데이터 파일 공유에 결과를 다시 작성하면 빅데이터 파일 공유가 새 결과 데이터셋을 입력 데이터셋으로 포함하도록 자동 업데이트됩니다. 이 항목에서는 결과 템플릿의 형식 지정 및 가능한 값에 대해 설명합니다. 빅데이터 파일 공유의 개요와 입력 데이터셋, 결과 템플릿, 힌트 파일의 작업 방법은 빅데이터 파일 공유 시작하기를 참고하세요.

비고:

이 항목은 결과 템플릿 편집에 관한 내용입니다. 구분된 파일에 대해 힌트 파일을 적용하는 방법에 대한 자세한 내용은 힌트 파일 이해를 참고하세요.

결과 템플릿은 하나 이상의 템플릿으로 구성됩니다. 템플릿의 수는 결과물 결과를 저장하는 데 사용할 파일 유형 및 형식에 따라 다릅니다. 다음 예시에는 3개의 결과 템플릿이 있습니다.

"outputTemplates":[
  {.. template1 ..},
  {.. template2 ..},
  {.. template3 ..}
]

각 템플릿에는 적용할 수 있는 5개의 최상위 객체가 있습니다. 이러한 개체 중 name, title, format이(가) 필수 항목입니다.

{
 "name": "ExampleTemplate", "title": "My Example Template", "format": {}, "geometry": {}, "time": {}
}

이름

name 개체는 데이터셋 이름을 정의하며 필수 항목입니다. 이름은 매니페스트 내에서 고유해야 하며 특수 문자를 포함할 수 없습니다.

제목

title 객체는 필수 항목이며 도구를 실행할 때 표시되는 제목을 정의합니다. 제목은 매니페스트 내에서 고유해야 하며 공백을 포함할 수 있습니다.

형식

format 객체는 필수 항목이며 결과 파일 유형과 해당 형식을 정의합니다.

구문사례
"format" : {
 "type" :  "< delimited | shapefile | orc | parquet >",
 "extension" : "< csv | tsv | shp | orc | parquet >",
 "fieldDelimiter" : "< delimiter >",
 "recordTerminator: "< terminator >",
 "quoteChar":  "< character for quotes>",
 "delimited.write.header" :  < true | false >, 
 "encoding" : "< encoding format >",
 "dateFields" : "< date format >"
}

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

"format" : {
 "type": "shapefile", "extension": "shp", "dateFields": "YYYY/MM/dd HH:mm:ss"
}

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

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

Parquet 파일을 사용하는 예시:

"format" : {
 "type": "parquet"
}

ORC 파일을 사용하는 예시:

"format" : {
 "type": "orc"
}

설명

  • type결과 데이터 유형을 정의하는 필수 등록정보입니다. delimited, shapefile, parquet 또는 orc일 수 있습니다.
  • extension - 구분된 파일의 파일 확장자를 나타내는 필수 등록정보입니다.
  • fieldDelimiter - typedelimited일 때만 사용되는 필수 항목입니다. 이 필드는 구분된 파일에서 필드를 구분하는 항목을 나타냅니다.
  • recordTerminator - 이 항목은 항상 Linux에서 \n 으로 설정되며 Windows에서는 \r\n 으로 설정됩니다. 이 옵션을 수정하는 경우 해당 기본값이 계속 사용됩니다.
  • quoteChar - type이(가) delimited일 때만 필수 항목입니다. 문자는 구분된 파일에서 따옴표를 지정하는 방법을 나타냅니다.
  • delimited.write.header - type이(가) delimited일 때만 필수 항목입니다. 이 등록정보는 구분된 파일의 첫 번째 행이 필드 이름인지 여부를 지정합니다.
  • encoding - 이 항목은 항상 UTF-8로 설정됩니다. 이 옵션을 수정하는 경우 해당 기본값이 계속 사용됩니다.
  • dateFields - date유형 필드의 형식이 지정되는 방법입니다. 피처 시간(인스턴트 또는 간격)을 나타내지 않는 필드입니다. 데이터 필드 형식 지정에 대해 자세히 알아보려면 시간 형식을 참고하세요.

구분된 파일 설정은 ArcGIS Server Manager를 통해 생성할 수 없습니다. 구분된 파일 설정을 수정하려면 GeoAnalytics Server의 관리자 디렉터리로 이동하여 데이터 > 항목 > bigDataFileShares 및 빅데이터 파일 공유를 클릭하고 편집을 클릭하여 템플릿을 편집합니다. 항목을 변경하고 업데이트를 클릭합니다.

지오메트리

geometry 객체는 선택 사항입니다. 지오메트리가 제공되지 않는 경우 지오메트리 필드는 구분된 파일, ORC 및 Parquet 파일에 저장된 포인트에 대해 XYZ로 작성되며 구분된 파일, ORC 및 Parquet 파일의 라인과 폴리곤에 대해 WKT로 작성됩니다. 쉐이프파일의 경우 필드는 쉐이프 필드에 작성됩니다.

구문사례
"geometry" : {
 "spatialReference" : {
  "wkid": <wkidNum>,
  "latestwkid" : <latestWkidNum>
  },
 "encodings":[
 {
  "types" : ["< esriGeometryType >"],
  "fields" [
   {
    "name": "<fieldName1>",
    "formats": ["<fieldFormat1>"]
   },
   {
    "name": "<fieldName2>",
    "formats": ["<fieldFormat2>"]
   }
  },
 {...}
 ]
}

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

"geometry" : {
 "spatialReference" : {
  "wkid": 3857 }, "encodings": [{
		"types": ["esriGeometryPoint"],		"fields": [{
				"name": "XValue",				"formats": ["x"]			},			{
				"name": "YValue",				"formats": ["y"]			}
		]	},	{
		"types": ["esriGeometryPolyline",			"esriGeometryPolygon"
		],		"fields": [{
			"name": "geometry",			"formats": ["geojson"]		}]	}
]  
}

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

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

.tsv 파일이 사용된 예시:

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

설명

비고:

위의 테이블에서는 geometry 객체를 지정하지 않은 경우 지오메트리 및 파일 유형에 따라 해당 객체의 기본 옵션을 간략히 설명합니다. 다음 등록정보는 지오메트리를 사용한다는 가정하에 필수 항목 또는 선택 사항입니다.

  • spatialReference - 결과 데이터셋의 공간 참조를 나타내는 필수 등록정보입니다.
    • wkid - 공간 참조를 나타내는 필드입니다. 지오메트리가 포함된 데이터셋의 경우 wkid 또는 latestWkid는 필수 항목입니다.
    • latestWkid - 지정된 소프트웨어 릴리스의 공간 참조를 나타내는 필드입니다. 지오메트리가 포함된 데이터셋의 경우 wkid 또는 latestWkid는 필수 항목입니다.
  • encodings - 필수 항목입니다. 결과 지오메트리를 인코딩하는 방법을 지정합니다. 등록정보는 두 부분으로 구성됩니다(지오메트리 유형 및 지오메트리가 작성될 필드).
    • types - 이 인코딩에 지정된 지오메트리 유형입니다. 다음과 같은 방법을 사용할 수 있습니다.
      • esriGeometryPoint
      • esriGeometryPolyline
      • esriGeometryPolygon
    • fields - 필수 항목입니다. 이 항목은 지오메트리 결과를 저장하는 사용될 하나 이상 필드의 name과 지오메트리가 저장된 필드의 formats으로 지정됩니다.
      • name - 결과 데이터셋의 지오메트리에 사용된 필드 이름을 지정하는 필수 등록정보입니다. 지오메트리를 표현하는 데 사용되는 필드의 이름을 나타냅니다. 이 항목의 여러 인스턴스가 있을 수 있습니다.
      • formats - 공간 표현이 있는 구분된 데이터셋의 필수 등록정보입니다. 지오메트리를 표현하는 데 사용되는 필드의 형식을 나타냅니다. 여러 형식이 있을 수 있습니다. 쉐이프파일의 지오메트리 필드는 지정할 수 없습니다. 다음과 같은 파일 유형이 지원됩니다.
        • WKT - 구분된 파일, ORC 및 Parquet 파일로 저장된 라인 및 폴리곤의 기본값입니다.
        • GeoJSON
        • EsriJSON
        • X, Y,Z - 구분된 파일, ORC 및 Parquet 파일로 저장된 포인트의 기본값입니다.
        • EsriShape - 이 옵션은 ORC 및 Parquet 파일에만 사용할 수 있습니다.
        • WKB - 이 옵션은 ORC 및 Parquet 파일에만 사용할 수 있습니다.

시간

time 객체는 선택 사항입니다. 시간이 지정되지 않고 결과에 시간이 지원되는 경우 기본값이 사용됩니다.

구문사례
"time" : {
 "timeReference" : {
  "timeZone" : "<timeZone >"
  },
 "encodings":[{
  "types" : ["< instant | interval >",]
  "fields": [
  {
   "name": "<fieldName1>",
   "formats": ["<fieldFormat1>"],
   "role": "< start | end >"
  }
 ]
}]
}

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

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

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

"time": {
	"timeReference": {
		"timeZone": "-0900"
	},	"encodings": [{
		"types": ["interval"],		"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"
			}
		]	},{
		"types": ["instant"],		"fields": [{
				"name": "time",				"formats": ["HH:mm:ss"],				"role": "start"
			},			{
				"name": "date",				"formats": ["yyyy-MM-dd"]			}
		]	}]
}

설명

비고:

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

  • encodings - 시간 형식을 지정하는 경우에 필요합니다(필수). 결과 시간을 인코딩하는 방법을 지정합니다. 등록정보는 두 부분으로 구성됩니다(시간 유형 및 시간이 작성될 필드).
    • types - 이 인코딩에 지정된 지오메트리 유형입니다. 다음과 같은 방법을 사용할 수 있습니다.
      • Instant - 시간의 단일 시점
      • Interval - 시작 시간과 중지 시간으로 표현되는 시간 간격
    • fields - 필수 항목입니다. 이 항목은 시간 결과를 저장하는 사용될 하나 이상 필드의 name과 시간이 저장된 필드의 formats으로 지정됩니다.
      • name - 결과 데이터셋의 시간에 사용된 필드 이름을 지정하는 필수 등록정보입니다. 시간을 표현하는 데 사용되는 필드의 이름을 나타냅니다. 이 항목의 여러 인스턴스가 있을 수 있습니다.
      • formats - 시간을 표현하는 데 사용되는 필드의 형식을 나타내는 필수 필드입니다. 위에 나와 있는 것처럼 단일 필드에 여러 형식이 있을 수 있습니다. 이 객체의 다중 인스턴스가 있을 수 있습니다. 필드 형식을 지정하는 방법은 빅데이터 파일 공유 매니페스트의 시간 형식을 참고하세요.
    • role - timeType이(가) interval일 때 필수 필드입니다. 시간 간격의 startTime 또는 endTime을(를) 나타낼 수 있습니다.
  • timeReference - 데이터셋에서 시간이 활성화된 경우 필수 필드이며, 표준 시간대(timeZone)를 나타냅니다.
    • timeZone - 데이터의 표준 시간대 형식을 나타내는 timeReference의 선택적 필드입니다. timeZone은 다음과 같이 형식을 지정할 수 있습니다.
      • 표준 시간대의 전체 이름 사용: Pacific Standard Time
      • 표준 시간대의 약어 사용: PST
      • 시간에 표준 시간대 오프셋 사용: -0900