SetNull (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Résumé

L’outil SetNull définit les emplacements de cellule identifiés sur la valeur NoData en fonction des critères indiqués. Il renvoie une valeur NoData si une évaluation conditionnelle est vraie et renvoie la valeur spécifiée par un autre raster si celle-ci est fausse.

Pour en savoir plus sur la définition des valeurs de cellule sur NoData avec l'outil SetNull

Illustration

Illustration de l'outil SetNull
OutRas = SetNull(InRas1, InRas2, "Value = 4")

Utilisation

  • Si l'évaluation de la clause Where est vraie, l'emplacement de cellule dans le raster se verra attribuer la valeur NoData. Si l'évaluation est fausse, le raster en sortie sera défini par le raster de valeurs fausses ou la valeur constante en entrée.

  • Si aucune clause Where n'est spécifiée, le raster en sortie recevra un valeur NoData partout où le raster de condition est différent de 0.

  • Le raster de condition en entrée n'influe pas sur le type de données en sortie : nombre entier ou virgule flottante. Si le raster de valeurs fausses (ou la valeur constante) en entré contient des valeurs à virgule flottante, le raster en sortie contiendra des valeurs à virgule flottante. S'il ne contient que des entiers, la sortie sera un raster d'entiers.

  • L'expression utilise une requête SQL. Reportez-vous aux rubriques suivantes pour en savoir plus sur la création des requêtes :

  • Pour utiliser une clause {where_clause} dans Python, elle doit être placée entre guillemets. Par exemple, "Valeur > 5000".

    Vous pouvez consulter l'aide pour obtenir plus d'informations sur la spécification d'une requête dans Python.

  • La longueur maximale de l'expression logique est de 4 096 caractères.

  • 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

SetNull(in_conditional_raster, in_false_raster_or_constant, {where_clause})
ParamètreExplicationType de données
in_conditional_raster

Raster en entrée représentant le résultat vrai ou faux de la condition souhaitée.

Il peut être de type entier ou à virgule flottante.

Raster Layer
in_false_raster_or_constant

Entrée dont les valeurs seront utilisées en tant que valeurs de cellule en sortie si la condition est fausse.

Il peut s'agir d'un raster de type entier ou à virgule flottante, ou d'une valeur constante.

Raster Layer; Constant
where_clause
(Facultatif)

Expression logique qui détermine les cellules en entrée qui doivent être vraies ou fausses.

L'expression suit la forme générale d'une expression SQL. "VALEUR > 100" est un exemple de where_clause.

SQL Expression

Valeur renvoyée

NomExplicationType de données
out_raster

Raster en sortie.

Si l'évaluation conditionnelle est vraie, la valeur NoData est renvoyée. Si elle est fausse, la valeur du deuxième raster en entrée est renvoyée.

Raster

Exemple de code

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

Dans cet exemple, toute cellule en entrée d'une valeur inférieure à 0 sera définie sur NoData dans le raster en sortie et les cellules restantes conserveront leur valeur d'origine.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outSetNull = SetNull("elevation", "elevation", "VALUE < 0")
outSetNull.save("C:/sapyexamples/output/outsetnull.img")
Exemple 2 d'utilisation de l'outil SetNull (script autonome)

Dans cet exemple, toute cellule en entrée dont la valeur est différente 7 sera définie sur NoData et les cellules dont la valeur est égale à 7 seront définies sur valeur 1 en sortie.

# Name: SetNull_Ex_02.py
# Description: Returns NoData if a conditional evaluation is 
#              true and returns the value specified by another
#              raster if it is false, on a cell-by-cell basis.
# 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
inRaster = "landclass"
inFalseRaster = 1
whereClause = "VALUE <> 7"

# Execute SetNull
outSetNull = SetNull(inRaster, inFalseRaster, whereClause)

# Save the output 
outSetNull.save("C:/sapyexamples/output/outsetnull")

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