自然邻域法 (Spatial Analyst)

需要 Spatial Analyst 许可。

需要 3D Analyst 许可。

摘要

使用自然邻域法将点插值成栅格表面。

了解有关“自然邻域法”工作原理的详细信息

使用情况

  • 如果输出栅格最外围像元的像元中心落在凸包(由输入点定义)之外,那么这些像元将被赋予 NoData 值。 如果输入点位于某个外围像元内,而像元中心位于凸包之外,则仍将为像元分配 NoData 值。

  • 输出像元大小参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(前提是已指定环境)。 如果未指定参数像元大小和环境像元大小,但已设置捕捉栅格环境,则将使用捕捉栅格的像元大小。 如果未指定任何内容,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。

  • 如果使用数值指定像元大小,则工具会直接将其用于输出栅格。

    如果使用栅格数据集指定像元大小,则该参数将显示栅格数据集的路径而不是像元大小的值。 如果数据集的空间参考与输出空间参考相同,则栅格数据集的像元大小将直接用于分析。 如果数据集的空间参考与输出空间参考不同,则将基于所选的像元大小投影方法进行投影。

  • 某些输入数据集可能包含多个具有相同 x,y 坐标的点。如果共有位置处的点的值相同,则将其视为重复项,但并不影响输出。如果值不同,则将这些点视为重合点。

    各种插值工具可在不同条件下以不同方式处理此数据。例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。这可能导致输出栅格中某些位置的值与预期值不同。解决办法就是在准备数据时移除这些重合点。“空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。

  • 对于支持 Null 值的数据格式,例如文件地理数据库要素类,在将 Null 值用作输入时,该值将被忽略。

  • 建议输入数据使用投影坐标系(而非地理坐标系)。

  • 如果 ArcGIS 3D Analyst extension 可用,另一种方法是使用 TIN 数据集。 首先,基于源数据创建 TIN 表面。 然后,使用 TIN 转栅格工具将生成的 TIN 转换为栅格,并使用“自然邻域法”选项。 如果使用隔断线或形状不规则的数据区域,这将非常有用。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入点要素

包含要插值到表面栅格中的 z 值的输入点要素。

Feature Layer
Z 值字段

存放每个点的高度值或量级值的字段。

如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。

Field
输出像元大小
(可选)

将创建的输出栅格的像元大小。

此参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。 有关详细信息,请参阅用法部分。

Analysis Cell Size

返回值

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

输出插值后的表面栅格。

其总为浮点栅格。

Raster

NaturalNeighbor(in_point_features, z_field, {cell_size})
名称说明数据类型
in_point_features

包含要插值到表面栅格中的 z 值的输入点要素。

Feature Layer
z_field

存放每个点的高度值或量级值的字段。

如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。

Field
cell_size
(可选)

将创建的输出栅格的像元大小。

此参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。 有关详细信息,请参阅用法部分。

Analysis Cell Size

返回值

名称说明数据类型
out_raster

输出插值后的表面栅格。

其总为浮点栅格。

Raster

代码示例

NaturalNeighbor 示例 1(Python 窗口)

该示例输入一个点 shapefile,然后通过对表面插值,输出得到 TIFF 栅格。

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNaturalNeighbor = NaturalNeighbor("ozone_pts.shp", "ozone", 2000)
outNaturalNeighbor.save("C:/sapyexamples/output/nnout.tif")
NaturalNeighbor 示例 2(独立脚本)

该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。

# Name: NaturalNeighbor_Ex_02.py
# Description: Interpolate a series of point features onto a 
#    rectangular raster using Natural Neighbor interpolation.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inPointFeatures = "ca_ozone_pts.shp"
zField = "ozone"
cellSize = 40000

# Execute NaturalNeighbor
outNatNbr = NaturalNeighbor(inPointFeatures, zField, cellSize)

# Save the output 
outNatNbr.save("C:/sapyexamples/output/nnout02")

许可信息

  • Basic: 需要 Spatial Analyst 或 3D Analyst
  • Standard: 需要 Spatial Analyst 或 3D Analyst
  • Advanced: 需要 Spatial Analyst 或 3D Analyst

相关主题