添加表面信息 (3D 分析)

摘要

为点、多点和折线要素插入表面高程属性。

用法

语法

AddSurfaceInformation_3d (in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution})
参数说明数据类型
in_feature_class

输入点、多点或折线要素类。

Feature Layer
in_surface

The raster, TIN, or terrain surface used for interpolating z-values.

Raster Layer; Terrain Layer; TIN Layer
out_property

将添加到输入要素类属性表中的表面高程属性。下表汇总了可用属性关键字及其支持的几何类型:

  • Z单点要素的内插高程值。
  • Z_MIN多点和折线要素的最低内插高程值。
  • Z_MAX多点和折线要素的最高内插高程值。
  • Z_MEAN多点和折线要素的平均内插高程值。
  • SURFACE_LENGTH沿输入表面叠加时折线要素的长度。
  • MIN_SLOPE折线要素的最低内插坡度值。
  • MAX_SLOPE折线要素的最高内插坡度值。
  • AVG_SLOPE折线要素的平均内插坡度值。
String
method
(可选)

用于确定输入要素的 Z 值的插值方法。可用选项有:

  • LINEAR 默认插值方法。根据由 TIN 或 terrain 三角形(包含查询点 XY 位置)定义的平面来估计 z 值。
  • NATURAL_NEIGHBORS 通过将基于区域的权重应用于 TIN 或 terrain 的查询点自然邻域来估计 z 值。
  • CONFLATE_ZMIN 通过 TIN 或 terrain 的查询点的某个自然邻域来获取 z 值。使用具有最小高度的邻域 z 值。
  • CONFLATE_ZMAX 通过 TIN 或 terrain 的查询点的某个自然邻域来获取 z 值。使用具有最大高度的邻域 z 值。
  • CONFLATE_NEAREST 通过 TIN 或 terrain 的查询点的某个自然邻域来获取 z 值。使用 XY 坐标中最接近查询点的邻域 z 值。
  • CONFLATE_CLOSEST_TO_MEAN 通过 TIN 或 terrain 的查询点的某个自然邻域来获取 z 值。使用最接近所有邻域平均高度的邻域 z 值。
String
sample_distance
(可选)

用于内插 z 值的间距。默认情况下,如果输入表面是栅格,则使用栅格像元大小;如果输入是 terrain 或 TIN 数据集,则使用三角化网格面的自然增密。

Double
z_factor
(可选)

The factor by which elevation values will be multiplied. This is typically used to convert Z linear units that match those of the XY linear units. The default is 1, which leaves elevation values unchanged.

Double
pyramid_level_resolution
(可选)

The z-tolerance or window size resolution of the terrain pyramid level that will be used by this tool. The default is 0, or full resolution.

Double

代码示例

AddSurfaceInformation 示例 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.AddSurfaceInformation_3d("points.shp", "my_tin", "Z", "LINEAR")
AddSurfaceInformation 示例 2(独立脚本)

The following sample demonstrates the use of this tool in a stand-alone Python script:

'''*********************************************************************
Name: AddSurfaceInformation Example
Description: This script demonstrates how to use AddSurfaceInformation 
             on all 2D feature classes in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set Local Variables
    env.workspace = 'c:/data'
    inSurface = 'fgdb.gdb/municipal/terrain'
    pyramid = 5
    method = "BILINEAR"
    # Create list of feature classes
    fcList = arcpy.ListFeatureClasses()
    if fcList:
        for fc in fcList:
            desc = arcpy.Describe(fc)
            # Determine if the feature is 2D
            if not desc.hasZ:
                if desc.shapeType == "Polygon":
                    # Desired properties separated by semi-colons
                    Prop = "Z_MIN;Z_MAX" 
                elif desc.shapeType == "Point":
                    Prop = "Z"
                elif desc.shapeType == "Multipoint":
                    Prop = "Z_MIN;Z_MAX;Z_MEAN"
                elif desc.shapeType == "Polyline":
                    Prop = "LENGTH_3D"
                # Execute AddSurfaceInformation
                arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop, 
                                                method, 15, 1, pyramid)
                print "Completed adding surface information."
    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