Classement (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

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

Exemple de valeurs en entrée et en sortie 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 Traiter comme multicanal n’est pas sélectionné (process_as_multiband 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 Traiter comme multicanal est coché (process_as_multiband 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.

  • Si toutes les entrées sont des données raster multidimensionnelles avec le même nombre de variables, l’outil effectue l’opération pour toutes les tranches qui possèdent la même valeur de dimension. La sortie est un raster multidimensionnel au format CRF. Les variables des entrées doivent posséder au moins une dimension en commun et une valeur dimensionnelle en commun à traiter par cet outil, faute de quoi une erreur est générée.

    Si toutes les entrées ont une variable, mais des noms différents, désélectionnez l’environnement de géotraitement Apparier la variable multidimensionnelle(définissez arcpy.env.matchMultidimensionalVariable = False dans Python) avant d’effectuer l’opération.

    Si une ou plusieurs entrées sont des rasters multidimensionnels et que les autres entrées sont constantes, l’outil effectue l’opération pour toutes les tranches de toutes les variables à l’aide de la valeur constante et la sortie est un raster multidimensionnel.

  • 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.

Paramètres

ÉtiquetteExplicationType de données
Raster de classement ou valeur constante en entrée

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
Rasters en entrée

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 (Traiter comme multicanal)
(Facultatif)

Indique comment les canaux des rasters multicanaux en entrée sont traités.

  • Désélectionnée : chaque 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.
  • Cochée : chaque 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

ÉtiquetteExplicationType de données
Raster en sortie

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

Rank(in_rank_raster_or_constant, in_rasters, {process_as_multiband})
NomExplicationType 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 comment les canaux des rasters multicanaux en entrée sont traités.

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

Rubriques connexes