添加 Z 信息 (3D Analyst 工具)
汇总
添加关于启用 z 值的要素类中的要素的高程属性的信息。
会检查每个 3D 形状,并且所选属性会被追加到输入要素类的属性表中。 输出选项会根据要素几何的不同而有所不同。
用法
以下 z 属性可用:
要素几何
z 属性
点
点的 z 值。
多点
多点记录中的点计数和所有点的最小、最大和平均 z 值。
折线和面
线或面周长的折点计数和 3D 距离。
线或面周长的最小、最大和平均 z 值及坡度。
多面体
闭合多面体的表面积和体积。
沿多面体表面的最小、最大和平均 z 值及坡度。
坡度以百分比值或度数的形式返回,对于支持此属性的每种几何类型,其计算方式有所不同。 值 -1 表示要素是垂直的。
面要素的平均 z 值的计算方式与线要素相同。 面的内部将被忽略,因为仅会评估边界。 将每个线段中点的 z 值乘以该线段的 3D 长度,然后将所有线段的乘积相加。 然后,将总和除以线要素或面边界的总 3D 长度以生成结果。
每个多面体要素的平均 z 值的计算方法是将每个三角形中点的 z 值乘以该三角形的 3D 面积。 将给定要素中所有三角形的乘积相加,然后除以多面体要素的总 3D 表面积,以产生结果。
只能对闭合多面体计算体积。 非闭合多面体要素将返回值 0.0。 在 Solaris 平台上,设计的局限性当前将使工具无法确定多面体是否闭合,因此假定所有多面体均为闭合多面体,将针对所有多面体计算体积测量。
参数
标注
说明
数据类型
输入要素
将要处理的输入要素。
Feature Layer
输出属性
指定将添加到输入要素类的属性表的 z 属性。
Spot Z —Spot elevation of single-point feature.
Point Count —Number of points in each multipoint feature.
Lowest Z —Lowest z-value found in each multipoint, polyline, polygon, or multipatch feature.
Highest Z —Highest z-value found in each multipoint, polyline, polygon, or multipatch feature.
Average Z —Average z-value found in each multipoint, polyline, polygon, or multipatch feature.
3-Dimensional Length —3-dimensional length of each polyline or polygon feature.
Surface Area —Total area of the surface of a multipatch feature.
Vertex Count —Total number of vertices in each polyline or polygon feature.
Lowest Slope —Lowest slope value calculated for each polyline, polygon, or multipatch feature.
Highest Slope —Highest slope value calculated for each polyline, polygon, or multipatch feature.
Average Slope —Average slope value calculated for each polyline, polygon, or multipatch feature.
Volume —Volume of space enclosed by each multipatch feature.
String
噪点过滤
(可选)
一个用于从生成的计算中排除部分要素的数值。 当 3D 输入包含相对较小的要素(具有极端坡度值,可能会使统计结果产生偏差)时,这将十分有用。 如果 3D 输入的线性单位为米时,指定值 0.001 将导致排除长度小于 0.001 米的线或面边。 对于多面体要素,相同值将导致排除其面积小于 0.001 平方米的子部分。 此参数不适用于点和多点要素。
String
派生输出
标注
说明
数据类型
更新的输入要素
更新后的启用 z 值的要素类。
Feature Layer
arcpy.3d.AddZInformation(in_feature_class, out_property, {noise_filtering})
名称
说明
数据类型
in_feature_class
将要处理的输入要素。
Feature Layer
out_property
[out_property,...]
指定将添加到输入要素类的属性表的 z 属性。
Z —Spot elevation of single-point feature.
POINT_COUNT —Number of points in each multipoint feature.
Z_MIN —Lowest z-value found in each multipoint, polyline, polygon, or multipatch feature.
Z_MAX —Highest z-value found in each multipoint, polyline, polygon, or multipatch feature.
Z_MEAN —Average z-value found in each multipoint, polyline, polygon, or multipatch feature.
LENGTH_3D —3-dimensional length of each polyline or polygon feature.
SURFACE_AREA —Total area of the surface of a multipatch feature.
VERTEX_COUNT —Total number of vertices in each polyline or polygon feature.
MIN_SLOPE —Lowest slope value calculated for each polyline, polygon, or multipatch feature.
MAX_SLOPE —Highest slope value calculated for each polyline, polygon, or multipatch feature.
AVG_SLOPE —Average slope value calculated for each polyline, polygon, or multipatch feature.
VOLUME —Volume of space enclosed by each multipatch feature.
String
noise_filtering
(可选)
一个用于从生成的计算中排除部分要素的数值。 当 3D 输入包含相对较小的要素(具有极端坡度值,可能会使统计结果产生偏差)时,这将十分有用。 如果 3D 输入的线性单位为米时,指定值 0.001 将导致排除长度小于 0.001 米的线或面边。 对于多面体要素,相同值将导致排除其面积小于 0.001 平方米的子部分。 此参数不适用于点和多点要素。
String
派生输出
名称
说明
数据类型
output_feature_class
更新后的启用 z 值的要素类。
Feature Layer
代码示例
AddZInformation 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具:
arcpy.env.workspace = 'C:/data'
arcpy.ddd.AddZInformation('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE',
'NO_FILTER')
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
# Set environment settings
arcpy.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.')
# Run AddZInformation
arcpy.ddd.AddZInformation(inFC, Prop, noise)
环境
当前工作空间 , 范围 , 自动提交
许可信息