Skip To Content


Available with Spatial Analyst license.

Available with 3D Analyst license.


Interpolates a raster surface from points using a trend technique.

Learn more about how Trend works


  • As the order of the polynomial is increased, the surface being fitted becomes progressively more complex. A higher-order polynomial will not always generate the most accurate surface; it is dependent on the data.

  • The optional RMS file output contains information on the RMS (root mean square) error of the interpolation. This information can be used to determine the best value to use for the polynomial order, by changing the order value until you get the lowest RMS error. See How Trend works for information on the RMS file.

  • For the Logistic option of Type of regression, the z-value field of input point features should have codes of zero (0) and one (1).

  • Some input datasets may have several points with the same x,y coordinates. If the values of the points at the common location are the same, they are considered duplicates and have no effect on the output. If the values are different, they are considered coincident points.

    The various interpolation tools may handle this data condition differently. For example, in some cases, the first coincident point encountered is used for the calculation; in other cases, the last point encountered is used. This may cause some locations in the output raster to have different values than what you might expect. The solution is to prepare your data by removing these coincident points. The Collect Events tool in the Spatial Statistics toolbox is useful for identifying any coincident points in your data.


Trend_3d (in_point_features, z_field, out_raster, {cell_size}, {order}, {regression_type}, {out_rms_file})
ParameterExplanationData Type

The input point features containing the z-values to be interpolated into a surface raster.

Feature Layer

The field that holds a height or magnitude value for each point.

This can be a numeric field or the Shape field if the input point features contain z-values.

If the regression type is Logistic, the values in the field can only be 0 or 1.


The output interpolated surface raster.

It is always a floating-point raster.

Raster Dataset

The cell size at which the output raster will be created.

This will be the value in the environment if it is explicitly set; otherwise, 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

The order of the polynomial.

This must be an integer between 1 and 12. A value of 1 will fit a flat plane to the points, and a higher value will fit a more complex surface. The default is 1.


The type of regression to be performed.

  • LINEAR Polynomial regression is performed to fit a least-squares surface to the set of input points. This is applicable for continuous types of data.
  • LOGISTIC Logistic trend surface analysis is performed. It generates a continuous probability surface for binary, or dichotomous, types of data.

File name for the output text file that contains information about the RMS error and the Chi-Square of the interpolation.

The extension must be .txt.


Code sample

Trend example 1 (Python window)

This example inputs a point shapefile and interpolates the output surface as a TIFF raster.

import arcpy
from arcpy import env  
env.workspace = "C:/data"
arcpy.Trend_3d("ca_ozone_pts.shp", "ozone", 
               "C:/output/trendout.tif", 2000, 2, "LINEAR")
Trend example 2 (stand-alone script)

This example inputs a point shapefile and interpolates the output surface as a Grid raster.

# Name:
# Description: Interpolate a series of point features onto a
#              rectangular raster using a trend technique.
# 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:/sapyexamples/output/trendout02"
cellSize = 2000.0
PolynomialOrder = 2
regressionType = "LINEAR"

# Execute Trend
arcpy.Trend_3d(inPointFeatures, zField, outRaster, cellSize, 
               PolynomialOrder, regressionType)

Licensing information

  • ArcGIS Desktop Basic: Requires 3D Analyst or Spatial Analyst
  • ArcGIS Desktop Standard: Requires 3D Analyst or Spatial Analyst
  • ArcGIS Desktop Advanced: Requires 3D Analyst or Spatial Analyst

Related topics