Skip To Content

Manifest zur Big-Data-Dateifreigabe

Big-Data-Dateifreigaben werden als Data Store über ArcGIS Server Manager registriert und erfordern ein Manifest, um das Schema der Daten sowie die Felder zur Darstellung von Geometrie und Zeit in einem Dataset zu beschreiben. Das Manifest wird beim Registrieren einer Big-Data-Dateifreigabe automatisch erstellt, Sie müssen jedoch möglicherweise Änderungen vornehmen, wenn sich Ihre Daten ändern oder wenn anhand der Manifesterstellung nicht alle erforderlichen Informationen ermittelt werden konnten (das automatisch erstellte Manifest hat beispielsweise nicht das richtige Feld für die Geometrie oder Zeit ausgewählt).

Hinweis:

Das Bearbeiten der Big-Data-Dateifreigabe ist eine erweiterte Option. Weitere Informationen zum Ändern einzelner Datasets im Manifest finden Sie unter Bearbeiten von Manifesten zur Big-Data-Dateifreigabe in Manager. Weitere Informationen zum Anwenden einer Hint-Datei für Dateien mit Trennzeichen finden Sie unter Hint-Dateien.

Das Manifest besteht aus Datasets. Die Anzahl der Datasets hängt von der Anzahl der Ordner ab, die in der Big-Data-Dateifreigabe enthalten sind. Im folgenden Beispiel sind fünf Datasets verfügbar:

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

Jedes Dataset weist fünf Objekte der obersten Ebene auf, die angewendet werden können. Von diesen Objekten sind name, format und schema erforderlich.

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

Name

Das name-Objekt ist erforderlich und definiert den Namen des Datasets. Dieser muss im Manifest eindeutig sein.

Format

Das format-Objekt ist erforderlich und definiert den Eingabedatentyp und dessen Format.

SyntaxBeispiel
"format" : {
 "type" :  "< delimited | shapefile>",
 "extension" : "< csv | tsv | shp >",
 "fieldDelimiter" : "< delimiter >",
 "recordTerminator: "< terminator >",
 "quoteChar":  "< character for quotes>",
 "hasHeaderRow" :  < true | false >, 
 "encoding" : "< encoding format >"
}

Beispiel für die Verwendung eines Shapefiles:

"format" : {
 "type": "shapefile", "extension": "shp"
}

Beispiel für die Verwendung einer durch Trennzeichen getrennten Datei:

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

Beschreibung

  • type: Eine erforderliche Eigenschaft, die die Quelldaten definiert. Hierbei kann es sich um delimited oder shapefile handeln.
  • extension: Eine erforderliche Eigenschaft, die eine Dateierweiterung angibt. Für Shapefiles lautet diese shp, während durch Trennzeichen getrennte Dateien die Dateierweiterung der Daten verwenden (z. B. csv oder tsv).
  • fieldDelimiter: Dies ist erforderlich, wenn type delimited entspricht. In diesem wird dargestellt, wodurch Felder in der durch Trennzeichen getrennten Datei getrennt werden.
  • recordTerminator: Dies ist nur dann erforderlich, wenn type delimited entspricht. In diesem Feld wird dargestellt, wodurch Features in der durch Trennzeichen getrennten Datei beendet werden.
  • quoteChar: Dies ist nur dann erforderlich, wenn type delimited entspricht. Das Zeichen zeigt an, wie Anführungszeichen in der durch Trennzeichen getrennten Datei angegeben werden.
  • hasHeaderRow: Dies ist nur dann erforderlich, wenn type delimited entspricht. Hiermit wird festgelegt, ob die erste Zeile in einer durch Trennzeichen getrennten Datei als Kopfzeile oder als erstes Feature behandelt werden soll.
  • encoding: Dies ist nur dann erforderlich, wenn type delimited entspricht. Dies gibt die Art der verwendeten Encodierung an.

Schema

Das schema-Objekt ist erforderlich und definiert die Felder und den Feldtyp der Eingabedaten.

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

Beschreibung

  • fields: Eine erforderliche Eigenschaft, die die Felder im Schema definiert.
  • name: Eine erforderliche Eigenschaft, die den Feldnamen angibt. Der Feldname muss für das Dataset eindeutig sein und darf nur alphanumerische Zeichen und Unterstriche enthalten.
  • type: Dies ist eine erforderliche Eigenschaft, die den Feldtyp definiert. Die folgenden Optionen sind verfügbar:
    • esriFieldTypeString: für Zeichenfolgen
    • esriFieldTypeDouble: für Double- oder Float-Felder
    • esriFieldTypeBigInteger: für Integer-Werte
    • esriFieldTypeDate: für Shapefiles mit Datumsfeldern Durch Trennzeichen getrennte Datasets mit Feldern, die Datumsangaben repräsentieren, müssen durch ein esriFieldTypeString-Feld dargestellt werden.

Geometrie

Das geometry-Objekt ist optional. Es ist erforderlich, wenn ein Dataset eine räumliche Darstellung wie einen Punkt, eine Polylinie oder ein Polygon aufweist.

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

Beispiel für die Verwendung einer CSV-Datei:

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

Beispiel für die Verwendung einer TSV-Datei:

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

Beschreibung

Hinweis:

Da das geometry-Objekt optional ist, sind die folgenden Eigenschaften als erforderlich oder optional aufgeführt, wobei vorausgesetzt wird, dass eine Geometrie verwendet wird:

  • geometryType: Dies ist erforderlich. Die folgenden Optionen sind verfügbar:
    • esriGeometryPoint
    • esriGeometryPolyline
    • esriGeometryPolygon
  • spatialReference: Eine erforderliche Eigenschaft, die den Raumbezug des Datasets angibt.
    • wkid: Ein Feld, das den Raumbezug angibt, wobei wkid oder latestWkid für ein Dataset mit einer Geometrie erforderlich ist.
    • latestWkid: Ein Feld, das den Raumbezug in einer angegebenen Softwareversion angibt, wobei wkid oder latestWkid für ein Dataset mit Geometrie erforderlich ist.
  • fields: Eine erforderliche Eigenschaft für durch Trennzeichen getrennte Datasets mit einer räumlichen Darstellung. Gibt den/die Feldnamen und die Formate der Geometrie an.
    • name: Eine erforderliche Eigenschaft für durch Trennzeichen getrennte Datasets mit einer räumlichen Darstellung. Dies gibt den Namen des Feldes an, das zur Darstellung der Geometrie verwendet wird. Hiervon können mehrere Instanzen vorhanden sein.
    • formats: Eine erforderliche Eigenschaft für durch Trennzeichen getrennte Datasets mit einer räumlichen Darstellung. Dies gibt das Format des Feldes an, das zur Darstellung der Geometrie verwendet wird. Hiervon können mehrere Instanzen vorhanden sein.

Zeit

Das time-Objekt ist optional. Dies ist erforderlich, wenn ein Dataset eine zeitliche Darstellung aufweist.

SyntaxBeispiel
"time" : {
 "timeType" : "< instant | interval >",
 "timeReference" : {
  "timeZone" : "<timeZone >"
  },
  "fields": [
  {
   "name": "<fieldName1>",
   "formats": ["<fieldFormat1>"]
   "role": "< start | end >"
  }
 ]
}

Beispiel für die Verwendung einer Instanz mit mehreren Formaten in den Zeitfeldern:

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

Beispiel für die Verwendung eines Intervalls mit mehreren Feldern für 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"
  }
 ]
}

Beschreibung

Hinweis:

Da das time-Objekt optional ist, sind die folgenden Eigenschaften als erforderlich oder optional aufgeführt, wobei vorausgesetzt wird, dass time verwendet wird:

  • timeType: Der Zeittyp ist erforderlich, wenn das Dataset Zeitangaben enthält. Die folgenden Optionen sind verfügbar:
    • instant: Für einen einzelnen Zeitpunkt
    • interval: Für ein Zeitintervall, das durch eine Start- und Endzeit dargestellt wird
  • timeReference: Ein erforderliches Feld (wenn das Dataset zeitaktiviert ist), das die Zeitzone angibt (timeZone).
    • timeZone: Ein erforderliches Feld von timeReference, das das Zeitzonenformat der Daten angibt. timeZone kann wie folgt formatiert werden:
      • Unter Verwendung des vollständigen Namens der Zeitzone: Pacific Standard Time
      • Unter Verwendung der Abkürzung der Zeitzone: PST
  • fields: Ein erforderliches Feld für die Feldnamen und -formate der Zeitangabe. Die folgenden Eigenschaften von fields sind erforderlich:
    • name: Ein erforderliches Feld, das den Namen des Feldes zur Darstellung der Zeit angibt. Dieses Objekt kann mehrmals vorhanden sein.
    • formats: Ein erforderliches Feld, das das Format des Feldes zur Darstellung der Zeit angibt. Es können mehrere Formate für ein einzelnes Feld vorhanden sein (wie oben dargestellt). Dieses Objekt kann mehrmals vorhanden sein. Informationen zur Formatierung von Feldern finden Sie unter Zeitformate im Manifest zur Big-Data-Dateifreigabe.
    • role: Ein erforderliches Feld, wenn timeType interval entspricht. Kann die startTime oder die endTime eines Zeitintervalls darstellen.