Skip To Content

ビッグ データ ファイル共有の出力テンプレート

ビッグ データ ファイル共有は、ArcGIS Server Manager を介して、データ ストアとして登録されます。ビッグ データ ファイル共有は、ビッグ データ ファイル共有マニフェストと、ビッグ データ ファイル共有の場所に結果を書き込むためのテンプレートを使用して、入力データセットの概要を示します。ビッグ データ ファイル共有に結果を書き戻すと、ビッグ データ ファイル共有は自動的に更新され、新しい出力データセットが入力データセットとして含まれます。このトピックでは、出力テンプレートの書式設定と設定可能な値について説明します。ビッグ データ ファイル共有の概要、および入力データセット、出力テンプレート、ヒント ファイルの仕組みについては、「ビッグ データ ファイル共有の基本操作」をご参照ください。

メモ:

このトピックでは、出力テンプレートの編集について説明します。区切りファイルに対するヒント ファイルの適用については、「ヒント ファイルについて」をご参照ください。

出力テンプレートは、もう 1 つのテンプレートで構成されています。テンプレートの数は、出力結果の保存に使用するファイルのタイプと書式設定によって異なります。次の例では、3 つの出力テンプレートについて説明します。

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

各テンプレートには、適用可能な 5 つの最上位オブジェクトが存在します。これらのオブジェクトのうち、nametitle、および 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"
}

パーケット ファイルを使用した例:

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

ORC ファイルを使用した例:

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

説明

  • type - 出力データ タイプを定義する必須プロパティ。delimitedshapefileparquet、または orc のいずれかです。
  • extension - 区切り文字で区切られたファイルのファイル拡張子を示す必須プロパティ。
  • fieldDelimiter - typedelimited の場合にのみ使用される必須フィールドです。このフィールドは、区切りファイルでのフィールドの区切り文字を表します。
  • recordTerminator - Linux では \n、Windows では \r\n に常に設定されます。このオプションを変更しても、デフォルト値がそのまま使用されます。
  • quoteChar - typedelimited の場合にのみ必須です。この文字は、区切りファイルでの引用符に使用する文字列を表します。
  • delimited.write.header - typedelimited の場合にのみ必須です。このプロパティは、区切り文字で区切られたファイルの最初の行がフィールド名かどうかを指定します。
  • encoding - 常に UTF-8 に設定されます。このオプションを変更しても、デフォルト値がそのまま使用されます。
  • dateFields - date タイプのフィールドの書式設定。これらは、フィーチャの時間 (即時または間隔) を表していないフィールドです。日付フィールドの書式設定については、「時間形式」をご参照ください。

ArcGIS Server Manager で、区切り文字で区切られたファイルの設定を作成することはできません。区切り文字で区切られたファイルの設定を変更するには、GeoAnalytics Server の Administrator Directory に移動して、[data] > [items] > [bigDataFileShares] とビッグ データ ファイル共有をクリックし、[edit] をクリックしてテンプレートを編集します。内容を変更して [update] をクリックします。

ジオメトリ

geometry オブジェクトはオプションです。このオプションが指定されていない場合、ジオメトリ フィールドは、区切り文字で区切られたファイル、ORC ファイル、およびパーケット ファイルに格納されているポイントの場合は XYZ で書き込まれ、区切り文字で区切られたファイル、ORC ファイル、およびパーケット ファイル内のラインおよびポリゴンの場合は 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 - これは必須です。出力ジオメトリのエンコード方法を指定します。このプロパティは、ジオメトリ タイプとジオメトリが書き込まれるフィールド の 2 つで構成されます。
    • types - このエンコーディングで指定されているジオメトリ タイプ。オプションには次のものがあります。
      • esriGeometryPoint
      • esriGeometryPolyline
      • esriGeometryPolygon
    • fields - これは必須です。ジオメトリの結果の格納に使用する 1 つ以上のフィールドの name、およびジオメトリが格納されているフィールドの formats を指定します。
      • name - 出力データセットのジオメトリに使用されたフィールドに名前を設定する必須プロパティ。ジオメトリの表現に使用されるフィールドの名前を示します。このプロパティのインスタンスは複数存在することがあります。
      • formats - 空間的な表現を含む区切りデータセットの必須プロパティ。ジオメトリの表現に使用されるフィールドの形式を示します。これには、複数の形式があります。シェープファイルのジオメトリ フィールドは指定できません。サポートされている書式設定タイプとしては、次のものがあります。
        • WKT - 区切り文字で区切られたファイル、ORC ファイル、およびパーケット ファイルとして格納されているラインおよびポリゴンのデフォルト値。
        • GeoJSON
        • EsriJSON
        • XYZ - 区切り文字で区切られたファイル、ORC ファイル、およびパーケット ファイルとして格納されているポイントのデフォルト値。
        • EsriShape - このオプションは、ORC ファイルおよびパーケット ファイルにのみ利用できます。
        • WKB - このオプションは、ORC ファイルおよびパーケット ファイルにのみ利用できます。

現在の時間

time オブジェクトはオプションです。このオプションが指定されておらず、結果が時間対応の場合は、デフォルト値が使用されます。

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

時間フィールドに複数の形式でインスタント (instant) を使用した例:

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

startTime に複数のフィールドを使用して間隔 (interval) を使用した例:

"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 - 時間を書式設定する場合、このオプションは必須です。出力時間のエンコード方法を指定します。このプロパティは、時間タイプと時間が書き込まれるフィールド の 2 つで構成されます。
    • types - このエンコーディングで指定されているジオメトリ タイプ。オプションには次のものがあります。
      • Instant - 一瞬の時間。
      • Interval - 開始時間と終了時間で表される時間間隔。
    • fields - これは必須です。時間の結果の格納に使用する 1 つ以上のフィールドの name、および時間が格納されているフィールドの formats を指定します。
      • name - 出力データセットの時間に使用されたフィールドに名前を設定する必須プロパティ。時間の表現に使用されるフィールドの名前を示します。このプロパティのインスタンスは複数存在することがあります。
      • formats - 時間の表現に使用されるフィールドの形式を示す必須フィールド。1 つのフィールドで複数の形式が使用されることがあります (上記を参照)。このオブジェクトのインスタンスは複数存在することがあります。フィールドがどのような形式をとるかについては、「ビッグ データ ファイル共有のマニフェストでの時間形式」をご参照ください。
    • role - timeTypeinterval の場合の必須フィールド。時間間隔の startTime または endTime を表します。
  • timeReference -データセットが時間対応である場合に、タイム ゾーン (timeZone) を示す必須フィールド。
    • timeZone - データのタイム ゾーン形式を示す、timeReference のオプション フィールド。timeZone は、次のような形式をとります。
      • タイム ゾーンの完全名を使用: Pacific Standard Time
      • タイム ゾーンの省略名を使用: PST
      • タイムゾーンのオフセット (時) を使用: -0900