3D ASCII 文件转要素类 (3D Analyst)

许可等级:BasicStandardAdvanced

摘要

将 3D 要素从一个或多个以 XYZ、XYZI 或 GENERATE 格式存储的 ASCII 文件导入到新要素类中。

插图

ASCII 3D To Feature Class example

用法

语法

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,...]

包含 XYZ、XYZI(具有激光雷达强度)或 3D GENERATE 格式数据的 ASCII 文件或文件夹。如果指定了某个文件夹,则文件后缀参数将成为必选项,并将使用所有与指定后缀具有相同扩展名的文件。如果涉及多个文件,则这些文件的格式必须相同。

Folder; File
in_file_type
String
out_feature_class

输出要素类。

Feature Class
out_geometry_type

输出要素类的几何类型。

  • MULTIPOINT - 仅当输入是点时才有效。如果不打算逐点添加属性,尤其是当涉及成千上万个点时,建议使用多点。这是默认设置。
  • POINT - 仅当输入是点时才会有效。
  • POLYLINES - 仅当输入是折线或面时才会有效。如果输入面,可使用 POLYLINES 作为输出。
  • POLYGONS - 仅当输入是面时才会有效。
String
z_factor
(可选)

Z 值将乘上的系数。此值通常用于转换 Z 线性单位来匹配 XY 线性单位。默认值为 1,此时高程值保持不变。

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 窗口中使用此工具:

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