Сводка
Инструмент импортирует 3D-объекты из одного или нескольких текстовых файлов кодировки ASCII (форматов XYZ, XYZI или GENERATE) в новый класс пространственных объектов.
Иллюстрация
Использование
Все входные файлы должны быть одного формата и с одним типом геометрии.
Форматы 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, которые будут конвертироваться в класс пространственных объектов.
| String |
out_feature_class | Класс объектов, который будет получен в результате работы инструмента. | Feature Class |
out_geometry_type | Тип геометрии выходного класса пространственных объектов.
| String |
z_factor (Дополнительный) | Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных Z-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр отключен, если пространственная привязка входной поверхности имеет Z-датум с заданными линейными единицами измерения. | Double |
input_coordinate_system (Дополнительный) | Система координат входных данных. По умолчанию используется Неизвестная система координат. Если параметр задан, то результат может быть проецирован в другую систему координат (но необязательно). Это зависит от того, определена ли в параметрах среды геообработки система координат для выходного местоположения класса пространственных объектов. | Coordinate System |
average_point_spacing (Дополнительный) | Среднее расстояние на плоскости между точками во входных данных. Этот параметр используется только в том случае, если тип выходной геометрии задан как MULTIPOINT. Он служит для определения способа группировки точек. Это значение, в сочетании с ограничением количества точек на одну фигуру, применяется для построения виртуальной системы листов, предназначенной для группировки точек. Начало отсчета системы листов основано на домене целевого класса пространственных объектов. Укажите интервал в горизонтальных единицах целевого класса объектов. | Double |
file_suffix (Дополнительный) | Суффикс импортируемых файлов из входной папки. Этот параметр также необходим, когда папка указана в качестве входных данных. | String |
decimal_separator (Дополнительный) | Десятичный символ, используемый в текстовом файле, чтобы отделить целую часть числа от дробной.
| String |
Пример кода
В следующем примере показано использование этого инструмента в окне 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)
В следующем примере показано использование этого инструмента в автономном скрипте 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")
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да