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 (名前)

name オブジェクトは必須であり、データセットの名前を定義します。これはマニフェスト内で一意である必要があります。

format (形式)

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 になり、区切りファイルではデータのファイル拡張子 (csvtsv など) が使用されます。
  • fieldDelimiter - typedelimited の場合は必須です。このフィールドは、区切りファイルでのフィールドの区切り文字を表します。
  • recordTerminator - typedelimited の場合にのみ必須です。このフィールドは、区切りファイルでのフィーチャの終了文字列を表します。
  • quoteChar - typedelimited の場合にのみ必須です。この文字は、区切りファイルでの引用符に使用する文字列を表します。
  • hasHeaderRow - typedelimited の場合にのみ必須です。区切りファイルの最初の行をヘッダーとして扱うか、最初のフィーチャとして扱うかを指定します。
  • encoding - typedelimited の場合にのみ必須です。使用されるエンコーディングのタイプを指定します。

schema (スキーマ)

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 - 日付フィールドを含むシェープファイル用。日付を表すフィールドを含む区切りデータセットには、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 オブジェクトはオプションです。時間的な表現がデータセットに含まれている場合は必須です。

構文
"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"}, "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 - 時間の表現に使用されるフィールドの形式を示す必須フィールド。1 つのフィールドで複数の形式が使用されることがあります (上記を参照)。このオブジェクトのインスタンスは複数存在することがあります。フィールドがどのような形式をとるかについては、「ビッグ データ ファイル共有のマニフェストでの時間形式」をご参照ください。
    • role - timeTypeinterval の場合の必須フィールド。時間間隔の startTime または endTime を表します。