标注 | 说明 | 数据类型 |
输入位置栅格 | 定义要用于输出值的栅格位置的输入栅格。 输入可以是整型或浮点型栅格。 | Raster Layer |
输入栅格数据或常量值 | 将从中选择输出值的输入列表。 输入可以是整型栅格或浮点型栅格。 数字也可以用作输入。 | Raster Layer; Constant |
以多波段方式处理 (可选) | 指定如何处理输入多波段栅格波段。
| Boolean |
返回值
标注 | 说明 | 数据类型 | 输出栅格 | 输出栅格。 | Raster |
需要 Spatial Analyst 许可。
获得 Image Analyst 许可后可用。
位置栅格中的值用于确定输入栅格列表中要从中获取输出像元值的栅格。
输入位置栅格(Python 中为 in_position_raster)的每个像元的值用于确定要使用哪一个输入获取输出栅格值。 例如,如果输入位置栅格中的一个像元的值为 1,则将栅格列表中第一个输入的值用于输出像元值。 如果位置输入的值为 2,则输出值将来自栅格列表中的第二个输入,依此类推。
输入栅格或常量值(Python 中为 in_rasters_or_constants)的顺序对此工具很重要。 如果栅格的顺序发生变化,则结果也会相应变化。
如果输入位置栅格上的像元值为零或负数,结果将为 NoData。 如果位置值大于列表中的栅格数量,则结果将为 Nodata。
如果输入位置栅格是浮点型,则处理这些值之前将其截断为整型。
位置栅格上任何具有 NoData 值的像元都将在输出栅格上得到 NoData。
如果输入列表中有任何栅格是浮点型,输出栅格将为浮点型。 如果其均为整型,则输出栅格也将为整型。
如果未选中以多波段方式处理参数(在 Python 中,process_as_multiband 被设置为 SINGLE_BAND),将仅使用多波段的第一个波段输入位置栅格(Python 中的 in_position_raster)。 来自多波段的每个波段输入栅格或常量值(Python 中的 in_rasters_or_constants)将被单独处理为单波段栅格。
如果选中以多波段方式处理参数(在 Python 中,process_as_multiband 设置为 MULTI_BAND),每个多波段栅格输入都将作为多波段栅格处理。
输出中的波段数取决于输入位置栅格。 如果输入位置栅格是单波段,则输出栅格上的波段数将与来自输入栅格或常量值的所有多波段栅格的最大波段数相同。 如果输入位置栅格是多波段,则输出栅格将具有与输入位置栅格相同的波段数。
如果任何输入栅格或常量值是波段数少于输出栅格波段数的栅格,则缺失波段将被解释为填充了 NoData 的波段。 如果输入位置栅格的像元值从缺失波段中选择值一,输出栅格将收到 NoData。 如果任何输入栅格或常量值是常量,则将其解释为波段栅格,其中所有波段的像元值与常量相同,并且波段数与输出栅格相同。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
标注 | 说明 | 数据类型 |
输入位置栅格 | 定义要用于输出值的栅格位置的输入栅格。 输入可以是整型或浮点型栅格。 | Raster Layer |
输入栅格数据或常量值 | 将从中选择输出值的输入列表。 输入可以是整型栅格或浮点型栅格。 数字也可以用作输入。 | Raster Layer; Constant |
以多波段方式处理 (可选) | 指定如何处理输入多波段栅格波段。
| Boolean |
标注 | 说明 | 数据类型 | 输出栅格 | 输出栅格。 | Raster |
Pick(in_position_raster, in_rasters_or_constants, {process_as_multiband})
名称 | 说明 | 数据类型 |
in_position_raster | 定义要用于输出值的栅格位置的输入栅格。 输入可以是整型或浮点型栅格。 | Raster Layer |
in_rasters_or_constants [in_raster_or_constant,...] | 将从中选择输出值的输入列表。 输入可以是整型栅格或浮点型栅格。 数字也可以用作输入。 | Raster Layer; Constant |
process_as_multiband (可选) | 指定如何处理输入多波段栅格波段。
| Boolean |
名称 | 说明 | 数据类型 | out_raster | 输出栅格。 | Raster |
本示例根据多个输入栅格的顺序分配输出值。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPick = Pick("cost", ["degs", "negs", "fourgrd"], "SINGLE_BAND")
outPick.save("C:/sapyexamples/output/outpick.tif")
本示例根据多个输入栅格的顺序分配输出值。
# Name: Pick_Ex_02.py
# Description: Assigns output values using one of a list of rasters
# determined by the value of an input raster.
# 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
inPositionRas = "inzone_MB"
inRas01 = "Ras1_MB"
inRas02 = "Ras2_MB"
inRas03 = "Ras3_MB"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Pick
outPick = Pick(inPositionRaster, [inRas01, inRas02, inRas03], "MULTI_BAND")
# Save the output
outPick.save("C:/sapyexamples/output/outpick")