Skip To Content

Extract Multi Values to Points

Available with Spatial Analyst license.

Summary

Extracts cell values at locations specified in a point feature class from one or more rasters and records the values to the attribute table of the point feature class.

Usage

    Caution:

    This tool modifies the input data. Consider making a duplicate copy of the dataset first and execute the tool on that, instead. Alternatively, if the results aren't satisfactory, you can remove the added fields with the Delete Field tool.

  • This tool may modify the ID number for the input points in its operation. Thus, it is recommended to have a explicit unique identifier field in the attibute table of your input point dataset, instead of solely relying on the Object ID field provided by the original dataset (which may be FID, OID or ObjectID, depending on format). An easy way to have one is to add a new integer field and calculate this value into it. This will ensure you will be able to relate the results back to your original input.

  • Any combination of rasters (single band or multiband) can be specified as input.

  • A cell value will be extracted for each input raster. A new field containing the cell values for each input raster will appended to the input point feature class.

  • Additional attributes from the input raster table, if any, will not be appended to the input point features.

  • When a multiband raster is specified as one of the Input Rasters (in_rasters in Python), all of the bands in that input will be used.

    To process a selection of bands from an input multiband raster, first create a new raster dataset composed of those particular bands with the Composite Bands tool. Use the result in the list of input rasters.

  • Output field names are created from the name of the input raster by default; otherwise, you can specify a unique name for each field to store raster values.

  • When the input is a multiband raster, a field will be added for all bands with a b1_, b2_, …bn prefix added to the name of the output field denoting the band number.

  • The interpolation option determines how the values will be obtained from the raster. The default option is to use the value at the center of the cell being sampled. The interpolation option will use bilinear interpolation to interpolate a value for the cell center.

  • Shapefile formats have a maximum field limitation of 10 characters in length. Output fields appended to the input shapefile will be truncated and made unique by default. This may make it hard to distinguish between input rasters if the names are long or very similar. In this case it is suggested to convert the input features to a file geodatabase and use those as the input instead.

  • Locations that sample NoData cells in the input raster, or rasters, will be given a <null> value when the input point features are in a geodatabase. When the input is a shapefile, since the concept of null is not supported, a value of -9999 will be given.

  • Multipoint datasets are not supported as input.

  • See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

Syntax

ExtractMultiValuesToPoints (in_point_features, in_rasters, {bilinear_interpolate_values})
ParameterExplanationData Type
in_point_features

The input point features to which you want to add raster values.

Feature Layer
in_rasters
[Raster, {Output Field Name}]

The input raster (or rasters) values you want to extract based on the input point feature location.

Optionally, you can supply the name for the field to store the raster value. By default, a unique field name will be created based on the input raster dataset name.

Extract Values
bilinear_interpolate_values
(Optional)

Specifies whether or not interpolation will be used.

  • NONE No interpolation will be applied; the value of the cell center will be used. This is the default.
  • BILINEAR The value of the cell will be calculated from the adjacent cells with valid values using bilinear interpolation. NoData values will be ignored in the interpolation unless all adjacent cells are NoData.
Boolean

Code sample

ExtractMultiValuesToPoints example 1 (Python window)

Extract the cell values from multiple rasters to attributes in a point shapefile feature class.

import arcpy
from arcpy.sa import *
from arcpy import env 
env.workspace = "c:/sapyexamples/data"
ExtractMultiValuesToPoints("observers.shp", [["elevation", "ELEV"], 
                           ["costraster", "COST"], ["flowdir", "DIR"]], "NONE")
ExtractMultiValuesToPoints example 2 (stand-alone script)

Extract the cell values from multiple rasters to attributes in a point shapefile feature class using interpolation.

# Name: ExtractMultiValuesToPoints_Ex_02.py
# Description: Extracts the cells of multiple rasters as attributes in
#    an output point feature class.  This example takes a multiband IMG
#    and two GRID files as input.
# 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 = "poi.shp"
inRasterList = [["doqq.img", "doqqval"], ["redstd", "focalstd"], 
                ["redmin", "focalmin"]]

# Execute ExtractValuesToPoints
ExtractMultiValuesToPoints(inPointFeatures, inRasterList, "BILINEAR")

Licensing information

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

Related topics