Skip To Content

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

Файловые ресурсы больших данных зарегистрированы в качестве хранилища данных через 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