栅格范围 (3D Analyst)

摘要

用于构造 3D 面或折线,以描绘沿栅格表面边界的高度。

插图

栅格范围输入和输出

使用情况

  • 此工具用于在栅格表面运行,且只能在单波段栅格或多波段栅格的特定波段上运行。输出要素可使用数据值捕获连续像元的边界,其 Z 值沿表面周长进行插值。可通过将栅格内最外侧像元的中心连接起来来定义周长。

  • 如果栅格具有以 NoData 像元分隔的不连续数据像元,则输出几何将被放置到一个要素记录中,并且可能会由多部分要素组成。

    注:

    由于面的内部部分不会包含任何折点,所以 3D 面仅包含沿要素周长的高程值。 在 3D 模式下使用区域填充绘制时,边界折点会随意连接到三角形中以进行渲染。 除非该面是平面(斜平面或水平平面),否则该填充可能不太会准确表示内部表面。 因此,建议不要使用填充符号绘制非平面 3D 面。

参数

标注说明数据类型
输入栅格

待处理的栅格。

Raster Layer; Mosaic Layer
输出要素类

将生成的要素类。

Feature Class
输出要素类类型

输出要素类的几何。

  • 线输出将是启用了 z 值的线要素类。
  • 输出将是启用了 z 值的面要素类。
String

arcpy.ddd.RasterDomain(in_raster, out_feature_class, out_geometry_type)
名称说明数据类型
in_raster

待处理的栅格。

Raster Layer; Mosaic Layer
out_feature_class

将生成的要素类。

Feature Class
out_geometry_type

输出要素类的几何。

  • LINE输出将是启用了 z 值的线要素类。
  • POLYGON输出将是启用了 z 值的面要素类。
String

代码示例

RasterDomain 示例 1(Python 窗口)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.RasterDomain("dtm_grd", "raster_domain.shp", "POLYGON")
RasterDomain 示例 2(独立脚本)

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

'''*********************************************************************
Name: RasterDomain Example
Description: This script demonstrates how to use the 
             Raster Domain tool to generate polygon footprints for all
             *.img rasters in a given workspace.
**********************************************************************'''

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Create the list of IMG rasters
rasterList = arcpy.ListRasters("*", "IMG")
# Verify there are rasters in the list
if rasterList:
    # Loop the process for each raster
    for raster in rasterList:
        # Set Local Variables
        outGeom = "POLYGON" # output geometry type
        # The [:-4] strips the .img from the raster name
        outPoly = "domain_" + raster[:-4] + ".shp"
        print("Creating footprint polygon for " + raster + ".")
        #Execute RasterDomain
        arcpy.ddd.RasterDomain(raster, outPoly, outGeom)
    print("Finished.")
else:
    print("There are no IMG files in the " + env.workspace + " directory.")

许可信息

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

相关主题