Grenzen glätten (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Glättet die Grenze zwischen Zonen in einem Raster.

Weitere Informationen zur Funktionsweise von "Grenzen glätten"

Abbildung

Abbildung: Werkzeug "Grenzen glätten"
OutRas = BoundaryClean(InRas1)

Verwendung

  • Das Werkzeug Grenzen glätten generalisiert bzw. vereinfacht Raster, indem es die Grenzen zwischen Zonen glättet. Im Werkzeug sind Optionen verfügbar, mit denen gesteuert wird, welche Auswirkungen die Zellen der Eingabezonen auf das Glätten und den angewendeten Glättungsgrad haben.

  • Das Werkzeug wendet beim Glätten der Grenzen die mathematischen Morphologietechniken Ausdehnung (Dilatation) und Verkleinerung (Erosion) an (Serra, 1982). Jede Eingabezelle wird anhand ihrer direkten orthogonalen und diagonalen Nachbarn ausgewertet.

  • Beim Glättungsvorgang werden zuerst die Nachbarzellen nach einer bestimmten Priorität geordnet. Durch die Priorität wird festgelegt, welche Zone aus den Nachbarzellen den Wert der Verarbeitungszelle in der Ausgabe ersetzen kann.

  • Die Priorität kann entweder auf dem Wert der Zonen oder der Größe der Zonen basieren. Mit dem Parameter Sortiertyp (sort_type in Python) wird der verwendete Sortiertyp bestimmt.

    Bei der Standardmethode Nicht sortieren (NO_SORT in Python) wird die Priorität basierend auf dem Wert der Zonen ausgewertet. Zellen aus Zonen mit höheren Werten haben für die Ausdehnung in Zonen mit niedrigeren Werten eine höhere Priorität. Die Größe der Zonen wird nicht berücksichtigt.

    Die Größe bzw. Gesamtfläche der Zonen kann für die Sortierung nach Priorität verwendet werden. Die Größe bestimmt sich aus der Anzahl an Zellen, die jeweils eine Zone bilden. Mit der Einstellung Absteigend (DESCEND in Python) werden die Zonen in absteigender Reihenfolge nach Größe geordnet. Zonen mit größerer Gesamtfläche haben für die Ausdehnung in Zonen mit kleinerer Gesamtfläche eine höhere Priorität. Bei der Einstellung Aufsteigend (ASCEND in Python) trifft das Gegenteil zu: Zonen mit kleinerer Gesamtfläche haben für die Ausdehnung in Zonen mit größerer Gesamtfläche eine höhere Priorität.

  • Der Glättungsgrad wird mit dem Parameter Ausdehnen und Verkleinern zweimal durchlaufen (number_of_runs in Python) gesteuert. Damit wird die Anzahl der Durchgänge für den Ausdehnungs- und Verkleinerungsvorgang festgelegt.

    Ist die Einstellung deaktiviert (ONE_WAY in Python), wird der Ausdehnungs- und Verkleinerungsvorgang einmal durchgeführt. Ist die Einstellung hingegen aktiviert (TWO_WAY in Python), wird der Ausdehnungs- und Verkleinerungsvorgang zweimal durchgeführt, sodass sich eine stärkere Glättung der Zonengrenzen ergibt.

    Weitere Informationen zum Algorithmus finden Sie im Abschnitt "Grenzen glätten" unter Glätten von Zonenkanten mit "Grenzen glätten" und "Mehrheitsfilter".

  • Wenn die Werte aller acht Nachbarzellen dem der Verarbeitungszelle entsprechen, behält die Ausgabezelle den Wert der Eingabezelle bei.

  • Quellen:

    • Serra, J., Image Analysis and Mathematical Morphology, Academic Press, London 1982.
  • Weitere Informationen zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster

Das Eingabe-Raster, für das die Grenze zwischen Zonen geglättet wird.

Die Eingabe muss den Typ "Integer" aufweisen.

Raster Layer
Sortierung
(optional)

Gibt den Typ der Sortierung an, der im Glättungsprozess verwendet werden soll. Die Sortierung bestimmt die Priorität, durch die Zellen sich in ihre Nachbarn ausdehnen können.

Die Sortierung kann auf Grundlage des Zonenwertes oder der Zonengröße erfolgen.

  • Nicht sortierenDie Priorität bestimmt sich aus dem Zonenwert. Die Größe der Zonen wird nicht berücksichtigt. Zonen mit größeren Werten haben für die Ausdehnung in Zonen mit kleineren Werten in der geglätteten Ausgabe eine höhere Priorität. Dies ist die Standardeinstellung.
  • AbsteigendZonen werden in absteigender Reihenfolge der Größe nach sortiert. Zonen mit kleineren Gesamtflächen haben für die Ausdehnung in Zonen mit größeren Gesamtflächen eine höhere Priorität. Durch diese Option wird die Verbreitung von Zellen aus kleineren Zonen in der geglätteten Ausgabe eliminiert oder reduziert.
  • AufsteigendZonen werden in aufsteigender Reihenfolge der Größe nach sortiert. Zonen mit größeren Gesamtflächen haben für die Ausdehnung in Zonen mit kleineren Gesamtflächen eine höhere Priorität. Durch diese Option wird die Verbreitung von Zellen aus kleineren Zonen in der geglätteten Ausgabe beibehalten oder erhöht.
String
Ausdehnen und Verkleinern zweimal durchlaufen
(optional)

Gibt an, wie oft der Glättungsprozess stattfinden soll: zweimal oder einmal.

  • Aktiviert: Der Ausdehnungs- und Verkleinerungsvorgang wird zweimal durchgeführt. Beim ersten Mal wird der Vorgang gemäß dem angegebenen Sortiertyp ausgeführt. Beim zweiten Mal wird mit umgekehrter Priorität ein weiterer Ausdehnungs- und Verkleinerungsvorgang ausgeführt. Dies ist die Standardeinstellung.
  • Deaktiviert: Der Ausdehnungs- und Verkleinerungsvorgang wird einmal gemäß dem Sortiertyp ausgeführt.
Boolean

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

Das generalisierte Ausgabe-Raster.

Die Grenzen zwischen Zonen in der Eingabe werden geglättet.

Die Ausgabe ist immer ganzzahlig.

Raster

BoundaryClean(in_raster, {sort_type}, {number_of_runs})
NameErläuterungDatentyp
in_raster

Das Eingabe-Raster, für das die Grenze zwischen Zonen geglättet wird.

Die Eingabe muss den Typ "Integer" aufweisen.

Raster Layer
sort_type
(optional)

Gibt den Typ der Sortierung an, der im Glättungsprozess verwendet werden soll. Die Sortierung bestimmt die Priorität, durch die Zellen sich in ihre Nachbarn ausdehnen können.

Die Sortierung kann auf Grundlage des Zonenwertes oder der Zonengröße erfolgen.

  • NO_SORTDie Priorität bestimmt sich aus dem Zonenwert. Die Größe der Zonen wird nicht berücksichtigt. Zonen mit größeren Werten haben für die Ausdehnung in Zonen mit kleineren Werten in der geglätteten Ausgabe eine höhere Priorität. Dies ist die Standardeinstellung.
  • DESCENDZonen werden in absteigender Reihenfolge der Größe nach sortiert. Zonen mit kleineren Gesamtflächen haben für die Ausdehnung in Zonen mit größeren Gesamtflächen eine höhere Priorität. Durch diese Option wird die Verbreitung von Zellen aus kleineren Zonen in der geglätteten Ausgabe eliminiert oder reduziert.
  • ASCENDZonen werden in aufsteigender Reihenfolge der Größe nach sortiert. Zonen mit größeren Gesamtflächen haben für die Ausdehnung in Zonen mit kleineren Gesamtflächen eine höhere Priorität. Durch diese Option wird die Verbreitung von Zellen aus kleineren Zonen in der geglätteten Ausgabe beibehalten oder erhöht.
String
number_of_runs
(optional)

Gibt an, wie oft der Glättungsprozess stattfinden soll: zweimal oder einmal.

  • TWO_WAYDer Ausdehnungs- und Verkleinerungsvorgang wird zweimal durchgeführt. Beim ersten Mal wird der Vorgang gemäß dem angegebenen Sortiertyp ausgeführt. Beim zweiten Mal wird mit umgekehrter Priorität ein weiterer Ausdehnungs- und Verkleinerungsvorgang ausgeführt. Dies ist die Standardeinstellung.
  • ONE_WAYDer Ausdehnungs- und Verkleinerungsvorgang wird einmal gemäß dem Sortiertyp ausgeführt.
Boolean

Rückgabewert

NameErläuterungDatentyp
out_raster

Das generalisierte Ausgabe-Raster.

Die Grenzen zwischen Zonen in der Eingabe werden geglättet.

Die Ausgabe ist immer ganzzahlig.

Raster

Codebeispiel

BoundaryClean – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird die Grenze zwischen Zonen in absteigender Reihenfolge mit einer bidirektionalen Ausführung geglättet.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OutBndCln = BoundaryClean("land", "DESCEND", "TWO_WAY")
OutBndCln.save("c:/sapyexamples/output/bndcln_des2")
BoundaryClean – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird die Grenze zwischen Zonen in absteigender Reihenfolge mit einer bidirektionalen Ausführung geglättet.

# Name: BoundaryClean_Ex_02.py
# Description: Smoothes the boundary between zones 
#              by expanding and shrinking it.
# 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"

# Execute BoundaryClean
OutBndCln = BoundaryClean(inRaster, "ASCEND", "TWO_WAY")

# Save the output 
OutBndCln.save("c:/sapyexamples/output/bndcln_asc2")

Lizenzinformationen

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

Verwandte Themen