Disponible avec une licence Spatial Analyst.
Disponible avec une licence Image Analyst.
Résumé
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 en entrée (in_position_raster dans Python) 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 en entrée 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 des rasters ou des valeurs constantes en entrée (in_rasters_or_constants dans Python) est important avec cet outil. Si l'ordre des rasters change, les résultats changent.
Si une valeur de cellule du raster de position en entrée 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 en entrée est à virgule flottante, les valeurs sont 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.
Si le paramètre Process as multiband (Traiter comme multicanal) n’est pas sélectionné (process_as_multiband est défini sur SINGLE_BAND dans Python), seul le premier canal d’un raster de position en entrée multicanal (in_position_raster dans Python) est utilisé. Chaque canal d’un raster ou valeur constante en entrée multicanal (in_rasters_or_constants dans Python) est traité séparément en tant que raster monocanal.
Si le paramètre Process as multiband (Traiter comme multicanal) est sélectionné (process_as_multiband est défini sur MULTI_BAND dans Python), chaque raster multicanal en entrée est traité comme un raster multicanal.
Le nombre de canaux dans la sortie dépend du paramètre Input position raster (Raster de position en entrée). Si le raster de position en entrée est un canal unique, le nombre de canaux du raster en sortie est identique au nombre maximal de canaux de tous les rasters multicanaux des rasters ou valeurs constantes en entrée. Si le raster de position en entrée est multicanal, le raster en sortie a le même nombre de canaux que le raster de position en entrée.
Si l’un des rasters ou valeurs constantes en entrée est un raster comportant un nombre de canaux inférieur à celui du raster en sortie, les canaux manquants sont interprétés comme remplis de valeurs NoData. Si la valeur de cellule du raster de position en entrée extrait la valeur un du canal manquant, le raster en sortie reçoit la valeur NoData. Si l’un des rasters ou valeurs constantes en entrée est une constante, elle est interprétée en tant que raster multicanal, dans lequel les valeurs de cellule de tous les canaux sont identiques à la constante et possèdent le même nombre de canaux que le raster en sortie.
Syntaxe
Pick(in_position_raster, in_rasters_or_constants, {process_as_multiband})
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 |
process_as_multiband (Facultatif) | Indique le mode de traitement des canaux des rasters multicanaux en entrée.
| Boolean |
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.ia import *
env.workspace = "C:/iapyexamples/data"
outPick = Pick("cost", ["degs", "negs", "fourgrd"], "SINGLE_BAND")
outPick.save("C:/iapyexamples/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.ia import *
# Set environment settings
env.workspace = "C:/iapyexamples/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("ImageAnalyst")
# Execute Pick
outPick = Pick(inPositionRaster, [inRas01, inRas02, inRas03], "MULTI_BAND")
# Save the output
outPick.save("C:/iapyexamples/output/outpick")
Environnements
Informations de licence
- Basic: Requiert Image Analyst or Spatial Analyst
- Standard: Requiert Image Analyst or Spatial Analyst
- Advanced: Requiert Image Analyst or Spatial Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?