Available with Geostatistical Analyst license.
Summary
Uses the measured values surrounding the prediction location to predict a value for any unsampled location, based on the assumption that things that are close to one another are more alike than those that are farther apart.
Usage
The predicted value is limited to the range of the values used to interpolate. Because IDW is a weighted distance average, the average cannot be greater than the highest or less than the lowest input. Therefore, it cannot create ridges or valleys if these extremes have not already been sampled.
IDW can produce a bull's-eye effect around data locations.
Unlike other interpolation methods—such as Kriging—IDW does not make explicit assumptions about the statistical properties of the input data. IDW is often used when the input data does not meet the statistical assumptions of more advanced interpolation methods.
This method is well-suited to be used with very large input datasets.
Syntax
arcpy.ga.IDW(in_features, z_field, {out_ga_layer}, {out_raster}, {cell_size}, {power}, {search_neighborhood}, {weight_field})
Parameter | Explanation | Data Type |
in_features | The input point features containing the z-values to be interpolated. | Feature Layer |
z_field | Field that holds a height or magnitude value for each point. This can be a numeric field or the Shape field if the input features contain z-values or m-values. | Field |
out_ga_layer (Optional) | The geostatistical layer produced. This layer is required output only if no output raster is requested. | Geostatistical Layer |
out_raster (Optional) | The output raster. This raster is required output only if no output geostatistical layer is requested. | Raster Dataset |
cell_size (Optional) | The cell size at which the output raster will be created. This value can be explicitly set under Raster Analysis from the Environment Settings. If not set, it is the shorter of the width or the height of the extent of the input point features, in the input spatial reference, divided by 250. | Analysis Cell Size |
power (Optional) | The exponent of distance that controls the significance of surrounding points on the interpolated value. A higher power results in less influence from distant points. | Double |
search_neighborhood (Optional) | Defines which surrounding points will be used to control the output. Standard is the default. The following are Search Neighborhood classes: SearchNeighborhoodStandard, SearchNeighborhoodSmooth, SearchNeighborhoodStandardCircular, and SearchNeighborhoodSmoothCircular. Standard
Smooth
Standard Circular
Smooth Circular
| Geostatistical Search Neighborhood |
weight_field (Optional) | Used to emphasize an observation. The larger the weight, the more impact it has on the prediction. For coincident observations, assign the largest weight to the most reliable measurement. | Field |
Code sample
IDW (Python window)
Interpolate a series of point features onto a raster.
import arcpy
arcpy.env.workspace = "C:/gapyexamples/data"
arcpy.IDW_ga("ca_ozone_pts", "OZONE", "outIDW", "C:/gapyexamples/output/idwout", "2000", "2",
arcpy.SearchNeighborhoodStandard(300000, 300000, 0, 15, 10, "ONE_SECTOR"), "")
IDW (stand-alone script)
Interpolate a series of point features onto a raster.
# Name: InverseDistanceWeighting_Example_02.py
# Description: Interpolate a series of point features onto a rectangular raster
# using Inverse Distance Weighting (IDW).
# Requirements: Geostatistical Analyst Extension
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/gapyexamples/data"
# Set local variables
inPointFeatures = "ca_ozone_pts.shp"
zField = "OZONE"
outLayer = "outIDW"
outRaster = "C:/gapyexamples/output/idwout"
cellSize = 2000.0
power = 2
# Set variables for search neighborhood
majSemiaxis = 300000
minSemiaxis = 300000
angle = 0
maxNeighbors = 15
minNeighbors = 10
sectorType = "ONE_SECTOR"
searchNeighbourhood = arcpy.SearchNeighborhoodStandard(majSemiaxis, minSemiaxis,
angle, maxNeighbors,
minNeighbors, sectorType)
# Check out the ArcGIS Geostatistical Analyst extension license
arcpy.CheckOutExtension("GeoStats")
# Execute IDW
arcpy.IDW_ga(inPointFeatures, zField, outLayer, outRaster, cellSize,
power, searchNeighbourhood)
Environments
Licensing information
- Basic: Requires Geostatistical Analyst
- Standard: Requires Geostatistical Analyst
- Advanced: Requires Geostatistical Analyst