需要 Spatial Analyst 许可。
摘要
创建一个表,其中显示从一个栅格或一组栅格提取的已定义位置的像元值。这些位置可通过栅格像元或一组点进行定义。
输入栅格可以是二维或多维的。如果输入栅格是多维的,输出表的结构会发生更改。
用法
可以将任意栅格组合(单波段或多波段)指定为输入。
系统将为每个输入栅格提取像元值。系统将使用包含每个输入栅格像元值的字段创建一个表格。
输入栅格表中的其他属性(若有的话)将不会添加到输出表。
将多波段栅格指定为输入栅格(Python 中的 in_rasters)之一时,将使用该输入中的所有波段。
要处理一系列来自输入多波段栅格的波段,请首先用波段合成工具创建由这些特定波段组成的新栅格数据集。在输入栅格列表中使用该结果。
将多维栅格指定为输入栅格时,如果未选中以多维方式处理选项(ALL_SLICES 用于 Python 中的 process_as_multidimensional 参数),则系统将仅对多维栅格的当前切割片进行采样。
要从输入多维数据集中提取所有变量的所有切割片中的值,请选中以多维方式处理选项。
该工具目前支持用于多维处理的多维栅格类型为 netCDF 栅格图层和多维镶嵌数据集。目前尚不支持多维数据的影像服务。
输入位置是栅格时,位置像元集包括值大于等于零的所有像元, 不包括具有 NoData 值的像元。可使用提取工具轻松创建位置栅格。
如果位置输入为栅格,为了获得最佳结果,输入栅格和位置栅格的像元大小和配准应相同。
采样输入栅格或栅格集中 NoData 像元的位置将在输出地理数据库表中被赋予 <空> 值。由于 INFO 或 .dbf 格式的输出不支持空值概念,所以将为其赋值 -9999。
当输入栅格为二维栅格时,输出表中采样值的字段类型始终为浮点型。这样,可以确保重采样技术选择双线性或双三次卷积选项时仍能保持适当精度。
不支持将多点数据集作为输入。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 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 |
代码示例
采样示例 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")
采样示例 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)
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst