Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
"Auf NULL setzen" legt für identifizierte Zellpositionen auf Grundlage eines angegebenen Kriteriums den Wert "NoData" fest. "NoData" wird zurückgegeben, wenn eine Bedingungsauswertung "true" (wahr) ergibt, und ein durch ein anderes Raster angegebener Wert wird zurückgegeben, wenn die Bedingungsauswertung "false" (falsch) ergibt.
Weitere Informationen zum Festlegen von Zellenwerten auf "NoData" mit dem Werkzeug "Auf NULL setzen"
Abbildung
Verwendung
Wenn die Auswertung für die Where-Klausel den Wert "true" (wahr) ergibt, wird der Zellenposition im Ausgabe-Raster der Wert "NoData" zugewiesen. Wenn die Auswertung den Wert "false" (falsch) ergibt, wird das Ausgabe-Raster durch das Eingabe-Raster mit der Bedingung "false" oder einen konstanten Wert definiert.
Wenn keine Where-Klausel angegeben wird, hat das Ausgabe-Raster überall dort den Wert "NoData", wo das Bedingungs-Raster nicht 0 ist.
Das Eingabe-Bedingungs-Raster beeinflusst nicht, ob der Ausgabedatentyp eine ganze Zahl oder ein Gleitkommawert ist. Wenn das Eingabe-Raster mit der Bedingung "false" (bzw. der konstante Wert) Gleitkommawerte enthält, handelt es sich beim Ausgabe-Raster ebenfalls um Gleitkommazahlen. Wenn es ausschließlich ganzzahlige Werte enthält, wird ein ganzzahliges Raster ausgegeben.
Der Ausdruck verwendet eine SQL-Abfrage. Weitere Informationen zum Erstellen von Abfragen im Abfrage-Builder finden Sie in den folgenden Themen:
Um eine "{where_clause}" in Python verwenden zu können, muss diese in Anführungszeichen eingeschlossen werden. Zum Beispiel "Value > 5000".
In der Hilfe erhalten Sie weitere Informationen zum Festlegen einer Abfrage in Python.
Die maximale Länge des logischen Ausdrucks ist 4.096 Zeichen.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
SetNull (in_conditional_raster, in_false_raster_or_constant, {where_clause})
Parameter | Erläuterung | Datentyp |
in_conditional_raster | Eingabe-Raster, das das wahre oder falsche Ergebnis der gewünschten Bedingung darstellt. Das Raster kann ein Ganzzahl- oder Gleitkomma-Raster sein. | Raster Layer |
in_false_raster_or_constant | Die Eingabe, deren Werte als Ausgabezellenwerte verwendet werden, wenn die Bedingung falsch (false) ist. Das Raster kann ein Ganzzahl- oder Gleitkomma-Raster oder ein konstanter Wert sein. | Raster Layer; Constant |
where_clause (optional) | Ein logischer Ausdruck, der bestimmt, welche der Eingabezellen wahr (true) und welche falsch (false) sind. Der Ausdruck entspricht der allgemeinen Form eines SQL-Ausdrucks. Ein Beispiel einer where_clause ist "VALUE > 100". | SQL Expression |
Rückgabewert
Name | Erläuterung | Datentyp |
out_raster | Das Ausgabe-Raster. Wenn die Bedingungsauswertung "true" (wahr) ergibt, wird "NoData" zurückgegeben. Bei "false" (falsch) wird der Wert des zweiten Eingabe-Rasters zurückgegeben. | Raster |
Codebeispiel
SetNull – Beispiel 1 (Python-Fenster)
In diesem Beispiel werden alle Eingabezellen mit einem Wert kleiner 0 im Ausgabe-Raster auf "NoData" festgelegt, und die übrigen Zellen behalten ihren ursprünglichen Wert bei.
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")
SetNull – Beispiel 2 (eigenständiges Skript)
In diesem Beispiel wird jede Eingabezelle mit einem Wert ungleich 7 auf "NoData" festgelegt und Zellen mit dem Wert 7 erhalten in der Ausgabe den Wert 1.
# 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")
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Spatial Analyst
- ArcGIS Desktop Standard: Erfordert Spatial Analyst
- ArcGIS Desktop Advanced: Erfordert Spatial Analyst