Classement (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Résumé

Classe cellule par cellule les valeurs d’un ensemble de rasters en entrée et détermine quelles valeurs sont renvoyées en fonction de la valeur du raster de classement en entrée.

Illustration

Illustration de l'outil Classement
OutRas = Rank(ConstRas, [InRas1, InRas2, InRas3])

Utilisation

  • Dans la liste des rasters en entrée, l'ordre n'a aucune importance. Toutefois, le raster qui définit le classement doit précéder ces rasters.

  • Un nombre arbitraire de rasters peut être spécifié dans la liste des rasters en entrée.

  • Si un emplacement de cellule contient la valeur NoData dans l'un quelconque des rasters en entrée, l'emplacement se voit attribuer la valeur NoData pour la sortie.

  • Si toutes les valeurs en entrée correspondent à une seule et même valeur pour tout emplacement de cellule, quelle que soit le classement spécifié, la valeur en sortie est égale à cette valeur pour cet emplacement de cellule.

  • Si la valeur de classement est supérieure au nombre de rasters en entrée, la valeur NoData est affectée à chaque emplacement de cellule de la sortie.

  • Si un ou plusieurs des rasters en entrée sont à virgule flottante, la sortie est à virgule flottante. Sinon, la sortie est 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 classement ou valeur constante en entrée multicanal (in_rank_raster_or_constant dans Python) est utilisé. Chaque canal d’un raster en entrée multicanal (in_rasters 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 rank raster or constant value (Raster de classement ou valeur constante en entrée). Si le raster de classement 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 en entrée. Si le raster de classement est multicanal, le raster en sortie comporte le même nombre de canaux que le raster de classement.

    Si l’un des rasters 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 classement extrait la valeur un du canal manquant, le raster en sortie reçoit la valeur NoData. Si l’un des rasters en entrée est une constante, il est interprété 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

Rank(in_rank_raster_or_constant, in_rasters, {process_as_multiband})
ParamètreExplicationType de données
in_rank_raster_or_constant

Raster en entrée qui définit la position de classement à renvoyer.

Un nombre peut être utilisé comme entrée. Toutefois, la taille de cellule et l'étendue doivent être définies en premier dans l'environnement.

Raster Layer; Constant
in_rasters
[in_raster,...]

Liste des rasters en entrée dont sera extraite la valeur de cellule du raster à la position de classement spécifiée.

Prenons l’exemple d’un emplacement où les valeurs de cellule des trois rasters en entrée sont 17, 8 et 11. La valeur de classement de cet emplacement est définie sur 3. L’outil commence par trier les valeurs en entrée. Comme la valeur de classement demandée est 3, la valeur en sortie sera 17.

Raster Layer
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.

Pour chaque cellule du raster en sortie, les valeurs des rasters en entrée sont triées en ordre croissant et la valeur du raster de classement en entrée permet de sélectionner celle qui sera la valeur en sortie.

Raster

Exemple de code

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

Cet exemple effectue une opération de classement sur plusieurs rasters Grid en entrée et génère le résultat sous la forme d'un raster TIFF.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRank = Rank("cost", ["degs", "negs", "fourgrd"])
outRank.save("C:/sapyexamples/output/outrank.tif")
Exemple 2 d'utilisation de l'outil Rank (script autonome)

Cet exemple effectue une opération de classement sur plusieurs rasters Grid en entrée et génère le résultat sous la forme d'un raster Grid.

# Name: Rank_Ex_02.py
# Description: Returns the value of a set of rasters based on
#              a rank level specified by another 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
inRankRaster = "cost"
inRaster01 = "degs"
inRaster02 = "negs"
inRaster03 = "fourgrd"

# Execute Rank
outRank = Rank(inRankRaster, [inRaster01, inRaster02, inRaster03])

# Save the output 
outRank.save("C:/sapyexamples/output/outrank")

Informations de licence

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

Rubriques connexes