添加 Z 信息 (3D Analyst)
摘要
添加关于具有 Z 值的要素类中的要素的高程属性的信息。
会检查每个 3D 形状,并且所选属性会被追加到输入要素类的属性表中。输出选项会根据要素几何的不同而有所不同。
用法
-
以下列表按几何汇总了 Z 属性选项:
- 点 - Z 值
- 多点 - Z 最小值、Z 最大值、Z 平均值、点计数
- 折线 - Z 最小值、Z 最大值、Z 平均值、3D 长度、最小坡度、最大坡度、平均坡度、折点计数
- 面 - Z 最小值、Z 最大值、Z 平均值、3D 长度、最小坡度、最大坡度、平均坡度、折点计数
- 多面体 - Z 最小值、Z 最大值、表面面积、体积、最小坡度、最大坡度、平均坡度
-
坡度以百分比值或度数的形式返回,对于支持此属性的各种几何类型计算的结果不同。
- 线要素的坡度值将针对各线段计算:
- 最小坡度根据值最接近 0 或水平度的线段获得。
- 最大坡度根据具有最大计算值的线段获得。
- 平均坡度通过按 3D 长度对每条线段进行加权后对所有线段的坡度求平均值获得。这会导致较长线段对结果值的影响比较短线段更大。
- 多面体要素的坡度值将针对各三角面计算得出。
- 最小坡度根据值最接近 0 或水平度的面获得。
- 最大坡度根据具有最大值的面获得。
- 平均坡度通过按三维区域对每条线段进行加权后对所有三角面的坡度求平均值获得。这会导致较大区域对结果值的影响比较小区域更大。
- 面要素的坡度值仅针对边要素计算,使用的方法与线段应用的方法一样。
- 线要素的坡度值将针对各线段计算:
只能对闭合多面体计算体积。非闭合多面体要素将返回值 0.0。在 Solaris 平台上,设计的局限性当前将使工具无法确定多面体是否闭合,因此假定所有多面体均为闭合多面体,将针对所有多面体计算体积测量。
语法
AddZInformation_3d (in_feature_class, out_property, {noise_filtering})
参数 | 说明 | 数据类型 |
in_feature_class |
The input feature class. | Feature Layer |
out_property [out_property,...] | 将添加到输入要素类属性表中的输出 Z 属性。可用的选项如下:
| String |
noise_filtering (可选) |
提供可用于在进行统计计算时排除一小部分要素的选项。此选项非常适用于获得准确的最大坡度估值,因为一小部分要素的坡度值通常较极端,可能使统计结果产生偏差。 面积或长度选项中给出的值将被用于排除这部分要素。此参数不适用于点和多点要素。
| String |
代码示例
添加 Z 信息 (AddZInformation) 示例 1(Python 窗口)
The following sample demonstrates the use of this tool in the Python window:
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(独立脚本)
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''****************************************************************** 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)
相关主题
许可信息
ArcView: 需要 3D Analyst
ArcEditor: 需要 3D Analyst
ArcInfo: 需要 3D Analyst
7/10/2012