ASCII 3D в класс объектов (3D Analyst)

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

Инструмент импортирует 3D-объекты из одного или нескольких текстовых файлов кодировки ASCII (форматов XYZ, XYZI или GENERATE) в новый класс пространственных объектов.

Иллюстрация

Пример работы ASCII 3D в класс объектов

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

  • Все входные файлы должны быть одного формата и с одним типом геометрии.

  • Форматы XYZ и XYZI поддерживают строки заголовка и за начало записи точек принимают первую строку с тремя последовательными числами. Оба формата могут хранить точки, линии и полигоны, но каждый файл может содержать только один простой (не составной) линейный или полигональный объект. Полигональные объекты должны быть замкнутыми, то есть координаты последней вершины должны совпадать с координатами первой, кроме того, они не должны иметь самопересечений.

  • Файлы XYZ содержат координаты x, y и z в формате с плавающей точкой, при этом каждая строка характеризует отдельную точку. За координатами XYZ могут следовать буквенно-цифровые символы, но эта информация не перейдет в полученный класс пространственных объектов.

  • Файлы XYZI содержат координаты x, y, z и значения интенсивности. В случае выходных объектов-мультипатчей значения интенсивности хранятся в поле типа BLOB (большой двоичный объект).

    Примечание:

    Если имеется файл ASCII в формате XYZI, но значения интенсивности из него не требуются, то выберите при чтении формат XYZ. В этом случае при чтении файлов значения интенсивности будут пропущены.

  • Формат GENERATE не поддерживает строки заголовка, но каждая точка с координатами XYZ снабжена идентификатором, а последняя строка в файле может быть (но необязательно) отмечена ключевым словом END:

    id x y z
    id x y z
    .
    .
    END
  • Формат GENERATE может содержать несколько пространственных объектов в одном файле. Ключевое слово END обозначает конец записи одного линейного или полигонального объекта, каждый из которых должен быть простым. Два слова END подряд обозначают конец файла.

    id
    x y z
    x y z
    x y z
    END
    id
    x y z
    x y z
    END
    END
    Примечание:

    Полигоны должны быть ориентированы по часовой стрелке, не иметь самопересечений и быть замкнутыми (то есть последняя вершина должна быть равна первой). Если одно из этих условий не выполняется, в результате будут получены некорректные полигоны. Инструмент Проверка геометрии может использоваться для проверки корректности полученных пространственных объектов, а инструмент Восстановление геометрии – для исправления ошибок.

Параметры

ПодписьОписаниеТип данных
Данные ASCII 3D

Файлы или папки с файлами кодировки ASCII, содержащие данные в формате XYZ, XYZI (с интенсивностью данных лазерного сканирования) или 3D GENERATE. Все входные файлы должны быть одного формата. Если указана папка, то необходимо также задать параметр Суффикс файла, при этом будут обработаны все файлы из папки, имеющие расширение, соответствующее заданному суффиксу.

На панели Геообработка в качестве входной может быть указана папка, необходимо выбрать папку в File Explorer и перетащить ее в окно ввода параметра.

Folder; File
Формат файла

Формат файлов ASCII, которые будут конвертироваться в класс пространственных объектов.

  • XYZТекстовый файл, который содержит информацию о геометрии в виде координат XYZ.
  • XYZIТекстовые файлы, которые содержат координаты XYZ вместе с измерениями интенсивности.
  • Преобразовать из текстового файлаТекстовые файлы, структурированные в формате Generate.
String
Выходной класс объектов

Класс объектов, который будет создан.

Feature Class
Тип выходного класса пространственных объектов

Тип геометрии выходного класса пространственных объектов.

  • Мультиточечные объектыРекомендуется использовать мультиточки, если входные данные, содержащие большое количество точек и атрибутов на объект, не являются необходимыми.
  • Точечные объектыКаждая тройка координат XYZ создает один точечный объект.
  • Полилинейные объектыВыходные данные будут содержать полилинейные объекты.
  • Полигональные объектыВыходные данные будут содержать полигональные объекты.
String
Коэффициент Z
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных z-единиц для соответствия линейным единицам x,y. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр недоступен, если пространственная привязка входной поверхности имеет z-датум с указанными линейными единицами.

Double
Система координат
(Дополнительный)

Система координат входных данных. По умолчанию используется Неизвестная система координат. Если параметр задан, то результат может быть проецирован в другую систему координат (но необязательно). Это зависит от того, определена ли в параметрах среды геообработки система координат для выходного местоположения класса пространственных объектов.

Coordinate System
Средний интервал между точками
(Дополнительный)

Среднее расстояние на плоскости между точками во входных данных. Этот параметр используется только в том случае, если тип выходной геометрии задан как MULTIPOINT. Он служит для определения способа группировки точек. Это значение, в сочетании с ограничением количества точек на одну фигуру, применяется для построения виртуальной системы листов, предназначенной для группировки точек. Начало отсчета системы листов основано на домене целевого класса пространственных объектов. Укажите интервал в горизонтальных единицах целевого класса объектов.

Double
Суффикс файла
(Дополнительный)

Суффикс импортируемых файлов из входной папки. Этот параметр также необходим, когда папка указана в качестве входных данных.

String
Разделитель десятичных знаков
(Дополнительный)

Десятичный символ, используемый в текстовом файле, чтобы отделить целую часть числа от дробной.

  • ТочкаВ качестве разделителя будет использоваться точка. Это значение по умолчанию
  • ЗапятаяВ качестве разделителя будет использоваться запятая.
String

arcpy.ddd.ASCII3DToFeatureClass(input, in_file_type, out_feature_class, out_geometry_type, {z_factor}, {input_coordinate_system}, {average_point_spacing}, {file_suffix}, {decimal_separator})
ИмяОписаниеТип данных
input
[input,...]

Файлы или папки с файлами кодировки ASCII, содержащие данные в формате XYZ, XYZI (с интенсивностью данных лазерного сканирования) или 3D GENERATE. Все входные файлы должны быть одного формата. Если указана папка, то необходимо также задать параметр Суффикс файла, при этом будут обработаны все файлы из папки, имеющие расширение, соответствующее заданному суффиксу.

На панели Геообработка в качестве входной может быть указана папка, необходимо выбрать папку в File Explorer и перетащить ее в окно ввода параметра.

Folder; File
in_file_type

Формат файлов ASCII, которые будут конвертироваться в класс пространственных объектов.

  • XYZТекстовый файл, который содержит информацию о геометрии в виде координат XYZ.
  • XYZIТекстовые файлы, которые содержат координаты XYZ вместе с измерениями интенсивности.
  • GENERATEТекстовые файлы, структурированные в формате Generate.
String
out_feature_class

Класс объектов, который будет создан.

Feature Class
out_geometry_type

Тип геометрии выходного класса пространственных объектов.

  • MULTIPOINTРекомендуется использовать мультиточки, если входные данные, содержащие большое количество точек и атрибутов на объект, не являются необходимыми.
  • POINTКаждая тройка координат XYZ создает один точечный объект.
  • POLYLINEВыходные данные будут содержать полилинейные объекты.
  • POLYGONВыходные данные будут содержать полигональные объекты.
String
z_factor
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных z-единиц для соответствия линейным единицам x,y. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр недоступен, если пространственная привязка входной поверхности имеет z-датум с указанными линейными единицами.

Double
input_coordinate_system
(Дополнительный)

Система координат входных данных. По умолчанию используется Неизвестная система координат. Если параметр задан, то результат может быть проецирован в другую систему координат (но необязательно). Это зависит от того, определена ли в параметрах среды геообработки система координат для выходного местоположения класса пространственных объектов.

Coordinate System
average_point_spacing
(Дополнительный)

Среднее расстояние на плоскости между точками во входных данных. Этот параметр используется только в том случае, если тип выходной геометрии задан как MULTIPOINT. Он служит для определения способа группировки точек. Это значение, в сочетании с ограничением количества точек на одну фигуру, применяется для построения виртуальной системы листов, предназначенной для группировки точек. Начало отсчета системы листов основано на домене целевого класса пространственных объектов. Укажите интервал в горизонтальных единицах целевого класса объектов.

Double
file_suffix
(Дополнительный)

Суффикс импортируемых файлов из входной папки. Этот параметр также необходим, когда папка указана в качестве входных данных.

String
decimal_separator
(Дополнительный)

Десятичный символ, используемый в текстовом файле, чтобы отделить целую часть числа от дробной.

  • DECIMAL_POINTВ качестве разделителя будет использоваться точка. Это значение по умолчанию
  • DECIMAL_COMMAВ качестве разделителя будет использоваться запятая.
String

Пример кода

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

В следующем примере показано использование этого инструмента в окне Python.

arcpy.env.workspace = "C:/data"
#Create spatial reference object using WKID
sr = arcpy.SpatialReference(32136)
arcpy.ASCII3DToFeatureClass_3d("masspntz.gen", "GENERATE", "elevation_points.shp", 
                               "MULTIPOINT", z_factor=3.28, 
                               input_coordinate_system=sr, average_point_spacing=2.5)
ASCII3DToFeatureClass, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента как автономного скрипта Python.

'''****************************************************************************
Name: ASCII3D_to_Feature_Class Example
Description: Creates a TIN surface using XYZI files in a folder and breaklines
             imported from ASCII files.
****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Define the spatial reference using the name
sr = arcpy.SpatialReference("Hawaii Albers Equal Area Conic")

# Create the elevation points
arcpy.ddd.ASCII3DToFeatureClass("Elevation Points", "XYZI",
                               "elevation_points.shp",
                               "MULTIPOINT", z_factor=3.28,
                               input_coordinate_system=sr,
                               average_point_spacing=2.5,
                               file_suffix="XYZ")

# Create the break lines
arcpy.ddd.ASCII3DToFeatureClass("brklines.gen", "GENERATE",
                               "breaklines.shp",
                               "POLYLINE", z_factor=3.28,
                               input_coordinate_system=sr)

arcpy.ddd.CreateTin("elevation_tin", sr,
                    [["breaklines.shp", "Shape", "hardline"],
                    ["elevation_points.shp", "Shape", "masspoints"]],
                    "CONSTRAINED_DELAUNAY")

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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