Auf NULL setzen (Image 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.

  • 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.

Syntax

SetNull(in_conditional_raster, in_false_raster_or_constant, {where_clause})
ParameterErklärungDatentyp
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

NameErklärungDatentyp
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.ia import *
env.workspace = "C:/iapyexamples/data"
outSetNull = SetNull("elevation", "elevation", "VALUE < 0")
outSetNull.save("C:/iapyexamples/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 pixel-by-pixel basis.
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster = "landclass"
inFalseRaster = 1
whereClause = "VALUE <> 7"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

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

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

Lizenzinformationen

  • Basic: Erfordert Image Analyst oder Spatial Analyst
  • Standard: Erfordert Image Analyst oder Spatial Analyst
  • Advanced: Erfordert Image Analyst oder Spatial Analyst

Verwandte Themen