ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

添加 Z 信息

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

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

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

使用方法

  • 以下 Z 属性可用:

    要素几何Z 属性

    点

    点的 Z 值。

    多点

    多点记录中的点计数和所有点的最小、最大和平均 Z 值。

    折线和面

    线或面周长的折点计数和 3D 距离。

    线或面周长的最小、最大和平均 Z 值及坡度。

    多面体

    闭合多面体的表面积和体积。

    沿多面体表面的最小、最大和平均 Z 值及坡度。

  • 坡度以百分比值或度数的形式返回,对于支持此属性的各种几何类型计算的结果不同。

    • 沿每个线段计算线要素的坡度值和面周长:
      • 最小坡度值根据坡度值最接近 0 或水平等级的线段获得。
      • 最大坡度根据具有最大计算值的线段获得。
      • 平均坡度通过按 3D 长度对每条线段进行加权后对所有线段的坡度求平均值获得。这会导致较长线段的影响比较短线段更大。
    • 多面体要素的坡度值将针对各三角面计算得出。
      • 最小坡度根据值最接近 0 或水平等级的面获得。
      • 最大坡度根据具有最大值的面获得。
      • 平均坡度通过按三维区域对每条线段进行加权后对所有三角面的坡度求平均值获得。这会导致较大区域对结果值的影响比较小区域更大。
    • 面要素的坡度值沿着边缘计算,使用的方法与线段应用的方法一样。
  • 只能对闭合多面体计算体积。非闭合多面体要素将返回值 0.0。在 Solaris 平台上,设计的局限性当前将使工具无法确定多面体是否闭合,因此假定所有多面体均为闭合多面体,将针对所有多面体计算体积测量。

语法

arcpy.ddd.AddZInformation(in_feature_class, out_property, {noise_filtering})
参数说明数据类型
in_feature_class

待处理的输入要素。

Feature Layer
out_property
[out_property,...]

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

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

一个用于从生成的计算中排除部分要素的可选数值。当 3D 输入包含相对较小的要素(具有极端坡度值,可能会使统计结果产生偏差)时,这将十分有用。如果 3D 输入的线性单位为米时,指定值 0.001 将导致排除长度小于 0.001 米的线或面边。对于多面体要素,相同值将导致排除其面积小于 0.001 平方米的子部分。此参数不适用于点和多点要素。

面积过滤器在输入为多面体的情况下提供,而长度过滤器在输入为线或面的情况下提供。

String

派生输出

名称说明数据类型
output_feature_class

更新后的启用 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')
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)

环境

  • 当前工作空间
  • 范围
  • 自动提交

许可信息

  • Basic: 需要 3D Analyst
  • Standard: 需要 3D Analyst
  • Advanced: 需要 3D Analyst

相关主题

  • 3D 要素工具集概览
  • 关于 3D 要素
  • 有关使用 ArcGIS 3D Analyst 扩展模块进行地理处理的基础知识

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明