Skip To Content

Informacje na temat manifestu udostępniania plików dużych zbiorów danych

Udostępnione pliki dużych zbiorów danych są zarejestrowane jako magazyn danych w aplikacji ArcGIS Server Manager i wymagają manifestu do określenia schematu danych i pól reprezentujących geometrię oraz czas w zestawie danych. Manifest jest generowany automatycznie podczas rejestrowania udostępnionych plików dużych zbiorów danych, ale może zaistnieć konieczność wprowadzenia modyfikacji. Może się tak stać w przypadku zmiany danych lub jeśli podczas generowania manifestu nie można było określić wszystkich wymaganych informacji (na przykład w automatycznie wygenerowanym manifeście nie zostało zaznaczone poprawne pole dla geometrii lub czasu).

Notatka:

Edycja udostępnionych plików dużych zbiorów danych jest opcją zaawansowaną. Aby dowiedzieć się więcej o stosowaniu zmian w pojedynczych zestawach danych w manifeście, patrz sekcja Edytowanie manifestów udostępnionych plików dużych zbiorów danych w aplikacji Manager. Aby uzyskać informacje na temat stosowania pliku hints dla plików rozdzielanych, patrz sekcja Informacje na temat pliku hints.

Manifest składa się z zestawów danych. Liczba zestawów danych zależy od liczby folderów w ramach udostępnionych plików dużych zbiorów danych. W następującym przykładzie istnieje pięć zestawów danych:

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

W ramach każdego zestawu danych istnieje pięć obiektów najwyższego poziomu, które można zastosować. Z tych obiektów następujące obiekty są wymagane: name, format i schema.

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

Nazwa

Obiekt name jest wymagany i definiuje nazwę zestawu danych. Musi być ona niepowtarzalna w obrębie manifestu.

Format

Obiekt format jest wymagany i definiuje typ danych wejściowych oraz ich format.

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

Przykład z użyciem pliku shape:

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

Przykład z użyciem pliku rozdzielanego:

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

Opis

  • type — wymagana właściwość, która definiuje dane źródłowe. Może to być delimited lub shapefile.
  • extension — wymagana właściwość wyznaczająca rozszerzenie nazwy pliku. W przypadku plików shape jest to właściwość shp, natomiast pliki rozdzielane korzystają z rozszerzenia nazwy pliku danych (na przykład csv lub tsv).
  • fieldDelimiter — wymagane tylko wtedy, gdy type to delimited. To pole reprezentuje element rozdzielający pola w pliku rozdzielanym.
  • recordTerminator — jest wymagane tylko wtedy, gdy type to delimited. To pole reprezentuje element kończący obiekty w pliku rozdzielanym.
  • quoteChar — jest wymagane tylko wtedy, gdy type to delimited. Ten znak wskazuje sposób określania cudzysłowu w pliku rozdzielanym.
  • hasHeaderRow — jest wymagane tylko wtedy, gdy type to delimited. Określa, czy pierwszy wiersz w pliku rozdzielanym powinien być traktowany jako nagłówek, czy jako pierwszy obiekt.
  • encoding — jest wymagane tylko wtedy, gdy type to delimited. Określa typ używanego kodowania.

Schemat

Obiekt schema jest wymagany i definiuje pola i typ pola danych wejściowych.

SkładniaPrzykład
"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"
  }
 ]
}

Opis

  • fields — wymagana właściwość, która definiuje pola w schemacie.
  • name — wymagana właściwość wyznaczająca nazwę pola. Nazwa pola musi być unikalna w zestawie danych i może zawierać tylko znaki alfanumeryczne i znaki podkreślenia.
  • type — jest to właściwość wymagana, która definiuje typ pola. Dostępne są między innymi następujące opcje:
    • esriFieldTypeString dla ciągów znakowych
    • esriFieldTypeDouble dla liczb zmiennoprzecinkowych lub podwójnej precyzji
    • esriFieldTypeBigInteger dla liczb całkowitych
    • esriFieldTypeDate dla plików shape z polami danych. W rozdzielanych zestawach danych z polami reprezentującymi daty muszą być one reprezentowane przez pole esriFieldTypeString.

Geometria

Obiekt geometry jest opcjonalny. Jest on wymagany, jeśli zestaw danych ma reprezentację przestrzenną, taką jak punkt, polilinia lub poligon.

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

Przykład z użyciem pliku .csv:

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

Przykład z użyciem pliku .tsv:

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

Opis

Notatka:

Ponieważ obiekt geometry jest opcjonalny, następujące właściwości są podane jako wymagane lub opcjonalne przy założeniu, że używana jest geometria:

  • geometryType — właściwość wymagana. Dostępne są między innymi następujące opcje:
    • esriGeometryPoint
    • esriGeometryPolyline
    • esriGeometryPolygon
  • spatialReference — wymagana właściwość oznaczająca odniesienie przestrzenne zestawu danych.
    • wkid — pole oznaczające odniesienie przestrzenne, gdzie wymagana jest właściwość wkid lub latestWkid dla zestawu danych z geometrią.
    • latestWkid — pole oznaczające odniesienie przestrzenne w danej wersji oprogramowania, gdzie wymagana jest właściwość wkid lub latestWkid dla zestawu danych z geometrią.
  • fields — wymagana właściwość dla rozdzielanych zestawów danych z reprezentacją przestrzenną. Oznacza nazwę pola lub nazwy i formaty geometrii.
    • name — wymagana właściwość dla rozdzielanych zestawów danych z reprezentacją przestrzenną. Oznacza nazwę pola używanego do reprezentowania geometrii. Może występować wiele instancji tego elementu.
    • formats — wymagana właściwość dla rozdzielanych zestawów danych z reprezentacją przestrzenną. Oznacza format pola używanego do reprezentowania geometrii. Może występować wiele instancji tego elementu.

Czas

Obiekt time jest opcjonalny. Jest on wymagany, jeśli zestaw danych ma reprezentację czasową.

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

Przykład z użyciem momentu z wieloma formatami w polach czasu:

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

Przykład z użyciem odstępu z wieloma polami używanymi dla 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"
  }
 ]
}

Opis

Notatka:

Ponieważ obiekt time jest opcjonalny, następujące właściwości są podane jako wymagane lub opcjonalne przy założeniu użycia time:

  • timeType — typ czasu jest wymagany, jeśli czas jest zawarty w zestawie danych. Dostępne są między innymi następujące opcje:
    • instant — dla jednego momentu czasu
    • interval — dla odstępu czasu reprezentowanego przez czas rozpoczęcia i zakończenia
  • timeReference — pole wymagane, jeśli zestaw danych zawiera dane czasowe, oznaczające strefę czasową (timeZone).
    • timeZone — pole wymagane należące do timeReference, które oznacza format strefy czasowej danych. timeZone Można użyć następującego formatu:
      • Użycie pełnej nazwy strefy czasowej: Pacific Standard Time
      • Użycie skrótu strefy czasowej: PST
  • fields — wymagane pole służące do wskazywania nazw pól i formatów czasu. Wymagane właściwości dla fields są następujące:
    • name — wymagane pole wskazujące nazwę pola używanego do reprezentowania czasu. Może występować wiele instancji tego obiektu.
    • formats — wymagane pole wskazujące format pola używanego do reprezentowania czasu. Dla jednego pola może występować wiele formatów (jak pokazano powyżej). Może występować wiele instancji tego obiektu. Aby uzyskać informacje na temat formatowania pól, patrz sekcja Formaty czasu w manifeście udostępnionych plików dużych zbiorów danych.
    • role — pole wymagane, gdy timeType to interval. Może reprezentować startTime lub endTime odstępu czasu.