Die Funktion Grenzen glätten wird verwendet, um entlang der Zonenkanten in einem Raster eine Generalisierung vorzunehmen. Die Kanten werden durch das Ausdehnen und Verkleinern von Grenzen zwischen den Zonen geglättet.
Kanten generalisieren
Die Funktion Grenzen glätten generalisiert bzw. vereinfacht Raster, indem es die Grenzen zwischen Zonen glättet. Angewendet wird eine Ausdehnungs- und Verkleinerungsmethode, mit der die einzelnen Zellen anhand der direkten Nachbarn ausgewertet werden. Es sind verschiedene Optionen verfügbar, mit denen gesteuert wird, welche Auswirkungen die Zellen der Zonen auf den Glättvorgang haben. Der Glättungsgrad kann ebenfalls gesteuert werden.
Nach Priorität sortieren
Zuerst werden die Zonen im Eingabe-Raster nach einer bestimmten Priorität sortiert. Für jede Zelle in der Eingabe wird anhand der Priorität bestimmt, welcher Zonenwert aus der umgebenden Nachbarschaft den Wert der Verarbeitungszelle ersetzen kann.
Die Sortierpriorität kann entweder auf dem Wert der Zonen oder der Größe der Zonen basieren. Mit dem Parameter Sortiertyp wird die verwendete Sortierpriorität festgelegt. Bei der Standardeinstellung Nicht sortieren haben Zellen aus Zonen mit höheren Werten für die Ausdehnung in Zonen mit niedrigeren Werten eine höhere Priorität. Bei der Einstellung Absteigend haben Zonen mit größerer Gesamtfläche für die Ausdehnung in Zonen mit kleinerer Gesamtfläche eine höhere Priorität. Bei der Einstellung Aufsteigend haben Zonen mit kleinerer Gesamtfläche für die Ausdehnung in Zonen mit größerer Gesamtfläche eine höhere Priorität.
Glättungsgrad
Der Glättungsgrad wird durch die Anzahl der Durchgänge für den Ausdehnungs- und Verkleinerungsvorgang gesteuert: Der Vorgang kann einmal oder zweimal erfolgen. Standardmäßig erfolgt er zweimalig, wodurch sich ein höherer Glättungsgrad ergibt.
Ausdehnungs- und Verkleinerungsvorgang
Beim Ausdehnungs- und Verkleinerungsvorgang werden die unmittelbaren Nachbarn der einzelnen Verarbeitungszellen entsprechend der im Parameter Sortiertyp festgelegten Sortierpriorität ausgewertet.
Dabei erfolgt eine Ausdehnung, die von einer Verkleinerung gefolgt ist. Dies erfolgt einmalig, wenn der Parameter Ausdehnen und Verkleinern zweimal durchlaufen deaktiviert ist. Wenn der Parameter aktiviert ist, wird der Ausdehnungs- und Verkleinerungsvorgang zweimal ausgeführt.
Im Folgenden erhalten Sie weitere Informationen zum verwendeten Algorithmus.
Unidirektionale Ausdehnung und Verkleinerung
Bei der unidirektionalen Einstellung wird der Ausdehnungs- und Verkleinerungsvorgang einmal durchgeführt.
Beim Ausdehnungsdurchgang geschieht Folgendes:
- Für jede Verarbeitungszelle im Eingabe-Raster werden die Nachbarzellen ausgewertet.
- Für jede Nachbarzelle wird ausgewertet, ob der Prioritätswert der Zelle niedriger als der Prioritätswert der Verarbeitungszelle ist. Falls dies zutrifft, wird als interne Nachbarschaftspriorität die Priorität der Eingabe-Verarbeitungszelle zugewiesen. Das interne erweiterte Raster wird mit dem neuen Prioritätswert aktualisiert, woraufhin mit der nächsten Nachbarzelle fortgefahren wird.
Beim Verkleinerungsdurchgang geschieht Folgendes:
- Für jede Verarbeitungszelle im Eingabe-Raster werden die Nachbarzellen mit dem Wert des internen erweiterten Rasters aus dem ersten Durchgang ausgewertet.
- Wenn die Priorität einer Nachbarzelle der Priorität der Verarbeitungszelle entspricht, wird der Zellenwert aus dem ursprünglichen Eingabe-Raster in die Ausgabe kopiert. Ist die Bedingung für keine der Nachbarzellen erfüllt, wird der Zellenwert aus dem erweiterten Raster in die Ausgabe kopiert.
Bidirektionale Ausdehnung und Verkleinerung
Wenn der Parameter Ausdehnen und Verkleinern zweimal durchlaufen aktiviert ist (in Python: Parameter number_of_runs auf TWO_WAY festgelegt), wird ein zweiter Ausdehnungs- und Verkleinerungsvorgang durchgeführt, jedoch mit umgekehrten Prioritäten. Die Ausgabe aus dem ersten Durchgang wird als Eingabe für den zweiten Durchgang verwendet.
Im ersten Ausdehnungsdurchgang findet dieselbe Logik wie im unidirektionalen Ausdehnungsdurchgang Anwendung.
Im ersten Verkleinerungsdurchgang findet dieselbe Logik wie im unidirektionalen Verkleinerungsdurchgang Anwendung.
Beim zweiten Ausdehnungsdurchgang geschieht Folgendes:
- Für jede Verarbeitungszelle im internen Raster, das im ersten Ausdehnungs- und Verkleinerungsvorgang erstellt wurde, werden die einzelnen Nachbarzellen ausgewertet.
- Für jede Nachbarzelle wird ausgewertet, ob der Prioritätswert der entsprechenden Zelle größer als der Prioritätswert der Verarbeitungszelle ist. Falls dies zutrifft, wird als interne Nachbarschaftspriorität die Priorität der Eingabe-Verarbeitungszelle zugewiesen. Das interne erweiterte Raster wird mit dem neuen Prioritätswert aktualisiert, woraufhin mit der nächsten Nachbarzelle fortgefahren wird.
Beim zweiten Verkleinerungsdurchgang geschieht Folgendes:
- Für jede Verarbeitungszelle im internen erweiterten Raster aus dem vorherigen Schritt werden die einzelnen Nachbarzellen ausgewertet.
- Für jede Nachbarzelle wird der Wert der Verarbeitungszelle aus dem ursprünglichen Raster in die Ausgabe kopiert, wenn der Prioritätswert der Nachbarzelle kleiner oder größer als der Wert der Verarbeitungszelle im Raster ist.
- Wenn der Prioritätswert der Nachbarzelle dem Wert der Verarbeitungszelle im erweiterten Raster entspricht, wird der Wert der Verarbeitungszelle aus dem erweiterten Raster in die Ausgabe kopiert.
Umgang mit NoData-Werten
Eingabezellen mit NoData-Werten haben die niedrigste Priorität, wenn der Ausdehnungs- und Verkleinerungsvorgang einmal durchgeführt wird. Bei zweimaliger Durchführung ist dies der Fall im zweiten Durchgang. Im zweiten Durchgang der bidirektionalen Sortierung haben Zellen mit NoData-Werten die höchste Priorität.
Beispiel
Betrachten Sie die unten dargestellten Eingabe-Raster, um sich zu verdeutlichen, wie sich die verschiedenen Parameter auf die Ausgabe auswirken.
Es sind die Ausgaben bei allen Einstellungen des Parameters Sortiertyp und bei beiden Einstellungen des Parameters Ausdehnen und Verkleinern zweimal durchlaufen (aktiviert oder deaktiviert) dargestellt.
Wenn der Parameter Sortiertyp auf Nicht sortieren festgelegt ist, ergeben sich folgende Ausgabe-Raster:
Wenn der Parameter Sortiertyp auf Absteigend festgelegt ist, ergeben sich folgende Ausgabe-Raster:
Wenn der Parameter Sortiertyp auf Aufsteigend festgelegt ist, ergeben sich folgende Ausgabe-Raster: