Disponible avec une licence Spatial 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
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 dans le Générateur de 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ètre | Explication | Type 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
Nom | Explication | Type 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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute SetNull
outSetNull = SetNull(inRaster, inFalseRaster, whereClause)
# Save the output
outSetNull.save("C:/sapyexamples/output/outsetnull")
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert Spatial Analyst
- ArcGIS Desktop Standard: Requiert Spatial Analyst
- ArcGIS Desktop Advanced: Requiert Spatial Analyst