Sélectionner (Spatial Analyst)

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

Illustration de l'outil Sélectionner
OutRas = Pick(InRas1, [InRas2, InRas3],"SINGLE_BAND")

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.

  • Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.

Syntaxe

Pick(in_position_raster, in_rasters_or_constants, {process_as_multiband})
ParamètreExplicationType 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.

  • SINGLE_BANDChaque canal d’une entrée de raster multicanal est traité séparément comme un raster monocanal. Il s’agit de l’option par défaut.
  • MULTI_BANDChaque entrée de raster multicanal est traitée comme un raster multicanal. L’opération est effectuée pour chaque canal d’une même entrée en utilisant le numéro de canal correspondant des autres entrées.
Boolean

Valeur renvoyée

NomExplicationType de données
out_raster

Raster en sortie.

Raster

Exemple de code

Exemple 1 d'utilisation de l'outil Pick (fenêtre Python)

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"], "SINGLE_BAND")
outPick.save("C:/sapyexamples/output/outpick.tif")
Exemple 2 d'utilisation de l'outil Pick (script autonome)

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 = "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")

Informations de licence

  • Basic: Requiert Spatial Analyst ou Image Analyst
  • Standard: Requiert Spatial Analyst ou Image Analyst
  • Advanced: Requiert Spatial Analyst ou Image Analyst

Rubriques connexes