需要 Spatial Analyst 许可。
描述
创建一个表,其中显示从一个栅格或一组栅格提取的已定义位置的像元值。这些位置可通过栅格像元或一组点进行定义。
输入栅格可以是二维或多维的。如果输入栅格是多维的,输出表的结构会发生更改。
使用方法
系统将从每个位置的所有输入栅格中提取像元值。系统将使用包含每个输入栅格像元值的字段创建一个表格。
输入栅格表中的其他属性(若有的话)将不会包含在输出表中。
输入栅格不会进行重采样以支持分析环境。相反,系统将以所有输入栅格的原始分辨率和空间参考来提取像元值,方法是将输入位置投影到从中提取值的栅格空间参考。
但是,分析环境将应用于输入位置。
从输入栅格的 NoData 像元中提取值的位置将在输出表中被赋予 <空> 值。对于 shapefile,由于不支持空字段,因此 NoData 像元在表中以值 -9999 表示。
可以将任意栅格组合(单波段或多波段)指定为输入栅格(Python 中的 in_rasters)。
将多波段栅格指定为输入栅格(Python 中的 in_rasters)之一时,将使用该输入中的所有波段。
要处理一系列来自输入多波段栅格的波段,请首先用波段合成工具创建由这些特定波段组成的新栅格数据集。在输入栅格列表中使用该结果。
如果输入位置数据为栅格,则每个包含有效值(非 NoData)的像元的中心均可用于从该位置的所有输入栅格中提取像元值。
如果输入位置数据为点要素类且不包含空间索引,将发出一则警告。要提升大型输入点要素的工具性能,请创建空间索引。
该工具将无法用多点要素执行。要使用多点要素执行分析,首先请将其转换为单点要素,然后在提取工具中使用。有关详细信息,请参阅处理多点数据。
除非在输出坐标系环境中已指定输出采样表中 x,y 坐标的空间参考,否则该空间参考将与输入位置栅格或点要素(Python 中的in_location_data)的空间参考相同。如果输入位置数据的空间参考未知,则 x,y 坐标的空间参考也将是未知的。
x,y 坐标的空间参考在工具执行结束时被标识为地理处理消息。
重采样技术(Python 中的 resampling_type)选项决定了从栅格中获取值的方式。默认选项为最邻近,它可用于在输入位置提取准确的像元值。要提取内插值,请指定双线性或三次卷积选项。
包含像元值的字段类型与最邻近选项的栅格类型相匹配。然而,为了保持内插值的精度,双线性或三次卷积选项的字段类型将始终为浮点型。如果将重采样选项设置为最邻近,则输出表中的字段将与栅格类型的字段相匹配。然而,为了保持内插值的精度,双线性或三次卷积选项的字段类型将始终为浮点型。
将名为 Sample_point 的字段添加到输出表中,以存储唯一 ID 字段(Python 中的 unique_id_field)中指定的值。建议使用包含唯一值的字段作为每个位置的标识符以供进一步分析。
将多维栅格指定为输入栅格时,如果未选中以多维方式处理参数(ALL_SLICES 用于 Python 中的 process_as_multidimensional 参数),则系统将仅对多维栅格的当前切割片进行采样。
要从输入多维数据集中提取所有变量的所有切割片中的值,请选中以多维方式处理参数。
如果选中了以多维方式处理参数(ALL_SLICES 用于 Python 中的 process_as_multidimensional 参数),将出现以下情况。
该工具仅处理一个多维栅格。如果指定了多个多维栅格,则仅会处理第一个栅格。
提取的值将使用与变量相同的名称存储在字段中。将创建附加字段,以存储与维度的名称相同的非空间维度值。
如果多维栅格具有多个波段,则不会为每个波段创建附加字段。相反,针对波段提取的值将存储在变量字段中。系统将为曾用于指定波段的维度创建一个附加字段,以存储维度值。
该工具目前支持用于多维处理的多维栅格类型为 netCDF 栅格图层和多维镶嵌数据集。也可以使用多维数据的影像服务,前提是先将影像服务设置为允许使用多维数据。
如果在掩膜环境中指定了一个要素,则系统将使用输入栅格的最小像元大小创建内部栅格。提取过程中,内部掩模栅格将被再次重采样到每个输入栅格的像元大小。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
Sample(in_rasters, in_location_data, out_table, {resampling_type}, {unique_id_field}, {process_as_multidimensional})
参数 | 说明 | 数据类型 |
in_rasters [in_raster,...] | 将根据输入位置数据对其中的值进行采样的栅格列表。 | Raster Layer |
in_location_data | 用于识别想要进行采样的位置数据。 可以是栅格,也可以是点要素数据集。 | Raster Layer; Feature Layer |
out_table | 保存已采样的像元值的输出表。 表的格式由输出位置和路径确定。默认情况下,输出为一张地理数据库表。如果路径不在地理数据库中,则格式将由表达式确定。如果扩展名为 .dbf,则将采用 dBASE 格式。如果未指定扩展名,则输出将为 INFO 表。 | Table |
resampling_type (可选) | 对栅格进行采样时所使用的重采样算法。
| String |
unique_id_field (可选) | 包含输入位置栅格或点要素中每个位置或要素不同值的字段。 | Field |
process_as_multidimensional (可选) | 确定输入栅格的处理方式。
| Boolean |
代码示例
Sample 示例 1(Python 窗口)
根据输入位置将像元值从多个栅格提取到表。
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")
Sample 示例 2(独立脚本)
根据输入位置将像元值从多个栅格提取到表。
# 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)
环境
许可信息
- Basic: 需要 Spatial Analyst
- Standard: 需要 Spatial Analyst
- Advanced: 需要 Spatial Analyst