Skip To Content

Манифест файлового хранилища больших данных

Примечание:

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

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

Примечание:

Редактирование файлового хранилища больших данных с помощью манифеста - это расширенная опция. Дополнительные сведения о применении изменений к отдельным наборам данных в файловом хранилище больших данных см. в разделе Управление файловыми хранилищами больших данных на портале. О применении файла указаний для файлов с разделителями см. Файл указаний.

Манифест состоит из наборов данных. Количество наборов данных зависит от количества папок, из которого состоит файловое хранилище больших данных. В примере ниже представлено 5 наборов данных:

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

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

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

Имя

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

Формат

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

СинтаксисПример
"format" : {
 "type" :  "< delimited | shapefile | orc | parquet >",
 "extension" : "< csv | tsv | shp | orc | parquet >",
 "fieldDelimiter" : "< delimiter >",
 "recordTerminator: "< terminator >",
 "quoteChar":  "< character for quotes>",
 "hasHeaderRow" :  < true | false >, 
 "encoding" : "< encoding format >"
}

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

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

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

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

Описание

  • type – обязательный параметр, определяющий источник данных. Это может быть delimited, shapefile, parquet или orc.
  • extension - обязательный параметр, описывающий расширение файла. Для шейп-файлов это shp; файлы с разделителями используют расширение файла данных (например, csv или tsv); файлы ORC используют orc; и файлы parquet используют parquet.
  • fieldDelimiter - обязательный параметр, когда type соответствует delimited. Это поле описывает, что является разделителем полей в файле.
  • recordTerminator – параметр является обязательным только в случае, когда type соответствует delimited. В этом поле указывается, что является разделителем в файле с разделителями.
  • quoteChar – параметр является обязательным только в случае, когда type соответствует delimited. Этот символ обозначает, как указываются кавычки в файле с разделителями.
  • hasHeaderRow – параметр является обязательным только в случае, когда type соответствует delimited. Это свойство указывает, следует ли рассматривать первую строку в файле с разделителями как заголовок или как первый объект.
  • encoding – параметр является обязательным только в случае, когда type соответствует delimited. Этот параметр показывает, какой использовался тип кодирования.

Схема

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

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

Описание

  • fields - обязательный параметр, определяющий поля в схеме.
  • name - обязательный параметр, описывающий имя файла. Имя поля должно быть уникальным для данного набора данных и состоять только из букв, цифр и подчеркиваний.
  • type - обязательный параметр, определяющий тип поля. К этим возможностям относятся:
    • esriFieldTypeInteger - для целых чисел.
    • esriFieldTypeSmallInteger - для целых чисел.
    • esriFieldTypeBigInteger - для целых чисел. Поля с большими целыми числами будут храниться как двойной точности в сервисе объектов.
    • esriFieldTypeString - для строк.
    • esriFieldTypeDouble - для чисел с плавающей запятой или двойной точности.
    • esriFieldTypeDate - для шейп-файлов с полями дат. Разделенные наборы данных, ORC и parquet с полями, представляющими дату, должны иметь даты, представленные полем esriFieldTypeString.
    • esriFieldTypeSingle - для одинарных значений.
    • esriFieldTypeBlob - для двоичных значений. Поля BLOB-объектов будут храниться как строковые поля в сервисе объектов.
Примечание:

Когда общие файловые ресурсы больших данных анализируются с помощью GeoAnalytics Tools и сохраняются как сервис объектов, типы могут измениться. Например, esriFieldTypeBigInteger в файловом хранилище больших данных станет полем esriFieldTypeDouble в сервисе объектов.

Геометрия

Объект geometry является дополнительным. Он является обязательным, если у набора данных есть пространственное представление (точка, линия или полигон).

СинтаксисПример
"geometry" : {
 "geometryType" : "< esriGeometryType >",
 "spatialReference" : {
  "wkid": <wkidNum>,
  "latestwkid" : <latestWkidNum>
  },
 "fields": [
 {
  "name": "<fieldName1>",
  "formats": ["<fieldFormat1>"]
 },
 {
  "name": "<fieldName2>",
  "formats": ["<fieldFormat2>"]
 }
 ]
}

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

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

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

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

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

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

Описание

Примечание:

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

  • geometryType - является обязательным. К этим возможностям относятся:
    • esriGeometryPoint
    • esriGeometryPolyline
    • esriGeometryPolygon
  • spatialReference – обязательный параметр, описывающий пространственную привязку набора данных.
    • wkid - поле, описывающее пространственную привязку, где wkid или latestWkid является обязательным для набора данных с геометрией.
    • latestWkid - поле, обозначающее пространственную привязку в данной версии ПО, где для набора данных с геометрией требуется wkid или latestWkid.
  • fields – обязательный параметр для наборов данных с разделителями с пространственной привязкой. Обозначает имя или имена полей и форматы геометрии.
    • name – обязательный параметр для наборов данных с разделителями с пространственной привязкой. Описывает имя поля, в котором представлена геометрия. Они могут быть в нескольких экземплярах.
    • formats – обязательный параметр для наборов данных с разделителями с пространственной привязкой. Описывает формат поля, в котором представлена геометрия. Они могут быть в нескольких экземплярах.
  • dropSourceFields - необязательное свойство для наборов данных с полями, представляющими геометрию. Оно указывает на то, будут ли поля, используемые для задания геометрии, использоваться в качестве полей при анализе. Если задано значение true, поля, используемые для геометрии, не будут отображаться как поля анализа (например, итоговая статистика) и будут пропускаться при запуске инструментов. Значением по умолчанию является false. Это свойство нельзя задать для наборов данных шейп-файлов.

Время

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

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

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

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

В примере показан интервал с несколькими полями, которые используются для startTime:

"time": {
 "timeType": "interval",
 "timeReference": {"timeZone": "-0900"},
 "dropSourceFields" : true,
 "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"
  }
 ]
}

Описание

Примечание:

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

  • timeType - тип времени является обязательным, если время включено в набор данных. К этим возможностям относятся:
    • instant - для одного момента времени
    • interval - для интервала времени, заданного начальным и конечным значениями
  • timeReference - обязательное поле, если в наборе данных есть время, и описывает часовой пояс (timeZone).
    • timeZone - обязательное поле для timeReference, которое описывает формат часового пояса в данных. Часовые пояса основаны на Joda времени. Подробнее о форматах времени Joda см. Часовые пояса доступные в формате времени Joda. timeZone может иметь следующий формат:
      • Использование полного имени часового пояса: Pacific Standard Time.
      • Использование смещения часового пояса, выраженного в часах: -0100 или -01:00.
      • Вы можете использовать сокращения часовых поясов только для UTC или GMT; в противном случае используйте полное имя или смещение часов.
  • fields - обязательное поле, описывающее имена и форматы полей со временем. Необходимые параметры fields указаны ниже:
    • name - обязательное поле, которое описывает имя поля, в котором хранится время. Может быть несколько экземпляров этого объекта.
    • formats - обязательное поле, которое описывает формат поля, в котором хранится время. Для одного поля может использоваться несколько форматов (как это показано выше). Может быть несколько экземпляров этого объекта. Чтобы узнать, как можно форматировать поля, см. раздел Форматы времени.
    • role - обязательное поле, когда timeType является interval. Может представлять как startTime, так и endTime интервала времени.
  • dropSourceFields - необязательное свойство для наборов данных с полями, представляющими время. Оно указывает на то, будут ли поля, используемые для задания времени, использоваться в качестве полей при анализе. Если задано значение true, поля, используемые для времени, не будут отображаться как поля анализа (например, итоговая статистика) и будут пропускаться при запуске инструментов. Значением по умолчанию является false.