ArcGIS反距离权重法插值应用

前面已经介绍过反距离权重插值方法的工作原理,这篇讲讲在ArcGIS当中如何实现反距离权重插值。

用法

  • 使用反距离权重法 (IDW) 获得的像元输出值限定在插值时用到的值范围之内。因为反距离权重法是加权平均距离,所以该平均值不可能大于最大输入或小于最小输入。因此,如果尚未对这些极值采样,便无法创建山脊或山谷 (Watson and Philip 1985)。

  • 如果采样对于正在尝试模拟的本地变量来说足够密集,则基于反距离权重法会获得最佳结果。如果输入点的采样很稀疏或不均匀,则结果可能会不足以表示出所需的表面 (Watson and Philip 1985)。

  • 输入点对内插值的影响是各向同性的。由于输入点对内插值的影响与距离相关,因此反距离权重法不属于保留山脊范畴 (Philip and Watson 1982)。

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

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

  • 障碍选项用于指定已知会中断表面连续性的线状要素的位置。这些要素不具有 z 值。典型的障碍示例如悬崖、断层和堤坝。对于将采样插值为输出 z 值所用的输入采样点集,障碍会将其选择范围限制在处于障碍同一侧的当前待处理像元。障碍造成的间隔由在每对点之间进行的视线分析确定。这表示对于要从彼此影响区域中排除的两点来说,拓扑间隔不是必需的。恰好位于障碍线上的输入采样点将包括在为障碍两侧选定的采样集中。

  • 障碍要素作为折线要素输入。反距离权重法仅使用 x,y 坐标表示线状要素;因此没有必要为障碍的左右两侧提供 z 值。提供的任何 z 值都将被忽略。

  • 使用障碍将显著增加处理时间。

  • 此工具最多可处理约 4,500 万个输入点。如果输入要素类包含 4,500 万个以上的点,工具可能无法创建结果。您可通过以多个部分对研究区域进行插值来避免这一限制,先确保在边缘中存在一些重叠数据,然后通过镶嵌结果来创建单个的大型栅格数据集。此外,可以使用
    terrain 数据集来存储和显示点和由数十亿个测量点组成的表面。

    如果拥有 Geostatistical Analyst 扩展模块,您就可以通过模块中提供的反距离权重法工具版本来处理更大型的数据集。

  • 输入要素数据必须至少包含一个有效字段。

语法

Idw_3d (in_point_features, z_field, out_raster, {cell_size}, {power}, {search_radius}, {in_barrier_polyline_features})


代码实例

反距离权重法示例 1(Python 窗口)

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

import arcpy
from arcpy import env  
env.workspace = "C:/data"
arcpy.Idw_3d("ozone_pts.shp", "ozone", "C:/output/idwout.tif", 2000, 2, 10)


反距离权重法示例 2(独立脚本)

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

# Name: IDW_3d_Ex_02.py
# Description: Interpolate a series of point features onto a
#    rectangular raster using Inverse Distance Weighting (IDW).
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
inPointFeatures = "ca_ozone_pts.shp"
zField = "ozone"
outRaster = "C:/output/idwout01"
cellSize = 2000.0
power = 2
searchRadius = 150000

# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")

# Execute IDW
arcpy.Idw_3d(inPointFeatures, zField, outRaster, cellSize,power, searchRadius)

转载自:https://blog.csdn.net/shengmingqijiquan/article/details/52384539

You may also like...