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
    Примечание:

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

Синтаксис

arcpy.3d.ASCII3DToFeatureClass(input, in_file_type, out_feature_class, out_geometry_type, {z_factor}, {input_coordinate_system}, {average_point_spacing}, {file_suffix}, {decimal_separator})
ParameterОбъяснениеТип данных
input
[input,...]

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

В этом диалоговом окне в качестве входной может быть указана папка: необходимо в Windows 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-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 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: Да

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