反距离权重法 (空间分析)

摘要

使用反距离加权法 (IDW) 将点插值成栅格表面。

了解有关反距离权重法工作原理的详细信息

用法

语法

Idw (in_point_features, z_field, {cell_size}, {power}, {search_radius}, {in_barrier_polyline_features})
参数说明数据类型
in_point_features

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

Feature Layer
z_field

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

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

Field
cell_size
(可选)

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

如果明确设置该值,则它将是环境中的值,否则,它是输入空间参考中输入点要素范围的宽度或高度除以 250 之后得到的较小值。

Analysis Cell Size
power
(可选)

距离的指数。

用于控制内插值周围点的显著性。幂值越高,远数据点的影响会越小。它可以是任何大于 0 的实数,但使用从 0.5 到 3 的值可以获得最合理的结果。默认值为 2。

Double
search_radius
(可选)

Radius 类可定义要用来对输出栅格中各像元值进行插值的输入点。

radius 类分为两种类型:RadiusVariableRadiusFixed。使用“可变”搜索半径来查找用于插值的指定数量的输入采样点。“固定”类型使用指定的固定距离,将利用此距离范围内的所有输入点进行插值。“可变”类型是默认值。

  • RadiusVariable ({numberofPoints}, {maxDistance})
    • {numberofPoints} - 指定要用于执行插值的最邻近输入采样点数量的整数值。默认值为 12 个点。
    • {maxDistance} - 使用地图单位指定距离,以此限制对最邻近输入采样点的搜索。默认值是范围的对角线长度。
  • RadiusFixed ({distance}, {minNumberofPoints})
    • {distance} - 指定用作半径的距离,在该半径范围内的输入采样点将用于执行插值。

      半径值使用地图单位来表示。默认半径是输出栅格像元大小的五倍。

    • {minNumberofPoints} - 定义用于插值的最小点数的整数。默认值为 0。

      如果在指定距离内没有找到所需点数,则将增加搜索距离,直至找到指定的最小点数。

      搜索半径需要增加时就会增加,直到 {minNumberofPoints} 在该半径范围内,或者半径的范围越过输出栅格的下部(南)和/或上部(北)范围为止。NoData 会分配给不满足以上条件的所有位置。

Radius
in_barrier_polyline_features
(可选)

要在搜索输入采样点时用作中断或限制的折线要素。

Feature Layer

返回值

名称说明数据类型
out_raster

输出插值后的表面栅格。

Raster

代码示例

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

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

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outIDW = Idw("ozone_pts.shp", "ozone", 2000, 2, RadiusVariable(10, 150000))
outIDW.save("C:/sapyexamples/output/idwout.tif")
反距离权重法示例 2(独立脚本)

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

# Name: IDW_Ex_02.py
# Description: Interpolate a series of point features onto a rectangular 
#   raster using Inverse Distance Weighting (IDW).
# 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 = 2000.0
power = 2
searchRadius = RadiusVariable(10, 150000)

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

# Execute IDW
outIDW = Idw(inPointFeatures, zField, cellSize, power, searchRadius)

# Save the output 
outIDW.save("C:/sapyexamples/output/idwout02")

环境

相关主题

许可信息

ArcView: 需要 Spatial Analyst 或 3D Analyst
ArcEditor: 需要 Spatial Analyst 或 3D Analyst
ArcInfo: 需要 Spatial Analyst 或 3D Analyst

7/10/2012