Skip To Content

Szablony wynikowe w udostępnionym pliku dużych zbiorów danych

Udostępnione pliki dużych zbiorów danych są rejestrowane jako magazyn danych w aplikacji ArcGIS Server Manager. W udostępnionym pliku dużych zbiorów danych wejściowy zestaw danych jest opisany przy użyciu manifestu udostępnionego pliku dużych zbiorów danych oraz szablonów umożliwiających zapisywanie wyników z powrotem w lokalizacji udostępnionego pliku dużych zbiorów danych. Podczas zapisywania wyniku z powrotem do udostępnionego pliku dużych zbiorów danych udostępniony plik dużych zbiorów danych automatycznie aktualizuje się, uwzględniając nowy wynikowy zestaw danych jako wejściowy zestaw danych. W tym temacie opisano format szablonów wynikowych i ich dozwolone wartości. Przegląd udostępnionych plikach dużych zbiorów danych oraz omówienie działania wejściowych zestawów danych, szablonów wynikowych i pliku wskazówek znajduje się w temacie Wprowadzenie do udostępnionych plików dużych zbiorów danych.

Notatka:

Ten temat jest poświęcony edytowaniu szablonów wynikowych. Aby uzyskać informacje na temat stosowania pliku hints dla plików rozdzielanych, patrz sekcja Informacje na temat pliku hints.

Szablony wynikowe składają się z jednego lub większej liczby szablonów. Liczba szablonów zależy od typów plików oraz formatowania, które ma być stosowane przy przechowywaniu wyników. W poniższym przykładzie występują trzy szablony wynikowe:

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

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

{
 "name": "ExampleTemplate", "title": "My Example Template", "format": {}, "geometry": {}, "time": {}
}

Nazwa

Obiekt name jest wymagany i definiuje nazwę zestawu danych. Nazwa musi być unikalna w obrębie manifestu i nie może zawierać żadnych znaków specjalnych.

Tytuł

Obiekt title jest wymagany i definiuje tytuł wyświetlany podczas działania narzędzia. Tytuł musi być unikalny w obrębie manifestu i może zawierać spacje.

Format

Obiekt format jest wymagany i definiuje typ pliku wynikowego oraz jego format.

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

Przykład z użyciem pliku shape:

"format" : {
 "type": "shapefile", "extension": "shp", "dateFields": "YYYY/MM/dd HH:mm:ss"
}

Przykład z użyciem pliku rozdzielanego:

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

Przykład z użyciem pliku parquet:

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

Przykład z użyciem pliku ORC:

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

Opis

  • type — wymagana właściwość, która definiuje typ danych wynikowych. Może to być typ delimited, shapefile, parquet lub orc.
  • extension — wymagana właściwość wyznaczająca rozszerzenie nazwy pliku dla plików rozdzielanych.
  • fieldDelimiter — właściwość używana i wymagana tylko wtedy, gdy type to delimited. To pole reprezentuje element rozdzielający pola w pliku rozdzielanym.
  • recordTerminator — ta właściwość zawsze skonfigurowana na \n w systemie Linux i \r\n w systemie Windows. Gdy ta opcja zostanie zmodyfikowana, te wartości domyślne będą nadal używane.
  • quoteChar — jest wymagane tylko wtedy, gdy type to delimited. Ten znak wskazuje sposób określania cudzysłowu w pliku rozdzielanym.
  • delimited.write.header — jest wymagane tylko wtedy, gdy type to delimited. Ta właściwość wskazuje, czy pierwszy wiersz w pliku rozdzielanym zawiera nazwy pól.
  • encoding — zawsze skonfigurowane na UTF-8. Gdy ta opcja zostanie zmodyfikowana, ta wartość domyślna będzie nadal używana.
  • dateFields — sposób formatowania pól typu date. Są to pola, które nie reprezentują czasu obiektu (moment lub przedział czasu). Informacje na temat formatowania pól daty zawiera sekcja Formaty czasu.

Ustawień pliku rozdzielanego nie można określić za pomocą aplikacji ArcGIS Server Manager. Aby zmodyfikować ustawienia pliku rozdzielanego, należy zmodyfikować szablony. W tym celu należy przejść do katalogu Administrator Directory serwera GeoAnalytics Server, kliknąć opcję dane > elementy > bigDataFileShares, kliknąć udostępniony plik dużych zbiorów danych i kliknąć opcję edytuj. Po wprowadzeniu zmian należy kliknąć przycisk aktualizuj.

Geometria

Obiekt geometry jest opcjonalny. Jeśli pole geometrii nie zostanie podane, będzie zapisywane w formacie XYZ w przypadku punktów przechowywanych w plikach rozdzielanych, ORC i parquet oraz w formacie WKT w przypadku linii i poligonów w plikach rozdzielanych, ORC i parquet. W przypadku plików shape pola będą zapisywane w polu shape.

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

Przykład z użyciem pliku rozdzielanego z wartościami x i 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"]		}]	}
]  
}

Przykład z użyciem pliku rozdzielanego z wartościami x, y i z:

"geometry" : {
	"spatialReference": {
		"wkid": 4326	},	"encodings": [{
	 "types": ["esriGeometryPoint"],		"fields": [{
				"name": "Longitude",				"formats": ["x"]			},			{
				"name": "Latitude",				"formats": ["y"]			},			{
				"name": "Height",				"formats": ["z"]			}
		]	}]
}

Przykład z użyciem pliku .tsv:

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

Opis

Notatka:

Powyższa tabela przedstawia opcje domyślne obiektu geometry w zależności od geometrii i typu pliku, jeśli odpowiednia wartość nie zostanie podana. Następujące właściwości są podane jako wymagane lub opcjonalne przy założeniu, że używana jest geometria:

  • spatialReference — wymagana właściwość oznaczająca odniesienie przestrzenne w wynikowych zestawach 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ą.
  • encodings — właściwość wymagana. Określa sposób kodowania geometrii wynikowej. Właściwość składa się z dwóch części: typu geometrii i pól, w których geometria będzie zapisywana.
    • types — typy geometrii podawane w tym kodowaniu. Dostępne są między innymi następujące opcje:
      • esriGeometryPoint
      • esriGeometryPolyline
      • esriGeometryPolygon
    • fields — właściwość wymagana. Określa właściwość name jednego lub większej liczby pól używanych do przechowywania wyników geometrii oraz właściwość formats pól, w których przechowywana jest geometria.
      • name — wymagana właściwość określająca nazwę pola używanego na potrzeby geometrii wynikowego zestawu danych. 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. Formatów może być wiele. Nie można podać pola geometrii plików shape. Obsługiwane są następujące typy formatów:
        • WKT — format domyślny w przypadku linii i poligonów przechowywanych w plikach rozdzielanych, ORC i parquet.
        • GeoJSON
        • EsriJSON
        • X, Y,Z — format domyślny w przypadku punktów przechowywanych w plikach rozdzielanych, ORC i parquet.
        • EsriShape — ta opcja jest dostępna tylko w przypadku plików ORC i parquet.
        • WKB — ta opcja jest dostępna tylko w przypadku plików ORC i parquet.

Czas

Obiekt time jest opcjonalny. Jeśli nie zostanie określony, a wyniki zawierają dane czasowe, używana będzie wartość domyślna.

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

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

"time": {
	"timeReference": {
		"timeZone": "UTC"
	},	"encodings": [{
		"types": ["instant"],		"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": {
	"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"]			}
		]	}]
}

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:

  • encodings — właściwość wymagana w przypadku formatowania czasu. Określa sposób kodowania czasu wynikowego. Właściwość składa się z dwóch części: typu czasu i pól, w których czas będzie zapisywany.
    • types — typy geometrii podawane w tym kodowaniu. 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
    • fields — właściwość wymagana. Określa właściwość name jednego lub większej liczby pól używanych do przechowywania wyników czasu oraz właściwość formats pól, w których przechowywany jest czas.
      • name — wymagana właściwość określająca nazwę pola używanego na potrzeby czasu w wynikowym zestawie danych. Oznacza nazwę pola używanego do reprezentowania czasu. Może występować wiele instancji tego elementu.
      • 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.
  • timeReference — pole wymagane, jeśli zestaw danych zawiera dane czasowe, oznaczające strefę czasową (timeZone).
    • timeZone — pole opcjonalne 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
      • Użycie przesunięcia strefy czasowej wyrażonego w godzinach: -0900