Terrain 转栅格 (3D Analyst)
摘要
将 terrain 数据集转换为栅格。
用法
-
分辨率参数表示用于转换的 terrain 的金字塔等级。金字塔等级是通过使用 z 容差或窗口大小的金字塔类型定义的。有关 terrain 金字塔的详细信息,请参阅 terrain 金字塔。
-
要提取 terrain 子集,请使用地理处理环境设置定义范围。
-
可用的插值法选项是 LINEAR 和 NATURAL_NEIGHBORS。这些方法是在三角化 terrain 表面上应用的基于 TIN 的方法。线性选项可找到包围每个像元中心的三角形,并会应用三角形的结点的加权平均值来执行插值计算。自然邻域法选项使用 Voronoi 邻域的基于区域的权重。
-
输出栅格可能是基于文件的,也可能作为地理数据库中的栅格数据集创建。基于文件的栅格格式由给栅格指定的扩展名决定。例如,使用扩展名“.img”和“.tif”将生成 IMAGINE 或 TIFF 文件。如果栅格不包含文件扩展名,则将生成 Esri GRID。
语法
参数 | 说明 | 数据类型 |
in_terrain |
输入 terrain 数据集。 | Terrain Layer |
out_raster |
输出栅格的位置和名称。在向地理数据库或文件夹(如 Esri Grid)中存储栅格数据集时,不应向栅格数据集的名称添加文件扩展名。可提供文件扩展名,以在向文件夹存储时定义栅格的格式:
如果栅格存储为 TIFF 文件或存储在地理数据库中,可使用地理处理环境设置指定其栅格压缩类型和质量。 | Raster Dataset |
data_type (可选) |
可通过以下关键字定义输出栅格的数据类型:
| String |
method (可选) |
选择插值法。默认情况下,使用 LINEAR 方法计算像元值。
| String |
sample_distance sampling_method distance (可选) |
用于定义输出栅格的像元大小的采样方法和距离。
| String |
pyramid_level_resolution (可选) |
此工具将使用 terrain 金字塔等级的 z 容差或窗口大小分辨率。默认值为 0(z 容差),或全分辨率(窗口大小)。 | Double |
代码实例
下面的示例演示了如何在 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)
下面的示例演示了如何在独立 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)