要素类 Z 转 ASCII (3D Analyst)

许可等级:BasicStandardAdvanced

摘要

将 3D 要素导出到存储有 GENERATEXYZ 或专用标准数据的 ASCII 文本文件。

用法

语法

FeatureClassZToASCII_3d (in_feature_class, output_location, out_file, {format}, {delimiter}, {decimal_format}, {digits_after_decimal}, {decimal_separator})
参数说明数据类型
in_feature_class

导出到 ASCII 文件的 3D 点、多点、折线或面要素类。

Feature Layer
output_location

将在其中写入输出文件的文件夹。

Folder
out_file

生成的 ASCII 文件的名称。

如果线或面要素类导出为 XYZ 格式,则使用文件名作为基础名称。因为 XYZ 格式每个文件仅支持一条线或一个面,所以每个要素都将具有唯一的文件输出。多部件要素的各部件也将写入单独的文件。文件名将附有每个要素的 OID,以及使各文件名唯一所需的任何附加字符。

String
format
(可选)

要创建的 ASCII 文件的格式。

  • GENERATE以 GENERATE 格式写入输出。这是默认设置。
  • XYZ写入输入要素的 XYZ 信息。将为输入要素中的各线或面创建一个文件。
  • PROFILE为可用于外部图表绘制应用程序中的线要素写入专用标准信息。
String
delimiter
(可选)

文本文件中使用的字段定界符。

  • 空格空格将用于分隔字段值。这是默认设置。
  • 逗号逗号将用于分隔字段值。如果小数分隔符也是逗号,则此选项不适用。
String
decimal_format
(可选)

用于确定输出文件中存储的有效数字位数的方法。

  • AUTOMATIC在移除多余的后补零时,自动确定保留可用精度所需的有效数字位数。这是默认设置。
  • FIXED有效数字位数在小数点后的位数参数中定义。
String
digits_after_decimal
(可选)

十进制记数法设置为 FIXED 时使用此参数。此参数确定写入到输出文件的浮点值在小数之后写入的位数。

Long
decimal_separator
(可选)

文本文件中用于区分数字的整数部分与其小数部分的小数分隔符。

  • DECIMAL_POINT点用作小数字符。这是默认设置。
  • DECIMAL_COMMA逗号用作小数字符。
String

代码实例

要素类 Z 转 ASCII (FeatureClassZToASCII) 示例 1(Python 窗口)

下面的示例演示了如何在 Python 窗口中使用此工具:

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.FeatureClassZToASCII_3d("LidarPts.shp", "", "ASCII_LidarPts.txt",
                            "GENERATE", "COMMA", "FIXED", 6, "DECIMAL_POINT")
要素类 Z 转 ASCII (FeatureClassZToASCII) 示例 2(独立脚本)

下面的示例演示了如何在独立 Python 脚本中使用此工具:

'''****************************************************************************
Name: FeatureClassZToASCII Example
Description: This script demonstrates how to use the
             FeatureClassZToASCII tool to create generate files for all
             z-aware point features in a given workspace.
****************************************************************************'''
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # List all points in the target workspace
    fcList = arcpy.ListFeatureClasses("*", "POINT")
    if fcList:
        # Set Local Variables
        outFolder = "C:/output"
        outFormat = "GENERATE"
        delimeter = "SPACE"
        decimal = "FIXED"
        digits = 3
        dec_sep = "DECIMAL_POINT"
        for fc in fcList:    
            # Use Describe method to evaluate whether the feature class is z-aware
            desc = arcpy.Describe(fc)
            if desc.hasZ == True:
                # Define the output file name by replacing '.shp' with _ascii.txt
                outName = fc.replace('.shp', '') + "_ascii.txt"
                #Execute FeatureClassZToASCII_3d
                arcpy.FeatureClassZToASCII_3d(fc, outFolder, outName, outFormat, delimeter, decimal, digits, dec_sep)
    else:
        print "There are no feature classes in the " + env.workspace + " directory."


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