Skip To Content

Diffusion Interpolation With Barriers

Available with Geostatistical Analyst license.

Summary

Interpolates a surface using a kernel that is based upon the heat equation and allows one to use raster and feature barriers to redefine distances between input points.

Learn more about how Diffusion Interpolation With Barriers works

Usage

  • The absolute feature barrier employs a non-Euclidean distance approach rather than a line-of-sight approach. The line-of-sight approach requires that a straight line between the measured location and the location where the prediction is required do not intersect the barrier feature. If the distance around the barrier is within the searching neighborhood specifications, then it will be considered in this non-Euclidean distance approach.

  • The processing time is dependent on the complexity of the barrier feature classes geometry. Tools in the Generalization toolset can be used to create a new feature class by smoothing or deleting some of these features.

  • For the Input additive barrier raster parameter, the values must be greater than or equal to 1. A value of 1 implies that there is no barrier.

  • The Input cumulative barrier raster parameter should have values that are the same units as the x,y coordinates. If neighboring cells have the same values, then it implies that there is no barrier at that location.

  • Input flow barrier raster should have values that have the same units as the x,y coordinates. If the neighboring cells have the same values, then it implies that there is no barrier at that location. Also, if you go from a high to a low value, then it implies that there is no barrier.

  • A value of NoData in any of the optional raster barrier inputs has the same effect as that of having an input absolute barrier feature.

Syntax

DiffusionInterpolationWithBarriers_ga (in_features, z_field, {out_ga_layer}, {out_raster}, {cell_size}, {in_barrier_features}, {bandwidth}, {number_iterations}, {weight_field}, {in_additive_barrier_raster}, {in_cumulative_barrier_raster}, {in_flow_barrier_raster})
ParameterExplanationData 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 in the Environments by the Cell Size parameter.

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
in_barrier_features
(Optional)

Absolute barrier features using non-Euclidean distances rather than line-of-sight distances.

Feature Layer
bandwidth
(Optional)

Used to specify the maximum distance at which data points are used for prediction. With increasing bandwidth, prediction bias increases and prediction variance decreases.

Double
number_iterations
(Optional)

The iteration count controls the accuracy of the numerical solution because the model solves the diffusion equation numerically. The larger this number, the more accurate the predictions, yet the longer the processing time. The more complex the barrier's geometry and the larger the bandwidth, the more iterations are required for accurate predictions.

Long
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
in_additive_barrier_raster
(Optional)

The travel distance from one raster cell to the next based on this formula:

(average cost value in the neighboring cells) x (distance between cell centers)

Raster Layer
in_cumulative_barrier_raster
(Optional)

The travel distance from one raster cell to the next based on this formula:

(difference between cost values in the neighboring cells) + (distance between cell centers)

Raster Layer
in_flow_barrier_raster
(Optional)

A flow barrier is used when interpolating data with preferential direction of data variation, based on this formula:

Indicator (cost values in the to neighboring cell > cost values in the from neighboring cell) * (cost values in the to neighboring cell - cost values in the from neighboring cell) + (distance between cell centers),

where indicator(true) = 1 and indicator(false) = 0.

Raster Layer

Code sample

DiffusionInterpolationWithBarriers example 1 (Python window)

Interpolate point features that are constrained by a barrier onto a rectangular raster.

import arcpy
arcpy.env.workspace = "C:/gapyexamples/data"
arcpy.DiffusionInterpolationWithBarriers_ga("ca_ozone_pts", "OZONE", "outDIWB",
                                            "C:/gapyexamples/output/diwbout", "2000",
                                            "ca_outline", "", "10", "", "", "", "")
DiffusionInterpolationWithBarriers example 2 (stand-alone Python script)

Interpolate point features that are constrained by a barrier onto a rectangular raster.

# Name: DiffusionInterpolationWithBarriers_Example_02.py
# Description: Diffusion Interpolation with Barriers uses a kernel which is 
#              based upon the heat equation and describes the variation in 
#              temperature with time in a homogeneous medium.
# 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 = "outDIWB"
outRaster = "C:/gapyexamples/output/diwbout"
cellSize = 2000.0
power = 2
inBarrier = "ca_outline.shp"
bandwidth = ""
iterations = 10
weightField = ""
addBarrier = ""
cumuBarrier = ""
flowBarrier = ""

# Execute DiffusionInterpolationWithBarriers
arcpy.DiffusionInterpolationWithBarriers_ga(inPointFeatures, zField, outLayer,
                                            outRaster, cellSize, inBarrier,
                                            bandwidth, iterations, weightField,
                                            addBarrier, cumuBarrier, flowBarrier)

Licensing information

  • ArcGIS Desktop Basic: Requires Geostatistical Analyst
  • ArcGIS Desktop Standard: Requires Geostatistical Analyst
  • ArcGIS Desktop Advanced: Requires Geostatistical Analyst

Related topics