栅格转 TIN (3D Analyst)

需要 3D Analyst 许可。

摘要

将栅格转换为不规则三角网 (TIN) 数据集。

插图

栅格转 TIN 工具图示

使用情况

  • 将栅格转换为 TIN 本身不会产生更好的表面。 您需要与地表定义相匹配并能改进地表定义的辅助数据。 可以使用编辑 TIN 工具将此类数据添加到 TIN。

  • 默认情况下,输入栅格与输出 TIN 之间所允许的最大高度差为输入栅格 z 范围的 1/10。

  • 虽然在 Win32 下可使用的 TIN 的最大大小为 1,500 万至 2,000 万个节点,但建议将其上限设定为几百万个节点。 较大的输入栅格和较小的 Z 容差设置可能会超出这个范围。 如果大小成为了问题,则应考虑处理子集。

参数

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

待处理的栅格。

Raster Layer; Mosaic Layer
输出 TIN

将要生成的 TIN 数据集。

TIN
Z 容差
(可选)

输入栅格与输出 TIN 之间所允许的最大高度差(z 单位)。 默认情况下,z 容差是输入栅格 z 范围的 1/10。

Double
最大点数
(可选)

流程结束前 TIN 上添加的最大点数。 默认情况下,该过程将一直持续到所有点被添加完。

Long
Z 因子
(可选)

在生成的 TIN 数据集中,栅格的高度值将乘以的系数。 此值通常用于转换 Z 单位来匹配 XY 单位。

Double

arcpy.ddd.RasterTin(in_raster, out_tin, {z_tolerance}, {max_points}, {z_factor})
名称说明数据类型
in_raster

待处理的栅格。

Raster Layer; Mosaic Layer
out_tin

将要生成的 TIN 数据集。

TIN
z_tolerance
(可选)

输入栅格与输出 TIN 之间所允许的最大高度差(z 单位)。 默认情况下,z 容差是输入栅格 z 范围的 1/10。

Double
max_points
(可选)

流程结束前 TIN 上添加的最大点数。 默认情况下,该过程将一直持续到所有点被添加完。

Long
z_factor
(可选)

在生成的 TIN 数据集中,栅格的高度值将乘以的系数。 此值通常用于转换 Z 单位来匹配 XY 单位。

Double

代码示例

RasterTin 示例 1(Python 窗口)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.RasterTin("vermont_ele.tif", "TIN_VT", "2", "1000", "1")
RasterTin 示例 2(独立脚本)

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

'''*********************************************************************
Name: RasterTin Example
Description: This script demonstrates how to use the 
             RasterTin tool to create a TIN for each IMG raster in the 
             target workspace.
**********************************************************************'''

# Import system modules
import arcpy

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

# Create the list of IMG rasters
rasterList = arcpy.ListRasters("*", "IMG")
# Loop the process for each raster
if rasterList:
    for raster in rasterList:
        # Set Local Variables
        zTol = 2
        maxPts = 1500000
        zFactor = 1
        # [:-4] strips the last 4 characters (.img) from the raster name
        outTin = "C:/Output/TIN_" + raster[:-4] 
        print("Creating TIN from " + raster + ".")
        #Execute RasterTin
        arcpy.ddd.RasterTin(raster, outTIN, zTol, maxPts, zFactor)
    print("Finished.")
else:
    print("There are no IMG rasters in the " + env.workspace + " directory.")

相关主题