JSON в пространственные объекты (Конвертация)

Краткая информация

Конвертирует объекты форматированных файлов Esri JSON (.json) или форматированных файлов GeoJSON (.geojson) в класс пространственных объектов.

Использование

  • Если во входном файле .json свойства hasZ или hasM установлены на True, выходные объекты будут содержать значения z и m.

  • Если входными данными является файл .geojson, для конвертации его в класс пространственных объектов необходимо выбрать тип геометрии. GeoJSON поддерживает несколько типов объектов внутри одного файла, тогда как класс пространственных объектов должен составляться объектами одного типа.

  • У текстовых полей в выходных данных слишком большая длина (2 миллиона символов), поскольку спецификации форматов JSON и GeoJSON не включают свойство длины для текстовых атрибутов. Для повышения производительности при конвертации используется большая фиксированная длина вместо чтения всех значений, чтобы определить самое большое число символов.

  • Спецификации форматов JSON и GeoJSON не включают стандартный способ хранения значений datetime. Значение datetime может быть представлено как целочисленное в секундах во времени эпохи Unix. Чтобы конвертировать это число в значение datetime, используйте инструмент Вычислить поле или выражение Python, например, datetime.datetime.fromtimestamp(!date_field!).

  • Если на входе файл .geojson, атрибуты первой записи используются для определения схемы выходного класса объектов.

Параметры

ПодписьОписаниеТип данных
Входные данные JSON или GeoJSON

Входной файл .json или .geojson, который будет конвертирован в класс объектов.

Расширение входного файла определяет формат, который используется инструментом для правильной конвертации. Для форматированного файла Esri JSON используйте расширение .json, для форматированных файлов GeoJSON используйте расширение .geojson.

File
Выходной класс пространственных объектов

Выходной класс объектов, который будет содержать объекты из входного файла .json или .geojson.

Feature Class
Тип геометрии
(Дополнительный)

Указывает тип геометрии, который будет использован при конвертации из GeoJSON в объекты. Этот параметр используется только если входные данные представляют собой файл .geojson. Если файл .geojson не содержит объектов выбранного типа геометрии, выходной класс пространственных объектов будет пустым.

  • ТочкаТочки, которые будут конвертированы в объекты.
  • МультиточкаМультиточки, которые будут конвертированы в объекты.
  • ПолилинияПолилинии, которые будут конвертированы в объекты.
  • ПолигонПолигоны, которые будут конвертированы в объекты.
String

arcpy.conversion.JSONToFeatures(in_json_file, out_features, {geometry_type})
ИмяОписаниеТип данных
in_json_file

Входной файл .json или .geojson, который будет конвертирован в класс объектов.

Расширение входного файла определяет формат, который используется инструментом для правильной конвертации. Для форматированного файла Esri JSON используйте расширение .json, для форматированных файлов GeoJSON используйте расширение .geojson.

File
out_features

Выходной класс объектов, который будет содержать объекты из входного файла .json или .geojson.

Feature Class
geometry_type
(Дополнительный)

Указывает тип геометрии, который будет использован при конвертации из GeoJSON в объекты. Этот параметр используется только если входные данные представляют собой файл .geojson. Если файл .geojson не содержит объектов выбранного типа геометрии, выходной класс пространственных объектов будет пустым.

  • POINTТочки, которые будут конвертированы в объекты.
  • MULTIPOINTМультиточки, которые будут конвертированы в объекты.
  • POLYLINEПолилинии, которые будут конвертированы в объекты.
  • POLYGONПолигоны, которые будут конвертированы в объекты.
String

Пример кода

JSONToFeatures, пример (окно Python)

Следующий скрипт Python демонстрирует, как использовать функцию JSONToFeatures.

import arcpy
import os
arcpy.env.workspace = "c:/data"
arcpy.conversion.JSONToFeatures("myjsonfeatures.json", os.path.join("outgdb.gdb", "myfeatures"))

Связанные разделы