Skip To Content

Nibble

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Die Zellen eines Rasters entsprechend einer Maske durch die Werte der nächsten Nachbarn ersetzen.

Weitere Informationen zur Funktionsweise des Werkzeugs "Nibble"

Abbildung

Abbildung: Nibble
OutRas = Nibble(InRas1, Mask_Ras)

Verwendung

  • Mit dem Werkzeug Nibble kann ausgewählten Bereichen eines Rasters der Wert des nächsten Nachbarn zugewiesen werden. Das Werkzeug kann zum Ersetzen der Werte einzelner Zellen durch die Werte der unmittelbar benachbarten Zellen verwendet werden. In größeren Maskenbereichen können auch größere Streifen von Zellen ersetzt werden.

    Zu seinen Einsatzmöglichkeiten zählt vor allem die Bearbeitung von Bereichen eines Rasters, das fehlerhafte Daten enthält.

  • NoData-Zellen im Eingabemasken-Raster definieren, welche Zellen mit Nibble geändert werden können. Positionen im Eingabe-Raster, die sich außerhalb des Maskenbereichs befinden, werden nicht mit Nibble bearbeitet. Daher entspricht ihr Ausgabewert dem Eingabewert.

    NoData-Zellen im Eingabe-Raster, die sich außerhalb der Maske befinden, werden nicht mit Nibble bearbeitet. Ungeachtet der Einstellungen der beiden NoData-Parameter bleiben sie als NoData-Zellen erhalten.

  • Dieses Werkzeug unterstützt die parallele Verarbeitung. Wenn Ihr Computer mit mehreren Prozessoren oder mit Prozessoren, die mehrere Kerne haben, ausgestattet ist, kann eine höhere Leistung erzielt werden, vor allem bei größeren Datasets. Weitere Informationen zu dieser Funktion sowie zu den Konfigurationsmöglichkeiten finden Sie im Hilfethema Parallele Verarbeitung mit Spatial Analyst.

    Beim Einsatz von paralleler Verarbeitung werden für die Verwaltung der zu verarbeitenden Daten-Chunks temporäre Daten generiert. Der Standardordner für temporäre Daten befindet sich auf Ihrem lokalen Laufwerk C. Sie können den Speicherort ändern, indem Sie eine Systemumgebungsvariable mit dem Namen TempFolders einrichten und den Pfad zum gewünschten Ordner angeben (z. B. E:\RasterCache). Wenn Sie auf dem Computer über Administratorberechtigungen verfügen, können Sie auch einen Registrierungsschlüssel verwenden (z. B. [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).

    Das Werkzeug verwendet standardmäßig 50 % der verfügbaren Kerne. Wenn die Eingabedaten aus weniger als 5.000 mal 5.000 Zellen bestehen, können weniger Kerne verwendet werden. Sie können die Anzahl der Kerne, die das Werkzeug verwendet, mit der Umgebung Faktor für parallele Verarbeitung ändern.

  • Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Syntax

Nibble (in_raster, in_mask_raster, {nibble_values}, {nibble_nodata}, {in_zone_raster})
ParameterErläuterungDatentyp
in_raster

Das Eingabe-Raster, auf das die Nibble-Funktion angewendet wird.

Das Eingabe-Raster kann ein Ganzzahl- oder ein Gleitkommawert sein.

Raster Layer
in_mask_raster

Das als Maske verwendete Raster.

NoData-Zellen im Masken-Raster definieren, welche Zellen im in_raster mit Nibble geändert oder durch den Wert des nächsten Nachbarn ersetzt werden.

Das Masken-Raster kann ein Ganzzahl- oder ein Gleitkommawert sein.

Raster Layer
nibble_values
(optional)

Schlüsselwörter, die definieren, ob NoData-Werte im Eingabe-Raster durch die Nibble-Funktion auf die durch das Masken-Raster definierte Fläche ausgeweitet werden dürfen.

  • ALL_VALUES Gibt an, dass der Wert des nächsten Nachbarn verwendet wird, unabhängig davon, ob es sich dabei im Eingabe-Raster um "NoData" oder um einen anderen Wert handelt. NoData-Werte im Eingabe-Raster können durch die Nibble-Funktion auf Flächen ausgeweitet werden, die in der Maske definiert sind, sofern es sich dabei um den nächsten Nachbarn handelt. Dies ist die Standardeinstellung.
  • DATA_ONLYGibt an, dass nur Datenwerte durch die Nibble-Funktion auf im Masken-Raster definierte Flächen ausgeweitet werden können. NoData-Werte im Eingabe-Raster dürfen nicht durch die Nibble-Funktion auf Flächen ausgeweitet werden, die im Masken-Raster definiert sind, selbst wenn es sich dabei um den nächsten Nachbarn handelt.
Boolean
nibble_nodata
(optional)

Schlagwörter, mit denen definiert wird, ob NoData-Zellen im Eingabe-Raster auch NoData-Zellen im Ausgabe-Raster bleiben.

  • PRESERVE_NODATAGibt an, dass NoData-Zellen im Eingabe-Raster auch NoData-Zellen im Ausgabe-Raster bleiben. Dies ist die Standardeinstellung.
  • PROCESS_NODATAGibt an, dass NoData-Zellen im Eingabe-Raster und innerhalb der Maske mit Nibble in gültige Ausgabezellenwerte umgewandelt werden können.
Boolean
in_zone_raster
(optional)

Das Eingabe-Zonen-Raster. Für jede Zone gilt, dass Eingabezellen, die sich innerhalb der Maske befinden, nur durch den Wert des nächsten Nachbarn innerhalb derselben Zone ersetzt werden.

Alle Zellen in einem Raster, die denselben Wert haben, ungeachtet dessen, ob sie aneinander grenzen oder nicht, sind eine Zone. Der Eingabezonen-Layer definiert die Form, Werte und Positionen der Zonen. Das Zonen-Raster kann ein Ganzzahl- oder ein Gleitkommawert sein.

Raster Layer

Rückgabewert

NameErläuterungDatentyp
out_raster

Das Nibble-Ausgabe-Raster.

Die ermittelten Eingabezellen werden durch die Werte ihrer nächsten Nachbarn ersetzt.

Bei einem ganzzahligen Eingabe-Raster ist auch das Ausgabe-Raster ganzzahlig. Wenn es ein Gleitkommawert ist, ist die Ausgabe ebenfalls ein Gleitkommawert.

Raster

Codebeispiel

Nibble – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden durch die Maskeneingabe ermittelte Zellen durch Werte ersetzt, die durch die nächsten Nachbarn des Eingabe-Rasters bestimmt werden.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
nibbleOut = Nibble("land", "snow", "DATA_ONLY")
nibbleOut.save("C:/sapyexamples/output/nibbleout")
Nibble – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden durch die Maskeneingabe ermittelte Zellen durch Werte ersetzt, die durch die nächsten Nachbarn des Eingabe-Rasters bestimmt werden.

# Name: Nibble_Ex_02.py
# Description: Replaces cells of a raster corresponding to a mask 
#              with the values of the nearest neighbors.
# 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 = "land"
inMask = "snow"

# Execute Nibble
nibbleOut = Nibble(inRaster, inMask, "ALL_VALUES")

# Save the output 
nibbleOut.save("C:/sapyexamples/output/outnibble")

Lizenzinformationen

  • ArcGIS Desktop Basic: Erfordert Spatial Analyst
  • ArcGIS Desktop Standard: Erfordert Spatial Analyst
  • ArcGIS Desktop Advanced: Erfordert Spatial Analyst

Verwandte Themen