Skip To Content

ビッグ データ ファイル共有のマニフェストについて

ビッグ データ ファイル共有は、ArcGIS Server Manager を介して、データ ストアとして登録されます。ビッグ データ ファイル共有には、データのスキーマと、データセット内のジオメトリと時間を表すフィールドの概要を示すマニフェストが必要です。ビッグ データ ファイル共有を登録するとマニフェストが自動的に生成されますが、データに対して変更が行われた場合や必要なすべての情報をマニフェストの生成時に決定できなかった場合 (自動生成されたマニフェストでジオメトリまたは時間に対応する正確なフィールドが選択されなかった場合など) は修正が必要とされることもあります。

メモ:

ビッグ データ ファイル共有の編集は、高度なオプションです。マニフェスト内の個々のデータに変更を適用する手順の詳細については、「ArcGIS Server Manager でのビッグ データ ファイル共有のマニフェストの編集」をご参照ください。区切りファイルに対するヒント ファイルの適用については、「ヒント ファイルについて」をご参照ください。

マニフェストはデータセットから構成されます。データセットの数は、ビッグ データ ファイル共有に含まれるフォルダーの数によって決まります。次の例では、5 つのデータセットが記述されています。

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

各データセットの内部には、適用可能な 5 つの最上位オブジェクトが存在します。これらのオブジェクトのうち、nameformat、および 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 - ソース データを定義する必須プロパティ。delimitedshapefileparquet、または orc のいずれかです。
  • extension - ファイル拡張子を示す必須プロパティ。シェープファイルの場合、shp になります。区切りファイルはデータのファイル拡張子 (csvtsv など) を使用し、ORC ファイルは orc を使用し、パーケット ファイルは 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 - フィールドのタイプを定義する必須プロパティです。オプションには次のものがあります。
    • esriFieldTypeString - 文字列
    • esriFieldTypeDouble - 倍精度または浮動小数点
    • esriFieldTypeBigInteger - 整数
    • esriFieldTypeDate - 日付フィールドを含むシェープファイル用。日付を表すフィールドを含む区切りデータセット、ORC データセット、およびパーケット データセットには、esriFieldTypeString フィールドで表される日付が必要です。

Geometry

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 >"
  }
 ]
}

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

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

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

"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 - 時間の表現に使用されるフィールドの形式を示す必須フィールド。1 つのフィールドで複数の形式が使用されることがあります (上記を参照)。このオブジェクトのインスタンスは複数存在することがあります。フィールドがどのような形式をとるかについては、「ビッグ データ ファイル共有のマニフェストでの時間形式」をご参照ください。
    • role - timeTypeinterval の場合の必須フィールド。時間間隔の startTime または endTime を表します。
  • dropSourceFields - 時間を表すフィールドを含むデータセットのオプションのプロパティです。これは、時間を指定するために使用されるフィールドが、解析でフィールドとして使用されるかどうかを示します。これを True に設定した場合、時間に使用されるフィールドは、(統計情報のサマリーのように) 解析フィールドとして表示されず、ツールの実行時に削除されます。デフォルトは false です。