TIN 转栅格 (3D Analyst)

摘要

使用 z 值将输入 TIN 插值成栅格。

了解有关“TIN 转栅格”工作原理的详细信息

插图

从 TIN 创建栅格图示

使用情况

  • 由于以均匀的间隔对输入 TIN 表面进行插值,因此输出栅格中可能会出现信息的丢失。栅格是否能够准确地表示 TIN 将取决于栅格的分辨率及 TIN 表面的变化程度和间隔。通常,分辨率越高,输出栅格就越能准确地表示 TIN 表面。因为栅格是像元结构,所以它无法保持可能出现在输入 TIN 中的硬隔断线和软隔断线的边。

  • 当导出较大的栅格时,如果可以通过整型数据表示 z 值的精度要求,则可以将输出数据类型参数值指定为整型以节省磁盘空间。

参数

标注说明数据类型
输入 TIN

将处理的 TIN 数据集。

TIN Layer
输出栅格

输出栅格的位置和名称。 将栅格数据集存储到地理数据库或者诸如 Esri Grid 等的文件夹中时,请勿向栅格数据集的名称添加文件扩展名。 在将栅格存储到文件夹中时,可提供文件扩展名以定义栅格的格式,例如 .tif(生成 GeoTIFF)或 .img(生成 ERDAS IMAGINE 格式文件)。

如果栅格存储为 .tif 文件或存储在地理数据库中,则可以使用地理处理环境设置指定栅格压缩类型和质量。

Raster Dataset
输出数据类型
(可选)

指定将存储在输出栅格中的数值的类型。

  • 浮点型输出栅格将使用 32 位浮点型,支持介于 -3.402823466e+38 到 3.402823466e+38 之间的值。 这是默认设置。
  • 整型输出栅格将使用合适的整型位深度。 该选项可将 z 值四舍五入为最接近的整数值,并将该整数写入每个栅格像元值。
String
方法
(可选)

该插值方法用于创建栅格。

  • LINEAR通过向 TIN 三角形应用线性插值法来计算像元值。这是默认设置。
  • NATURAL_NEIGHBORS通过使用 TIN 三角形的自然邻域插值法计算像元值
String
采样距离
(可选)

用于定义输出栅格的像元大小的采样方法和距离。

String
Z 因子
(可选)

Z 值将乘上的系数。 此值通常用于转换 z 线性单位来匹配 x,y 线性单位。 默认值为 1,此时高程值保持不变。 如果输入表面的空间参考具有已指定线性单位的 z 基准,则此参数不可用。

Double

arcpy.ddd.TinRaster(in_tin, out_raster, {data_type}, {method}, {sample_distance}, {z_factor})
名称说明数据类型
in_tin

将处理的 TIN 数据集。

TIN Layer
out_raster

输出栅格的位置和名称。 将栅格数据集存储到地理数据库或者诸如 Esri Grid 等的文件夹中时,请勿向栅格数据集的名称添加文件扩展名。 在将栅格存储到文件夹中时,可提供文件扩展名以定义栅格的格式,例如 .tif(生成 GeoTIFF)或 .img(生成 ERDAS IMAGINE 格式文件)。

如果栅格存储为 .tif 文件或存储在地理数据库中,则可以使用地理处理环境设置指定栅格压缩类型和质量。

Raster Dataset
data_type
(可选)

指定将存储在输出栅格中的数值的类型。

  • FLOAT输出栅格将使用 32 位浮点型,支持介于 -3.402823466e+38 到 3.402823466e+38 之间的值。 这是默认设置。
  • INT输出栅格将使用合适的整型位深度。 该选项可将 z 值四舍五入为最接近的整数值,并将该整数写入每个栅格像元值。
String
method
(可选)

该插值方法用于创建栅格。

  • LINEAR通过向 TIN 三角形应用线性插值法来计算像元值。这是默认设置。
  • NATURAL_NEIGHBORS通过使用 TIN 三角形的自然邻域插值法计算像元值
String
sample_distance
sampling_method distance
(可选)

用于定义输出栅格的像元大小的采样方法和距离。

String
z_factor
(可选)

Z 值将乘上的系数。 此值通常用于转换 z 线性单位来匹配 x,y 线性单位。 默认值为 1,此时高程值保持不变。 如果输入表面的空间参考具有已指定线性单位的 z 基准,则此参数不可用。

Double

代码示例

TinRaster 示例 1(Python 窗口)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.TinRaster("tin", "raster.tif", data_type="INT", method="LINEAR", 
                    sample_distance="OBSERVATIONS 3500", z_factor=1)
TinRaster 示例 2(独立脚本)

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

'''******************************************************************
Name: TinRaster Example
Description: This script demonstrates how to use the 
             TinRaster tool to create rasters from 
             each TIN in the target workspace.
******************************************************************'''
# Import system modules
import arcpy

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

# Set Local Variables
dataType = "INT"
method = "NATURAL_NEIGHBORS"
sampling = "CELLSIZE 10"
zfactor = "1"

# Create list of TINs
TINList = arcpy.ListDatasets("*", "Tin")

# Verify the presence of TINs in the list
if TINList:
    # Iterate through the list of TINs
    for dataset in TINList:
        # Define the name of the output file
        outRaster = "{0}_natural.img".format(dataset)
        # Execute TinRaster
        arcpy.ddd.TinRaster(dataset, outRaster, dataType, 
                            method, sampling, zfactor)
    print("Finished.")
else:
    print("There are no TIN(s) in {0}.".format(env.workspace))

相关主题