Auf NULL setzen (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Mit der Image 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

Abbildung: Auf NULL setzen
OutRas = SetNull(InRas1, InRas2, "Value = 4")

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.

  • Wenn das Eingabe-Bedingungs-Raster (in_conditional_raster in Python) ein Einzelband-Raster ist und Eingabe-Raster oder Eingabe-Wert, wenn Bedingung FALSCH (in_false_raster_or_constant in Python) ein konstanter Wert ist, ist die Ausgabe ein Einzelband-Raster.

  • Wenn beide Eingaben Multiband-Raster sind, dann ist auch die Ausgabe ein Multiband-Raster. Das Ausgabe-Raster ist ebenfalls ein Multiband-Raster, wenn "Eingabe-Raster, wenn Bedingung FALSCH" ein konstanter Wert ist. Die Anzahl an Bändern in jeder Multiband-Eingabe muss identisch sein.

  • Das Werkzeug führt den Vorgang für jedes Band aus dem Bedingungs-Raster mit dem entsprechenden Band aus der anderen Eingabe durch. Wenn die Eingabe-Bedingung ein Multiband-Raster ist und "Eingabe-Raster, wenn Bedingung FALSCH" ein konstanter Wert ist, führt das Werkzeug den Vorgang für jedes Band in der Multiband-Eingabe mit dem konstanten Wert durch.

  • Der Ausdruck verwendet eine SQL-Abfrage. Weitere Informationen zum Erstellen von Abfragen 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.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Bedingungs-Raster

Das Eingabe-Raster, das das Ergebnis der gewünschten Bedingung als wahr (true) oder falsch (false) darstellt.

Das Raster kann ein Ganzzahl- oder Gleitkomma-Raster sein.

Raster Layer
Eingabe-Raster oder Eingabe-Wert, wenn Bedingung FALSCH

Die Eingabe, deren Werte als Ausgabezellenwerte verwendet werden, wenn die Bedingung falsch (false) ist.

Das Raster kann ein Integer- oder Gleitkomma-Raster oder ein konstanter Wert sein.

Raster Layer; Constant
Ausdruck
(optional)

Ein logischer Ausdruck, der bestimmt, welche der Eingabezellen wahr (true) oder falsch (false) sind.

Die Where-Klausel entspricht der allgemeinen Form eines SQL-Ausdrucks. Er kann direkt eingegeben werden, z. B. VALUE > 100, indem Sie auf die Schaltfläche SQL-Bearbeitungsmodus SQL-Abfrage klicken. Im Modus "Klausel bearbeiten" Klausel bearbeiten können Sie mit dem Erstellen des Ausdrucks beginnen, indem Sie auf die Schaltfläche Modus "Klausel hinzufügen" klicken.

SQL Expression

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-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

SetNull(in_conditional_raster, in_false_raster_or_constant, {where_clause})
NameErläuterungDatentyp
in_conditional_raster

Das Eingabe-Raster, das das Ergebnis der gewünschten Bedingung als wahr (true) oder falsch (false) 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 Integer- oder Gleitkomma-Raster oder ein konstanter Wert sein.

Raster Layer; Constant
where_clause
(optional)

Ein logischer Ausdruck, der bestimmt, welche der Eingabezellen wahr (true) oder falsch (false) sind.

Der Ausdruck entspricht der allgemeinen Form eines SQL-Ausdrucks. Ein Beispiel einer where_clause ist "VALUE > 100".

SQL Expression

Rückgabewert

NameErläuterungDatentyp
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"

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

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