栅格转多点 (3D Analyst)

摘要

将栅格像元中心转换为多点要素(其 Z 值反映栅格像元值)。

用法

语法

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

用于生成多点要素类的细化方法。

  • NO_THIN会将全分辨率数据输出到新多点要素类中。
  • ZTOLERANCE输入栅格与输出多点要素类之间所允许的最大高度差(z 单位)。默认情况下,z 容差是输入栅格 z 范围的 1/10。容差越大,细化越多,输出点越少。
  • KERNEL定义窗口的像元数。默认值是 3。这会将输入栅格转化为 3 × 3 的像元组。将评估每个窗口中的单个像元值。根据 KERNEL 选择方法,可以仅选择一个或两个像元。核大小越大,实现细化越多,点输出越少。
  • VIP基于输入栅格中点的显著性,从输入栅格中选择点的百分比。此显著性使用 3 × 3 移动窗口来评估。
  • VIP_HISTOGRAM创建表格来查看实际显著值和与这些值关联的相应点数。
String
kernel_method
(可选)

方法参数中指定核细化时用来创建点的选择方法。

  • MIN在像元处(此像元具有在核邻域中找到的最小高程值)创建一个点。这是默认设置。
  • MAX在像元处(此像元具有在核邻域中找到的最大高程值)创建一个点。
  • MINMAX在像元处(分别具有在核邻域中找到的最小和最大高程值)创建两个点。
  • MEAN在像元处(其高程值最接近核邻域中像元的平均值)创建一个点。
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