TIN 转栅格 (3D Analyst)

许可等级:BasicStandardAdvanced

摘要

通过在指定采样距离处插入输入 TIN 高程值中的栅格像元值的方式创建栅格。

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

插图

Create Raster From TIN illustration

用法

语法

TinRaster_3d (in_tin, out_raster, {data_type}, {method}, {sample_distance}, {z_factor})
参数说明数据类型
in_tin

输入 TIN。

TIN Layer
out_raster

输出栅格的位置和名称。在向地理数据库或文件夹(如 Esri Grid)中存储栅格数据集时,不应向栅格数据集的名称添加文件扩展名。可提供文件扩展名,以在向文件夹存储时定义栅格的格式:

  • .bil—Esri BIL
  • .bip—Esri BIP
  • .bsq—Esri BSQ
  • .dat—ENVI DAT
  • .img—ERDAS IMAGINE
  • .png—PNG
  • .tif—TIFF

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

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
(可选)

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

  • OBSERVATIONS - 定义输出栅格最长边上的像元数。默认情况下,在距离为 250 的条件下使用此方法。
  • CELLSIZE - 定义输出栅格的像元大小。
String
z_factor
(可选)

高程值将乘上的系数。此系数通常用于转换 Z 线性单位,以匹配 XY 线性单位的值。默认值为 1,此时高程值保持不变。

Double

代码实例

TinRaster 示例 1(Python 窗口)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.TinRaster_3d("tin", "raster.img", "INT", "LINEAR", "OBSERVATIONS 250", 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
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set environment setting
    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)
    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)

环境

相关主题

许可信息

ArcGIS for Desktop Basic:需要 3D Analyst
ArcGIS for Desktop Standard:需要 3D Analyst
ArcGIS for Desktop Advanced:需要 3D Analyst
9/15/2013