Sample (Spatial Analyst)
Summary
Creates a table that shows the values of cells from a raster, or set of rasters, for defined locations. The locations are defined by raster cells or by a set of points.
Usage
-
When the input location is a raster, the set of location cells consists of all cells that have a value of zero or greater. Cells that have NoData values are not included in the location set. A location raster can be easily created using the extraction tools.
-
Locations that sample NoData cells in the input raster or rasters will be given a <null> value in an output geodatabase table. For output to INFO or .dbf, since the concept of null is not supported, a value of 0 (zero) will be given.
-
The field type of the sampled values in the output table is always floating point. This is to ensure that the appropriate degree of precision is retained if the Bilinear or Cubic options for the resampling technique were to be selected.
-
When the location input is raster, for best results, the cell size and registration of the input rasters and the location raster should be the same.
-
The output from the tool is a table.
Multipoint datasets are not supported as input.
Syntax
Parameter | Explanation | Data Type |
in_rasters [in_raster,...] |
The list of rasters whose values will be sampled based on the input location data. | Raster Layer |
in_location_data |
Data identifying positions at which you want a sample taken. This can be a raster or a point feature dataset. | Raster Layer | Feature Layer |
out_table |
Output table holding the sampled cell values. The format of the table is determined by the output location and path. If no extension is specified, it will be an INFO table. If the location is in a geodatabase, the output table will be created in that particular type (for example, a file or ArcSDE geodatabase). If the name has a .dbf extension, the output will be in dBASE format. | Table |
resampling_type (Optional) |
Resampling algorithm used when sampling a raster.
| String |
Code Sample
Extract the cell values from multiple rasters to a table based on input locations.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Sample(["elevation", "costraster"], "observers.shp",
"c:/sapyexamples/output/samptable","NEAREST")
Extract the cell values from multiple rasters to a table based on input locations.
# Name: Sample_Ex_02.py
# Description: Creates a table that shows the values of cells from
# a raster, or set of rasters, for defined locations.
# The locations are defined by raster cells or by a set
# of points.
# 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
inRasters = ["elevation",
"costraster"]
locations = "observers.shp"
outTable = "c:/sapyexamples/output/samptable02"
sampMethod = "NEAREST"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Sample
Sample(inRasters, locations, outTable, sampMethod)