栅格转多点 (3D Analyst)
摘要
将栅格像元中心转换为多点要素(其 Z 值反映栅格像元值)。
用法
此工具专用于模拟表面属性的栅格数据集,例如高程。
-
此工具用于将栅格 DEM 加入到可用作创建 Terrain 数据集或 TIN 的辅助数据的点中。
可通过 NO_THIN 选项转换所有像元中心,或者可应用多个过滤器中的一个排除那些不重要的像元。细化选项包括 ZTOLERANCE、KERNEL 和 VIP。
- ZTOLERANCE 细化方法表示输入栅格和输出多点要素类之间所允许的最大高度差(z 单位)。默认情况下,Z 容差是输入栅格 z 范围的 1/10。容差越大,细化越多,点输出越少。
- KERNEL 细化方法定义窗口的像元数。默认值是 3。这会将输入栅格转化为 3 × 3 的像元组。将评估每个窗口中的单个像元值。根据 KERNEL 选择方法,可以仅选择一个或两个像元。核大小越大,细化实现的越多,点输出越少。
- VIP 方法用于根据栅格中点的显著性来选择栅格中点的百分比。此显著性使用 3 × 3 移动窗口来评估。您可以选择 VIP_HISTOGRAM 选项来写出表,以查看实际显著值和与这些值关联的相应点数。
-
当保留垂直精度很重要时,使用 ZTOLERANCE 细化方法。当控制水平采样距离很重要时,使用 KERNEL 细化方法。
-
当栅格转化为多点时,考虑应用细化方法。有两种细化方法用于生成新多点要素类:ZTOLERANCE 和 KERNEL。如果选择 NO_THIN,那么全分辨率数据将输出到新多点要素类中。
-
VIP 方法相对较快,能够输出可预测点数,并且在选择局部山峰和凹地方面很有优势。然而,该方法对噪点敏感,对大于 3 × 3 窗口的地形要素不敏感。
语法
RasterToMultipoint_3d (in_raster, out_feature_class, {out_vip_table}, {method}, {kernel_method}, {z_factor})
参数 | 说明 | 数据类型 |
in_raster |
The input raster. | Raster Layer |
out_feature_class |
The output feature class. | Feature Class |
out_vip_table (可选) |
为方法参数指定 VIP 直方图时要生成的直方图表格。 | Table |
method (可选) |
用于生成多点要素类的细化方法。
| String |
kernel_method (可选) |
在方法参数中指定核细化时用来创建点的选择方法。
| String |
z_factor (可选) |
用于乘以栅格高程的因子。通常用于在英尺和米之间转换单位。 | Double |
代码示例
RasterToMultipoint 示例 1(Python 窗口)
The following sample demonstrates the use of this tool in the Python window:
import arcpy from arcpy import env arcpy.CheckOutExtension("3D") env.workspace = "C:/data" arcpy.RasterToMultipoint_3d("elevation.tif", "","elev_VIP.dbf", "VIP_HISTOGRAM", "", "1")
RasterToMultipoint 示例 2(独立脚本)
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''********************************************************************* Name: RasterToMultipoint Example Description: This script demonstrates how to use the RasterToMultipoint tool to create multipoint datasets fot all IMG rasters in a target workspace. **********************************************************************''' # Import system modules import arcpy from arcpy import env import exceptions try: arcpy.CheckOutExtension("3D") # Set default workspace 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 # [:-4] strips the last 4 characters (.img) from the raster name outTbl = "VIP_" + raster[:-4] + ".dbf" method = "VIP_HISTOGRAM" zfactor = 1 #Execute RasterToMultipoint arcpy.ddd.RasterToMultipoint(raster, "",outTbl, method, "", zfactor) else: "There are no IMG rasters in the " + env.workspace + " directory." except Exception as e: # Returns any other error messages print e.message
环境
相关主题
许可信息
ArcView: 需要 3D Analyst
ArcEditor: 需要 3D Analyst
ArcInfo: 需要 3D Analyst
7/10/2012