Skip To Content

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

Notatka:

W przypadku oprogramowania ArcGIS Enterprise 10.9.1 lub nowszej wersji zalecane jest, aby dodawanie lub edycję udostępnionych plików dużych zbiorów danych przeprowadzać z poziomu strony zasobów portalu zamiast w aplikacji ArcGIS Server Manager. Więcej informacji o dodawaniu udostępnionych plików dużych zbiorów danych w portalu.

Udostępnione pliki dużych zbiorów danych są rejestrowane jako magazyn danych na stronie portalu. W udostępnionym pliku dużych zbiorów danych jeden lub wiele wejściowych zestawów danych jest opisanych 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 plików 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. Więcej informacji na temat stosowania pliku wskazówek dla plików rozdzielanych zawiera sekcja Plik wskazówek.

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 ma wartość 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 ma wartość delimited. Ten znak wskazuje sposób określania cudzysłowu w pliku rozdzielanym.
  • delimited.write.header — jest wymagane tylko wtedy, gdy type ma wartość 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 utworzyć 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, że użyto 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. Więcej informacji o możliwościach formatowania pól zawiera temat Formaty czasu.
    • role — pole wymagane, gdy timeType to interval. Może reprezentować wartości 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. Można użyć następującego formatu timeZone:
      • 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