Grenzen glätten (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Glättet die Grenze zwischen Zonen durch Erweitern und Verkleinern.

Weitere Informationen zur Funktionsweise von "Grenzen glätten"

Abbildung

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

Verwendung

  • Alle Regionen mit weniger als drei Zellen in X- oder Y-Richtung werden geändert.

  • Es sind zwei Glättungsprozesse verfügbar, die sich durch die Häufigkeit unterscheiden, mit der die Ausdehnung und Verkleinerung durchgeführt wird. Mit der standardmäßig aktivierten Einstellung Ausdehnen und Verkleinern zweimal durchlaufen (TWO_WAY in Python) wird die Ausdehnung und Verkleinerung zum Glätten der Eingabezellenwerte zweimal ausgeführt. Wenn die Option nicht aktiviert ist (ONE_WAY in Python), wird der Prozess zum Ausdehnen und Verkleinern nur einmal ausgeführt.

    Beim ersten Durchgang für beide Methoden wird für alle bearbeiteten Zellen im erweiterten Raster, die einen Nachbarn mit dem ursprünglichen Wert der bearbeiteten Zelle aufweisen, der ursprüngliche Wert der bearbeiteten Zelle wiederhergestellt. Bei der Verkleinerung im zweiten Durchgang der bidirektionalen Option wird jedoch für alle Zellen im erweiterten Raster, die nicht vollständig von acht Zellen mit demselben Wert umgeben sind, der ursprüngliche Wert wiederhergestellt.

  • Die Ausdehnung ist für den ersten und zweiten Durchgang identisch.

  • Eingabezellen mit dem Wert "NoData" haben beim unidirektionalen Sortierungstyp bzw. beim ersten Durchgang der bidirektionalen Sortierung die niedrigste Priorität. Im zweiten Durchgang der bidirektionalen Sortierung haben Zellen mit dem Wert "NoData" die höchste Priorität.

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

Syntax

BoundaryClean(in_raster, {sort_type}, {number_of_runs})
ParameterErklärungDatentyp
in_raster

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

Die Eingabe muss den Typ "Ganzzahl" aufweisen.

Raster Layer
sort_type
(optional)

Gibt den Typ der Sortierung an, der im Glättungsprozess verwendet werden soll.

Dies bestimmt die Priorität, durch die Zellen sich in ihre Nachbarn ausdehnen können.

  • NO_SORTFührt keine Sortierung nach Größe aus. Zonen mit größeren Werten haben für die Ausdehnung in Zonen mit kleineren Werten eine höhere Priorität.Dies ist die Standardeinstellung.
  • DESCENDSortiert Zonen in absteigender Reihenfolge der Größe nach. Zonen mit größeren Gesamtflächen haben für die Ausdehnung in Zonen mit kleineren Gesamtflächen eine höhere Priorität.
  • ASCENDSortiert Zonen in aufsteigender Reihenfolge der Größe nach. Zonen mit kleineren Gesamtflächen haben für die Ausdehnung in Zonen mit größeren Gesamtflächen eine höhere Priorität.
String
number_of_runs
(optional)

Gibt die Anzahl der Richtungen an, in die der Glättungsprozess stattfindet.

  • TWO_WAYFührt Ausdehnung und Verkleinerung gemäß dem angegebenen Sortiertyp aus, und führt dann mit umgekehrter Priorität eine weitere Ausdehnung und Verkleinerung aus.Dies ist die Standardeinstellung.
  • ONE_WAYFührt Ausdehnung und Verkleinerung einmal, gemäß dem Sortiertyp, aus.
Boolean

Rückgabewert

NameErklärungDatentyp
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