Skip To Content

Local Polynomial Interpolation

Available with Geostatistical Analyst license.

Summary

Fits the specified order (zero, first, second, third, and so on) polynomial, each within specified overlapping neighborhoods, to produce an output surface.

How Local Polynomial Interpolation works

Usage

  • Use Local Polynomial Interpolation when your dataset exhibits short-range variation.

  • Global Polynomial Interpolation is useful for creating smooth surfaces and identifying long-range trends in the dataset. However, in earth sciences, the variable of interest usually has short-range variation in addition to long-range trend. When the dataset exhibits short-range variation, Local Polynomial Interpolation maps can capture the short-range variation.

Syntax

LocalPolynomialInterpolation_ga (in_features, z_field, {out_ga_layer}, {out_raster}, {cell_size}, {power}, {search_neighborhood}, {kernel_function}, {bandwidth}, {use_condition_number}, {condition_number}, {weight_field}, {output_type})
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
power
(Optional)

The order of the polynomial.

Long
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

  • majorSemiaxis—The major semiaxis value of the searching neighborhood.
  • minorSemiaxis—The minor semiaxis value of the searching neighborhood.
  • angle—The angle of rotation for the axis (circle) or semimajor axis (ellipse) of the moving window.
  • nbrMax—The maximum number of neighbors that will be used to estimate the value at the unknown location.
  • nbrMin—The minimum number of neighbors that will be used to estimate the value at the unknown location.
  • sectorType—The geometry of the neighborhood.
    • ONE_SECTOR—Single ellipse.
    • FOUR_SECTORS—Ellipse divided into four sectors.
    • FOUR_SECTORS_SHIFTED—Ellipse divided into four sectors and shifted 45 degrees.
    • EIGHT_SECTORS—Ellipse divided into eight sectors.

Smooth

  • majorSemiaxis—The major semiaxis value of the searching neighborhood.
  • minorSemiaxis—The minor semiaxis value of the searching neighborhood.
  • angle—The angle of rotation for the axis (circle) or semimajor axis (ellipse) of the moving window.
  • smoothFactor—The Smooth Interpolation option creates an outer ellipse and an inner ellipse at a distance equal to the Major Semiaxis multiplied by the Smoothing factor. The points that fall outside the smallest ellipse but inside the largest ellipse are weighted using a sigmoidal function with a value between zero and one.

Standard Circular

  • radius—The length of the radius of the search circle.
  • angle—The angle of rotation for the axis (circle) or semimajor axis (ellipse) of the moving window.
  • nbrMax—The maximum number of neighbors that will be used to estimate the value at the unknown location.
  • nbrMin—The minimum number of neighbors that will be used to estimate the value at the unknown location.
  • sectorType—The geometry of the neighborhood.
    • ONE_SECTOR—Single ellipse.
    • FOUR_SECTORS—Ellipse divided into four sectors.
    • FOUR_SECTORS_SHIFTED—Ellipse divided into four sectors and shifted 45 degrees.
    • EIGHT_SECTORS—Ellipse divided into eight sectors.

Smooth Circular

  • radius—The length of the radius of the search circle.
  • smoothFactor—The Smooth Interpolation option creates an outer ellipse and an inner ellipse at a distance equal to the Major Semiaxis multiplied by the Smoothing factor. The points that fall outside the smallest ellipse but inside the largest ellipse are weighted using a sigmoidal function with a value between zero and one.
Geostatistical Search Neighborhood
kernel_function
(Optional)

The kernel function used in the simulation.

  • EXPONENTIALThe function grows or decays proportionally.
  • GAUSSIANBell-shaped function that falls off quickly toward plus or minus infinity.
  • QUARTICFourth-order polynomial function.
  • EPANECHNIKOVA discontinuous parabolic function.
  • POLYNOMIAL5Fifth-order polynomial function.
  • CONSTANTAn indicator function.
String
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
use_condition_number
(Optional)

Option to control the creation of prediction and prediction standard errors where the predictions are unstable. This option is only available for polynomials of order 1, 2, and 3.

  • NO_USE_CONDITION_NUMBERPredictions will be created everywhere, including areas where the predictions are unstable. This is the default.
  • USE_CONDITION_NUMBERPrediction and prediction standard errors will not be created where the predictions are unstable.
Boolean
condition_number
(Optional)

Every invertible square matrix has a condition number that indicates how inaccurate the solution to the linear equations can be with a small change in the matrix coefficients (it can be due to imprecise data). If the condition number is large, a small change in the matrix coefficients results in a large change in the solution vector.

Double
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
output_type
(Optional)

Surface type to store the interpolation results.

For more information about the output surface types, see What output surface types can the interpolation models generate?

  • PREDICTIONPrediction surfaces are produced from the interpolated values.
  • PREDICTION_STANDARD_ERROR Standard Error surfaces are produced from the standard errors of the interpolated values.
  • CONDITION_NUMBERThe Spatial condition number surface indicates the stability of calculations at a particular location. The larger the condition number, the more unstable the prediction, so locations with large condition numbers may be prone to artifacts and erratic predicted values.
String

Code sample

LocalPolynomialInterpolation example 1 (Python window)

Interpolate point features onto a rectangular raster.

import arcpy
arcpy.env.workspace = "C:/gapyexamples/data"
arcpy.LocalPolynomialInterpolation_ga(
    "ca_ozone_pts", "OZONE", "outLPI", "C:/gapyexamples/output/lpiout", "2000",
    "2", arcpy.SearchNeighborhoodSmooth(300000, 300000, 0, 0.5), "QUARTIC", 
    "", "", "", "", "PREDICTION")
LocalPolynomialInterpolation example 2 (stand-alone script)

Interpolate point features onto a rectangular raster.

# Name: LocalPolynomialInterpolation_Example_02.py
# Description: Local Polynomial interpolation fits many polynomials, each 
#              within specified overlapping neighborhoods. 
# 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 = "outLPI"
outRaster = "C:/gapyexamples/output/lpiout"
cellSize = 2000.0
power = 2
kernelFunction = "QUARTIC"
bandwidth = ""
useConNumber = ""
conNumber = ""
weightField = ""
outSurface = "PREDICTION"

# Set variables for search neighborhood
majSemiaxis = 300000
minSemiaxis = 300000
angle = 0
smoothFactor = 0.5
searchNeighbourhood = arcpy.SearchNeighborhoodSmooth(majSemiaxis, minSemiaxis,
                                                     angle, smoothFactor)


# Execute LocalPolynomialInterpolation
arcpy.LocalPolynomialInterpolation_ga(inPointFeatures, zField, outLayer, outRaster,
                                      cellSize, power, searchNeighbourhood,
                                      kernelFunction, bandwidth, useConNumber,
                                      conNumber, weightField, outSurface)

Licensing information

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

Related topics