添加 Z 信息 (3D Analyst)

许可等级:BasicStandardAdvanced

摘要

添加关于具有 Z 值的要素类中的要素的高程属性的信息。

会检查每个 3D 形状,并且所选属性会被追加到输入要素类的属性表中。输出选项会根据要素几何的不同而有所不同。

用法

语法

AddZInformation_3d (in_feature_class, out_property, {noise_filtering})
参数说明数据类型
in_feature_class

待输入的要素类。

Feature Layer
out_property
[out_property,...]

将添加到输入要素类属性表中的 Z 属性。可用的选项如下:

  • Z单点要素的高程点。
  • POINT_COUNT每个多点数组中的点数。
  • Z_MIN每个多点、折线、面或多面体要素中找到的最低高程。
  • Z_MAX每个多点、折线、面或多面体要素中找到的最高高程。
  • Z_MEAN每个多点、折线、面或多面体要素中找到的平均高程。
  • LENGTH_3D每个折线或面要素的三维长度。
  • VERTEX_COUNT每个折线或面要素的折点总数。
  • MIN_SLOPE针对每个折线、面或多面体要素计算的最低坡度值。
  • MAX_SLOPE针对每个折线、面或多面体要素计算的最高坡度值。
  • AVG_SLOPE针对每个折线、面或多面体要素计算的平均坡度值。
  • VOLUME针对每个闭合多面体要素确定的体积。
String
noise_filtering
(可选)

提供可用于在进行统计计算时排除一小部分要素的选项。此选项非常适用于获得准确的最大坡度估值,因为一小部分要素的坡度值通常较极端,可能使统计结果产生偏差。

面积长度选项中给出的值将被用于排除这部分要素。此参数不适用于点和多点要素。

  • NO_FILTER不使用任何噪点过滤器。这是默认设置。
  • AREA <…>对多面体要素类中的部分要素应用面积过滤器。面积 值为 0.001 表示系统将忽略多面体中面积小于 0.001 的部分。
  • LENGTH <…> 对线要素类或面要素类中的部分要素应用长度过滤器。长度值为 0.001 时表示系统将忽略长度小于 0.001 的那部分要素。
String

代码实例

添加 Z 信息 (AddZInformation) 示例 1(Python 窗口)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.AddZInformation_3d('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE', 
                        'NO_FILTER')
添加 Z 信息 (AddZInformation) 示例 2(独立脚本)

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

'''******************************************************************
Name: AddZInformation Example
Description: This script demonstrates AddZInformation on all 
             z-aware features in a target workspace.
******************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Create list of feature classes
    fcList = arcpy.ListFeatureClasses()
    if fcList:
        for fc in fcList:
            desc = arcpy.Describe(fc)
            if desc.hasZ:
                # Set Local Variables
                noise = 'No_Filter'
                if desc.shapeType == 'Polygon':
                    Prop = ['Z_MIN', 'Z_MAX', 'VERTEX_COUNT']
                elif desc.shapeType == 'Point':
                    Prop = 'Z'
                elif desc.shapeType == 'Multipoint':
                    Prop = ['Z_MIN', 'Z_MAX', 'Z_MEAN']
                elif desc.shapeType == 'Polyline':
                    Prop = 'LENGTH_3D'
                print 'Completed adding Z information.'
                # Execute AddZInformation
                arcpy.AddZInformation_3d(inFC, Prop, noise)
    arcpy.CheckInExtension('3D')
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
9/15/2013