Skip To Content

Выходные шаблоны в файловом хранилище больших данных

Примечание:

В версии ArcGIS Enterprise 10.9.1 или выше рекомендуется добавлять или изменять файловое хранилище больших данных через страницу ресурсов вашего портала вместо ArcGIS Server Manager. Узнайте больше о добавлении файловых хранилищ больших данных на портале:

Файловые хранилища больших данных регистрируются в качестве хранилища данных через вашу странице ресурсов портала. Файловое хранилище больших данных описывает один или несколько входных наборов данных с использованием манифеста хранилища, а также шаблонами для записи результатов обратно в местоположение файлового хранилища больших данных. При выполнении записи в файловое хранилище больших данных хранилище автоматически обновляется и содержит новый выходной набор данных в качестве входного набора данных. В данном разделе описано форматирование выходных шаблонов и их возможных значений. Чтобы изучить обзор файловых хранилищ больших данных, порядок импорта наборов данных, выходные шаблоны и подсказки, касающиеся работы с файлами, обратитесь к разделу О файловых хранилищах больших данных.

Примечание:

Этот раздел посвящен редактированию выходных шаблонов. О применении файла указаний для файлов с разделителями см. Файл указаний.

Выходные шаблоны состоят из одного или нескольких шаблонов. Число шаблонов зависит от типов файлов и форматирования, которое вы хотите использовать для хранения выходных результатов. В примере ниже представлено 3 выходных шаблона:

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

В каждом шаблоне есть 5 объектов верхнего уровня, которые можно применить. Для этих объектов требуются name , title и format.

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

Имя

Объект name является обязательным, он определяет имя набора данных. Имя в пределах шаблона должно быть уникальным и не должно содержать специальных символов.

Название

Требуется объект title, задающий заголовок, отображающийся при запуске инструмента. Заголовок в пределах манифеста должен быть уникальным и может содержать пробелы.

Формат

Объект format является обязательным; он определяет тип набора данных и формат.

СинтаксисПример
"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 >"
}

Пример использования шейп-файла:

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

Пример использования файла с разделителями:

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

Пример использования файла parquet:

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

Пример использования файла ORC:

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

Описание

  • type - обязательный параметр, определяющий тип выходных данных. Это может быть delimited, shapefile, parquet или orc.
  • extension - обязательный параметр, задающий расширение файла для файлов с разделителями.
  • fieldDelimiter - параметр является обязательным только в случае, когда type - delimited. Это поле описывает, что является разделителем полей в файле.
  • recordTerminator - должен быть всегда равен \n в Linux и \r\n - в Windows. При изменении этой опции будут все равно использоваться эти значения по умолчанию.
  • quoteChar – параметр является обязательным только в случае, когда type соответствует delimited. Этот символ обозначает, как указываются кавычки в файле с разделителями.
  • delimited.write.header – параметр является обязательным только в случае, когда type соответствует delimited. Этим свойством определяется, будет ли первая строка файла с разделителями содержать имена полей.
  • encoding - всегда задано UTF-8. При изменении этой опции будут все равно будет использоваться это значение по умолчанию.
  • dateFields - как будут форматироваться поля типа date. Это поля, не отображающие время, связанное с объектом (момент времени или интервал). Для изучения форматирования полей дат см. раздел форматы времени.

Настройки файлов с разделителями нельзя задавать в ArcGIS Server Manager. Для изменения настроек файлов с разделителями отредактируйте шаблоны в Administrator Directory вашего GeoAnalytics Server и щелкните данные > элементы > bigDataFileShares и свое файловое хранилище больших данных и выберите редактировать. Внесите свои изменения и щелкните обновить.

Геометрия

Объект geometry является дополнительным. Если он не указан, поле геометрии будет записано в формате XYZ для точек, сохраненных в файлах с разделителями, файлах ORC и parquet и в формате WKT для линий и полигонов в файлах с разделителями, ORC и parquet. В случае с шейп-файлами поля будут записаны в поле shape.

СинтаксисПример
"geometry" : {

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

Пример использования файла с разделителями со значениями x и 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"]
		}]
	}
]
  
}

Пример использования файла с разделителями со значениями x, y и z:

"geometry" : {

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

Пример использования файла .tsv:

"geometry" : {

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

Описание

Примечание:

В таблице ниже представлены значения по умолчанию объекта geometry, в случае, если вы его не задали - в зависимости от типа геометрии и типа файла. Перечисленные ниже параметры относятся к обязательным или дополнительным в зависимости от используемого типа геометрии:

  • spatialReference - обязательный параметр, описывающий пространственную привязку выходных наборов данных.
    • wkid - поле, описывающее пространственную привязку, где wkid или latestWkid является обязательным для набора данных с геометрией.
    • latestWkid - поле, обозначающее пространственную привязку в данной версии ПО, где для набора данных с геометрией требуется wkid или latestWkid.
  • encodings - является обязательным. Это параметр определяет кодирование выходной геометрии. Свойство состоит из двух частей: тип геометрии и поля, в которых эта геометрия будет записана.
    • types - типы геометрии, заданные в этом кодировании. К этим возможностям относятся:
      • esriGeometryPoint
      • esriGeometryPolyline
      • esriGeometryPolygon
    • fields - является обязательным. Им определяется name для одного или нескольких полей, использующихся для хранения результирующей геометрии, а также для formats полей, в которых сохраняется геометрия.
      • name - обязательное свойство наименования поля геометрии выходного набора данных. Описывает имя поля, в котором представлена геометрия. Они могут быть в нескольких экземплярах.
      • formats – обязательный параметр для наборов данных с разделителями с пространственной привязкой. Описывает формат поля, в котором представлена геометрия. Может использоваться несколько форматов. Нельзя задать поле геометрии для шейп-файлов. Поддерживаются следующие типы форматов:
        • WKT - используется по умолчанию для линий и полигонов, сохраненных в файлах с разделителями, ORC и parquet.
        • GeoJSON
        • EsriJSON
        • X, Y, Z - используется по умолчанию для точек, сохраненных в файлах с разделителями, ORC и parquet.
        • EsriShape - данная опция доступна только для файлов ORC и parquet.
        • WKB - данная опция доступна только для файлов ORC и parquet.

Время

Объект time является дополнительным. Если оно не задано и у результирующих данных время не включено, будет использоваться значение по умолчанию.

СинтаксисПример
"time" : {
 "timeReference" : {
  "timeZone" : "<timeZone >"
  },
 "encodings":[{
  "types" : ["< instant | interval >",]
  "fields": [
  {
   "name": "<fieldName1>",
   "formats": ["<fieldFormat1>"],
   "role": "< start | end >"
  }
 ]
}]
}

В примере показан момент с несколькими форматами в полях времени:

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

В примере показан интервал с несколькими полями, которые используются для 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"]
			}
		]
	}]
}

Описание

Примечание:

Поскольку объект time является необязательным, перечисленные ниже параметры относятся к обязательным или дополнительным в зависимости от используемого time:

  • encodings - необходимо при форматировании вами времени. Это параметр определяет кодирование выходного времени. Свойство состоит из двух частей: тип времени и поля, в которых будет записано время.
    • types - типы геометрии, заданные в этом кодировании. К этим возможностям относятся:
      • Instant - для одного момента времени.
      • Interval - для интервала времени, заданного начальным и конечным значениями.
    • fields - является обязательным. Им определяется name для одного или нескольких полей, использующихся для хранения времени, а также formats для полей, в которых сохраняется время.
      • name - обязательное свойство наименования поля времени выходного набора данных. Описывает имя поля, в котором хранится время. Они могут быть в нескольких экземплярах.
      • formats - обязательное поле, которое описывает формат поля, в котором хранится время. Для одного поля может использоваться несколько форматов (как это показано выше). Может быть несколько экземпляров этого объекта. Чтобы узнать, как можно форматировать поля, см. раздел Форматы времени.
    • role - обязательное поле, когда timeType является interval. Может представлять как startTime, так и endTime интервала времени.
  • timeReference - обязательное поле, если в наборе данных есть время, и описывает часовой пояс (timeZone).
    • timeZone - обязательное поле для timeReference, которое описывает формат часового пояса в данных. timeZone может иметь следующий формат:
      • Использование полного имени часового пояса: Pacific Standard Time
      • Использование аббревиатуры часового пояса: PST
      • Использование сдвига часового пояса, выраженный в часах: -0900