摘要
将 terrain 数据集插值成栅格。
用法
分辨率参数表示用于转换的 terrain 的金字塔等级。金字塔等级是通过使用 z 容差或窗口大小的金字塔类型定义的。有关 terrain 金字塔的详细信息,请参阅 terrain 金字塔。
要提取 terrain 子集,请使用地理处理环境设置定义范围。
线性和自然邻域插值法选项将在三角化 terrain 表面上应用。线性选项可找到包围每个像元中心的三角形,并会应用三角形的结点的加权平均值来执行插值计算。自然邻域法选项使用 Voronoi 邻域的基于区域的权重。
语法
TerrainToRaster_3d (in_terrain, out_raster, {data_type}, {method}, {sample_distance}, {pyramid_level_resolution})
参数 | 说明 | 数据类型 |
in_terrain | 待处理的 terrain 数据集。 | Terrain Layer |
out_raster | 输出栅格的位置和名称。在向地理数据库或文件夹(如 Esri Grid)中存储栅格数据集时,不应向栅格数据集的名称添加文件扩展名。在将栅格存储到文件夹中时,可提供文件扩展名以定义栅格的格式,例如 .tif(生成 GeoTIFF)或 .img(生成 ERDAS IMAGINE 格式文件)。 如果栅格存储为 TIFF 文件或存储在地理数据库中,可使用地理处理环境设置指定其栅格压缩类型和质量。 | Raster Dataset |
data_type (可选) | 可通过以下关键字定义输出栅格的数据类型:
| String |
method (可选) | 插值方法将用于计算像元值。
| String |
sample_distance sampling_method distance (可选) | 用于定义输出栅格的像元大小的采样方法和距离。 | String |
pyramid_level_resolution (可选) | 此工具将使用 terrain 金字塔等级的 z 容差或窗口大小分辨率。默认值为 0(z 容差),或全分辨率(窗口大小)。 | Double |
代码实例
Terrain 转栅格 (TerrainToRaster) 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.TerrainToRaster_3d("sample.gdb/featuredataset/terrain", "terrain.img", "INT", "LINEAR", "CELLSIZE 10", 2.5)
Terrain 转栅格 (TerrainToRaster) 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''*********************************************************************
Name: TerrainToRaster Example
Description: This script demonstrates how to use the
TerrainToRaster tool.
**********************************************************************'''
# 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
terrain = "sample.gdb/featuredataset/terrain"
bitType = "INT"
method = "LINEAR"
sampling = "CELLSIZE 10"
pyrLvl = 2.5
outRas = arcpy.CreateUniqueName("terrain_level.img")
#Execute TerrainToRaster
arcpy.ddd.TerrainToRaster(terrain, outRas, bitType,
method, sampling, pyrLvl)
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)