Pick (Spatial Analyst)
Récapitulatif
La valeur d'un raster de position est utilisée pour déterminer de quel raster dans une liste de rasters en entrée la valeur de cellule en sortie sera obtenue.
Illustration
Utilisation
-
La valeur de chaque cellule du raster de position détermine l'entrée qui sera utilisée pour obtenir la valeur de raster en sortie. Par exemple, si une cellule dans le raster de position a la valeur 1, la valeur de la première entrée dans la liste de rasters sera utilisée comme valeur de cellule en sortie. Si la position en entrée a la valeur 2, la valeur en sortie proviendra de la deuxième entrée dans la liste de rasters, etc.
-
L'ordre de la liste des entrées est pertinent pour cet outil. Si l'ordre des rasters change, les résultats changent.
-
Si une valeur de cellule dans le raster de position est nulle ou négative, le résultat est NoData. Si la valeur de position est supérieure au nombre de rasters dans la liste, le résultat est NoData.
Si le raster de position est à virgule flottante, les valeurs seront tronquées en nombres entiers avant d'être traitées.
-
Toute cellule avec une valeur NoData sur le raster de position reçoit NoData sur le raster en sortie.
-
Si l'un quelconque des rasters de la liste des entrées est à virgule flottante, le raster en sortie est à virgule flottante. S'ils sont tous des entiers, le raster en sortie est également un entier.
Syntaxe
Paramètre | Explication | Type de données |
in_position_raster |
Raster en entrée définissant la position du raster à utiliser pour la valeur en sortie. L'entrée peut être un raster d'entiers ou de réels. | Raster Layer |
in_rasters_or_constants [in_raster_or_constant,...] |
Liste des entrées dans laquelle la valeur en sortie est sélectionnée. Les entrées peuvent être des rasters d'entiers ou de réels. Un nombre peut également être utilisé comme entrée. | Raster Layer | Constant |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster | Raster en sortie. | Raster |
Exemple de code
Cet exemple affecte la valeur en sortie en fonction de l'ordre de plusieurs rasters en entrée.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPick = Pick("cost", ["degs", "negs", "fourgrd"])
outPick.save("C:/sapyexamples/output/outpick.tif")
Cet exemple affecte la valeur en sortie en fonction de l'ordre de plusieurs rasters en entrée.
# 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 = "cost"
inRas01 = "degs"
inRas02 = "negs"
inRas03 = "fourgrd"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Pick
outPick = Pick(inPositionRaster, [inRas01, inRas02, inRas03])
# Save the output
outPick.save("C:/sapyexamples/output/outpick")