需要 Spatial Analyst 许可。
摘要
在点要素类的指定位置提取一个或多个栅格像元值,并将值记录到点要素类的属性表中。
用法
此工具可以在操作中修改输入点的 ID 编号。因此,建议输入点数据集的属性表中留有明确的唯一标识符字段,而不是只依赖原始数据集提供的对象 ID(可能是 FID、OID 或 ObjectID,具体取决于格式)。 具有该字段的一种简单方法即为添加一个新的整型字段,然后在字段中计算该值。 这将确保您可将结果关联回原始输入。
可以将任意栅格组合(单波段或多波段)指定为输入。
将为每个输入栅格提取一个像元值,并会将包含该提取值的新字段追加到输入点要素类。
默认情况下,将根据输入栅格的名称来创建输出字段的名称;或者您也可以为每个存储栅格值的字段指定唯一名称。
当输入多波段栅格时,为所有波段添加的输出字段的名称中将包含指示波段号的 b1_, b2_, …bn 前缀。
插值选项决定了从栅格中获取值的方式。默认选项为使用被采样像元的中心值。插值选项将使用双线性插值法在像元中心内插一个值。
Shapefile 格式的字段最大长度限制为 10 个字符。默认情况下,追加到输入 shapefile 的输出字段将被截断并获得唯一值。如果名称很长或很相似,则可能很难区分各输入栅格。在这种情况下,建议您将输入要素转换为文件地理数据库,然后将其用作输入。
输入栅格或栅格集中的 NoData 像元的位置将在输入点要素位于地理数据库时被赋予 <空> 值。由于输入为 shapefile 时不支持空值概念,所以将为其赋值 -9999。
不支持将多点数据集作为输入。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
ExtractMultiValuesToPoints (in_point_features, in_rasters, {bilinear_interpolate_values})
参数 | 说明 | 数据类型 |
in_point_features | 要添加栅格值的输入点要素。 | Feature Layer |
in_rasters [[Raster, {Output Field Name}],...] | 要基于输入点要素的位置提取栅格值。 您还可以为存储栅格值的字段指定名称。默认情况下,将根据输入栅格数据集的名称创建唯一的字段名称。 | Value Table |
bilinear_interpolate_values (可选) | 指定是否使用插值。
| Boolean |
代码示例
多值提取至点 (ExtractMultiValuesToPoints) 示例 1(Python 窗口)
将多个栅格的像元值提取到 shapefile 点要素类的属性中。
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) 示例 2(独立脚本)
使用插值法将多个栅格的像元值提取到 shapefile 点要素类的属性中。
# 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"]]
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractValuesToPoints
ExtractMultiValuesToPoints(inPointFeatures, inRasterList, "BILINEAR")
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst