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

Уровень лицензии:BasicStandardAdvanced

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

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

Рисунок

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

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

Синтаксис

ASCII3DToFeatureClass_3d (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 (с интенсивностью данных лазерного сканирования) или 3-D GENERATE. Если указана папка, то необходимо также задать параметр Суффикс файла (File Suffix), при этом будут использованы все файлы из папки, имеющие расширение, соответствующее заданному суффиксу. Если обрабатываются несколько файлов, они должны иметь один формат.

Folder; File
in_file_type
String
out_feature_class

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

Feature Class
out_geometry_type

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

  • MULTIPOINT — в качестве входных данных необходимы точки. Этот вариант рекомендуется, если отдельные точки не будут иметь атрибутов. Он особенно удобен, когда задействованы тысячи или миллионы точек. Это значение используется по умолчанию.
  • POINT — в качестве входных данных необходимы точки.
  • POLYLINES — в качестве входных данных необходимы линии или полигоны. Есть возможность использовать этот выходной формат и в тех случаях, когда входные данные представляют собой полигоны.
  • POLYGONS — в качестве входных данных необходимы полигоны.
String
z_factor
(дополнительно)

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

Double
input_coordinate_system
(дополнительно)

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

Coordinate System
average_point_spacing
(дополнительно)

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

Double
file_suffix
(дополнительно)

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

String
decimal_separator
(дополнительно)

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

  • DECIMAL_POINTТочка используется как десятичный символ. Это значение используется по умолчанию.
  • DECIMAL_COMMAЗапятая используется как десятичный символ.
String

Пример кода

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
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
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set environment settings
    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")

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует 3D Analyst
ArcGIS for Desktop Standard: Требует 3D Analyst
ArcGIS for Desktop Advanced: Требует 3D Analyst
5/10/2014