Évaluation conditionnelle avec Con

L’outil Con vous permet de déterminer la valeur en sortie pour chacune des cellules selon que la valeur de cellule renvoie un résultat vrai ou faux dans l’instruction conditionnelle définie.

Si la cellule renvoie un résultat vrai, elle reçoit une valeur. Si elle renvoie un résultat faux, elle en reçoit une autre. Les valeurs qu’une cellule reçoit lorsqu’elle renvoie un résultat vrai sont définies par le paramètre Raster vrai ou valeur constante en entrée. Les valeurs qu’une cellule reçoit lorsqu’elle renvoie un résultat faux sont définies par le paramètre Raster en entrée faux ou constante fausse.

Théoriquement, pendant le traitement, l’outil Con examine chacun des emplacements de cellule, et en fonction de la valeur de la cellule et de l’instruction conditionnelle, détermine si la cellule renvoie un résultat vrai ou faux. Si la cellule renvoie un résultat vrai, la valeur en sortie de cet emplacement est identifiée dans l’entrée vraie. Si la cellule renvoie un résultat faux, la valeur en sortie de cet emplacement est identifiée dans l’entrée fausse.

Dans l’environnement de géotraitement, il y a deux façons de savoir si un emplacement de cellule est évalué comme vrai ou faux : avec un raster en entrée ou avec un raster en entrée dans lequel une expression en entrée facultative est appliquée. Si seul un raster en entrée est utilisé, toutes les valeurs différentes de zéro du raster en entrée sont traitées comme étant vraies et toutes les valeurs nulles sont considérées comme fausses. Les cellules qui se sont vues attribuer la valeur NoData reçoivent NoData comme valeur en sortie. La valeur NoData n’équivaut pas à une valeur fausse.

Plusieurs outils Spatial Analyst peuvent permettre de créer un raster en entrée conditionnel. Les outils logiques de la boîte à outils Mathématiques peuvent notamment être utilisés, l'outil Test étant particulièrement utile.

Utilisation de l’outil Con dans l’algèbre spatiale

Pour effectuer l’évaluation conditionnelle sur un jeu de données raster dans l’algèbre spatiale, entrez le jeu de données raster en tant que raster conditionnel pour l’outil Con. Entrez un raster vrai pour fournir des valeurs à renvoyer lorsque l’évaluation conditionnelle est vraie. Entrez un raster faux pour fournir des valeurs à renvoyer lorsque l’évaluation conditionnelle est fausse. La clause where définit l’expression à évaluer à l’aide du raster conditionnel en entrée.

Exemple

Par exemple, si vous voulez attribuer la valeur 10 (identifiée comme constante vraie) pour indiquer qu’un terrain convient à la construction et la valeur 1 (identifiée comme constante fausse) pour indiquer qu’au contraire il n’est pas adapté sur la base du degré de pente d’une cellule (identifiée par le raster conditionnel en entrée) et qu’un pourcentage de pente inférieur à 15 est convenable, utilisez l’expression "VALUE < 15". Si une cellule présente une pente inférieure à 15 %, elle reçoit la valeur vraie (dans ce cas 10), sinon, elle reçoit la valeur identifiée comme étant fausse (dans ce cas 1).

OutRas = Con(SlopeRas, 10, 1, "VALUE < 15")

Utilisation d’expressions complexes avec l’outil Con dans l’algèbre spatiale

Dans l’algèbre spatiale, il est possible d’atteindre plus de fonctions avec l’expression plutôt qu’avec une condition logique simple. Avec une expression complexe, vous pouvez par exemple imbriquer plusieurs expressions distinctes, désigner plusieurs rasters ou utiliser d’autres outils ou opérateurs.

Toute expression d’algèbre spatiale valide qui produit un raster peut être utilisée en tant qu’argument pour des entrées conditionnelles, des entrées de raster vraies ou fausses.

Le paramètre Expression doit être supprimé si l’expression de raster conditionnelle en entrée est utilisée dans une expression complexe. Dans ce cas, la syntaxe de l’outil Con prend la forme généralisée suivante :

Con(in_conditional_raster, true_raster, {false_raster})

Le paramètre Expression est supprimé dans ce cas parce que le raster de condition est fourni par l’expression d’algèbre spatiale. Vous obtenez donc un jeu de données de raster avec, par exemple, les valeurs 0 et 1 s’il s’agit d’une opération logique.

Exemples

Voici des exemples d’utilisation d’une expression complexe pour réaliser une évaluation conditionnelle.

  • Voici un exemple d’utilisation d’une expression complexe avec l’outil Con :
    OutRas = Con(InRas < 15, 10, 1)
    Dans l’expression ci-dessus, si la valeur d’une cellule dans InRas est inférieure à 15, la valeur 10 est attribuée à cet emplacement (vrai) dans le raster en sortie. Dans le cas contraire, les valeurs de cellule supérieures ou égales à 15 prennent la valeur 1 (faux) dans le raster en sortie.
  • Si aucune valeur ou expression n’est spécifiée pour les expressions fausses, utilisez l’expression suivante :
    OutRas = Con(InRas < 15, 10)
    Les résultats sont les mêmes que ceux de la sortie ci-dessus, à la différence que les cellules dont la valeur est supérieure ou égale à 15 se voient attribuer la valeur NoData.
  • Toute expression autorisée peut être utilisée à la place d’une valeur dans les arguments true_expression et false_expression.
    OutRas = Con(InRas1 > 5, Sin(InRas1), Cos(InRas1))
    Dans l’expression ci-dessus, le sinus de toutes les valeurs supérieures à 5 et le cosinus de toutes les valeurs inférieures ou égales à 5 sont calculés. Les résultats sont transmis à OutRas.
  • Plusieurs instructions conditionnelles peuvent être utilisées avec l’outil Con, mais chacune doit avoir une valeur ou un argument true_expression qui peut être utilisé pour attribuer des valeurs aux cellules en sortie si le résultat de l’évaluation de la condition est vrai. La valeur ou l’expression facultative false_expression peut être appliquée si aucun des résultats des évaluations des conditions n’est vrai.
    OutRas = Con(InRas1 < 5, Sin(InRas1), Con(InRas1 < 20, Cos(InRas1), Con(InRas1 > 50, 100, 0)))
    Dans l’expression ci-dessus, le sinus est calculé pour les valeurs inférieures à 5, et le cosinus pour les valeurs supérieures ou égales à 5, mais inférieures à 20. Les valeurs supérieures ou égales à 20, mais inférieures ou égales à 50 se voient attribuer la valeur 0 et les valeurs supérieures à 50 la valeur 100.
  • Vous pouvez utiliser plusieurs conditions dans une expression conditionnelle avec l’outil Con.
    OutRas = Con((InRas1 > 5) & (InRas1 < 10), 5, 100)
    Dans l’expression ci-dessus, si la valeur en entrée de InRas1 est supérieure à 5 et inférieure à 10, attribuez la valeur 5 à l’emplacement. Dans le cas contraire, attribuez-lui la valeur 100.
  • Les outils et les opérateurs peuvent être appliqués aux rasters en entrée dans l’expression conditionnelle et les résultats calculés.
    OutRas = Con(Sin(InRas1) > .5, 10, 100)
    OutRas2 = Con((InRas1 + InRas2) > 10, 100, 5)
    OutRas3 = Con(InRas1 > 5, Cos(InRas1), Sin(InRas1))
  • Vous pouvez imbriquer un outil Con dans un autre outil Con.
    OutRas = Con(InRas1 > 23, 5, Con(InRas1 > 20, 12, Con((InRas1 > 2) & (InRas1 < 17), Sin(InRas1), 100)))
  • Plusieurs rasters peuvent être utilisés dans l’instruction conditionnelle ou dans l’expression à appliquer aux cellules.
    OutRas = Con(InRas1 + InRas2 > 7, Sin(InRas1), Cos(InRas2))
    OutRas2 = Con(InRas1 < 9, InRas1 * InRas2 + Tan(InRas3), Cos(InRas1))
    L’entrée de plusieurs rasters est possible étant donné que le calcul de l’outil Con s’applique à chacun des emplacements de cellule x,y avant de passer à la cellule suivante. Lorsque vous saisissez plusieurs rasters, l’opérateur ou l’outil que vous choisissez traite les cellules une à une, entre les différents rasters.