Skip To Content

Nibble

Zusammenfassung

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

Abbildung

Abbildung Werkzeug "Nibble"

Verwendung

  • Mit dem Werkzeug Nibble kann ausgewählten Bereichen eines Rasters der Wert des nächsten Nachbarn zugewiesen werden. Das Werkzeugt 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.

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

Syntax

Nibble_ra (inputRaster, inputMaskRaster, outputName, {nibbleValues}, {nibbleNodata}, {inputZoneRaster})
ParameterErklärungDatentyp
inputRaster

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

Das Raster kann ein Ganzzahl- oder ein Gleitkommawert sein.

Raster Layer; Image Service; String
inputMaskRaster

Das als Maske verwendete Raster.

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

Raster Layer; Image Service; String
outputName

Der Name des Ausgabe-Nibble-Raster-Service.

Der Standardname basiert auf dem Werkzeugnamen und dem Namen des Eingabe-Layers. Wenn der Layer bereits vorhanden ist, werden Sie aufgefordert, einen anderen Namen einzugeben.

String
nibbleValues
(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_VALUESGibt 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
nibbleNodata
(optional)

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

  • PRESERVE_NODATAGibt an, dass NoData-Zellen, die sich im Eingabe-Raster in der Maske befinden, 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
inputZoneRaster
(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; Image Service; String

Abgeleitete Ausgabe

NameErklärungDatentyp
outputRaster

Das Ausgabe-Raster.

Raster-Layer

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
arcpy.Nibble_ra(
    "https://MyPortal.esri.com/server/rest/services/Hosted/in_raster/ImageServer",
    "https://MyPortal.esri.com/server/rest/services/Hosted/in_mask/ImageServer",
    "outnibbled1")
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 within defines zones.
#
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputLayer      = "https://MyPortal.esri.com/server/rest/services/Hosted/inras/ImageServer"
inputMaskLayer  = "https://MyPortal.esri.com/server/rest/services/Hosted/inmask/ImageServer"
outputName      = "outnibbled2"
nibbleValuesOpt = "DATA_ONLY"
nibbleNodataOpt = "PROCESS_NODATA"
inputZoneLayer  = "https://MyPortal.esri.com/server/rest/services/Hosted/inzones/ImageServer"

arcpy.Nibble_ra(inputLayer, inputMaskLayer, outputName, nibbleValuesOpt, 
                nibbleNodataOpt, inputZoneLayer)

Lizenzinformationen

  • Basic: Erfordert ArcGIS Image Server
  • Standard: Erfordert ArcGIS Image Server
  • Advanced: Erfordert ArcGIS Image Server

Verwandte Themen