栅格转多点 (3D Analyst)

摘要

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

使用情况

  • 如果拥有栅格高程数据并需要访问表面三角化提供的实用功能,请考虑使用此工具,因为多点要素可加载到 TIN 或 Terrain 数据集中。

  • 输入栅格的参数值过大时,请考虑应用细化方法参数减少导出至多点要素类的像元数。 选项如下:

    • z 容差 - 细化像元的同时保持垂直精度。
    • - 细化像元的同时控制水平采样距离。
    • VIP - 当生成的多点主要应用于可视化应用程序时,请使用此方法。 此方法相对较快,能够输出可预测点数,并识别局部山峰和凹地。 然而,该方法对噪点敏感,可能会忽略跨越范围大于 3 像元 × 3 像元的地形要素。
    • VIP 直方图 - 使用此选项作为应用 VIP 选项的初始步骤,它会生成显著性得分的直方图,便于您了解将选择的点数以及每个递增百分数值。

参数

标注说明数据类型
输入栅格

将处理此栅格。

Raster Layer; Mosaic Layer
输出要素类

将生成的要素类。

Feature Class
输出 VIP 表
(可选)

在为细化方法参数指定 VIP 直方图时,将创建的直方图表格。

在为 method 参数指定 VIP_HISTOGRAM 时,将创建的直方图表格。

Table
细化方法
(可选)

指定要应用于输入栅格的细化方法,以选择要导出至多点要素类的像元的子集。

  • 无细化不应用细化。 这是默认设置。
  • Z 容差仅导出维护输入栅格指定 Z 范围内的表面所需的像元。
  • 根据细化值参数值将栅格划分为大小相等的分块,并导出一两个符合方法参数值的像元。
  • VIP采用创建三维最佳拟合平面所使用的 3 像元 × 3 像元的移动窗口。 每个像元都基于其与此平面的绝对差获得一个显著性得分。 随后,这些得分的直方图将用于根据细化值参数值确定要导出的像元。
  • VIP 直方图创建表格以查看实际显著值和与这些值关联的相应点数。
String
核方法
(可选)

指定在输入栅格应用核细化时在每个核邻域中使用的选择方法。

  • 最小值在像元处(此像元具有在核邻域中找到的最小高程值)创建一个点。 这是默认设置。
  • 最大值在像元处(此像元具有在核邻域中找到的最大高程值)创建一个点。
  • 最小值和最大值在像元处(分别具有在核邻域中找到的最小和最大 Z 值)创建两个点。
  • 最接近平均值在像元处(其高程值最接近核邻域中像元的平均值)创建一个点。
String
Z 因子
(可选)

Z 值将乘上的系数。 此值通常用于转换 z 线性单位来匹配 x,y 线性单位。 默认值为 1,此时高程值保持不变。 如果输入表面的空间参考具有已指定线性单位的 z 基准,则此参数不可用。

Double
细化值
(可选)

细化方法参数值关联的细化值。

  • Z 容差 - 输入栅格与通过输出多点要素类创建的表面之间所允许的最大差异(z 单位)。 默认值是输入栅格 z 范围的 1/10。
  • - 每个分块边缘的栅格像元数。 默认值为 3,这意味着栅格将被划分为 3 像元 × 3 像元的窗口。
  • VIP - 显著性得分直方图的百分比数等级。 默认值为 5.0,这意味着将导出分数在直方图前 5 % 内的像元。
Double

arcpy.ddd.RasterToMultipoint(in_raster, out_feature_class, {out_vip_table}, {method}, {kernel_method}, {z_factor}, {thinning_value})
名称说明数据类型
in_raster

将处理此栅格。

Raster Layer; Mosaic Layer
out_feature_class

将生成的要素类。

Feature Class
out_vip_table
(可选)

在为细化方法参数指定 VIP 直方图时,将创建的直方图表格。

在为 method 参数指定 VIP_HISTOGRAM 时,将创建的直方图表格。

Table
method
(可选)

指定要应用于输入栅格的细化方法,以选择要导出至多点要素类的像元的子集。

  • NO_THIN不应用细化。 这是默认设置。
  • ZTOLERANCE仅导出维护输入栅格指定 Z 范围内的表面所需的像元。
  • KERNEL根据细化值参数值将栅格划分为大小相等的分块,并导出一两个符合方法参数值的像元。
  • VIP采用创建三维最佳拟合平面所使用的 3 像元 × 3 像元的移动窗口。 每个像元都基于其与此平面的绝对差获得一个显著性得分。 随后,这些得分的直方图将用于根据细化值参数值确定要导出的像元。
  • VIP_HISTOGRAM创建表格以查看实际显著值和与这些值关联的相应点数。
String
kernel_method
(可选)

指定在输入栅格应用核细化时在每个核邻域中使用的选择方法。

  • MIN在像元处(此像元具有在核邻域中找到的最小高程值)创建一个点。 这是默认设置。
  • MAX在像元处(此像元具有在核邻域中找到的最大高程值)创建一个点。
  • MINMAX在像元处(分别具有在核邻域中找到的最小和最大 Z 值)创建两个点。
  • MEAN在像元处(其高程值最接近核邻域中像元的平均值)创建一个点。
String
z_factor
(可选)

Z 值将乘上的系数。 此值通常用于转换 z 线性单位来匹配 x,y 线性单位。 默认值为 1,此时高程值保持不变。 如果输入表面的空间参考具有已指定线性单位的 z 基准,则此参数不可用。

Double
thinning_value
(可选)

method 参数值关联的细化值。

  • ZTolerance - 输入栅格与通过输出多点要素类创建的表面之间所允许的最大差异(z 单位)。 默认值是输入栅格 z 范围的 1/10。
  • KERNEL - 每个分块边缘的栅格像元数。 默认值为 3,这意味着栅格将被划分为 3 像元 × 3 像元的窗口。
  • VIP - 显著性得分直方图的百分比数等级。 默认值为 5.0,这意味着将导出分数在直方图前 5 % 内的像元。
Double

代码示例

RasterToMultipoint 示例 1(Python 窗口)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.RasterToMultipoint("elevation.tif", out_vip_table="elev_VIP.dbf", 
                            method="VIP_HISTOGRAM", z_factor=1)
RasterToMultipoint 示例 2(独立脚本)

下面的示例演示了如何在独立 Python 脚本中使用此工具。

'''*********************************************************************
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

# Set default workspace
arcpy.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:
    print("There are no IMG rasters in the " + env.workspace + " directory.")

相关主题