Mehrheitsfilter (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Ersetzt Zellen in einem Raster auf Basis der Mehrheit der zusammenhängenden Nachbarzellen.

Weitere Informationen zur Funktionsweise des Werkzeugs "Mehrheitsfilter"

Abbildung

Abbildung: Mehrheitsfilter
OutRas = MajorityFilter(InRas1)

Verwendung

  • Das Werkzeug Mehrheitsfilter muss zwei Kriterien erfüllen, bevor eine Ersetzung erfolgen kann. Die Anzahl der benachbarten Zellen mit ähnlichem Wert muss groß genug sein (entweder indem es sich um die Mehrheit oder um die Hälfte aller Zellen handelt), und diese Zellen müssen um dem Mittelpunkt des Filter-Kernels zusammenhängen. Das zweite Kriterium in Bezug auf die räumliche Konnektivität der Zellen minimiert die Beschädigung von zellularen räumlichen Mustern.

  • Bei Verwendung von vier Nachbarn werden die Ecken von rechteckigen Bereichen beibehalten. Bei Verwendung von acht Nachbarn werden die Ecken von rechteckigen Bereichen geglättet.

  • Wenn die Anzahl der Nachbarn auf acht festgelegt wird, wird "zusammenhängend" als gemeinsame Kante definiert. Wenn die Anzahl der Nachbarn auf vier festgelegt wird, wird "zusammenhängend" als gemeinsame Ecke definiert.

  • Wenn der Parameter Schwellenwert beim Ersetzen auf Hälftefestgelegt ist und zwei Werte als gleiche Hälften auftreten, erfolgt keine Ersetzung, wenn der Wert der Verarbeitungszelle gleich dem Wert einer der Hälften ist. Die Option Half (Hälfte) ermöglicht eine umfangreichere Filterung als die Option Majority (Mehrheit).

  • Das Nachbarschaftskriterium für Kanten- und Ecken-Raster-Zellen ist zwar gleich, es gelten jedoch unterschiedliche Regeln für Majority (Mehrheit) und Half (Hälfte). Wenn die Anzahl der zu verwendenden Nachbarn vier ist, benötigt eine Kanten- oder Eckzelle stets zwei passende Nachbarn, damit eine Ersetzung erfolgen kann. Bei acht Nachbarn müssen alle Nachbarn einer Eckzelle denselben Wert haben, damit sie geändert werden kann. Bei einer Kantenzelle sind drei zusammenhängende Nachbarn erforderlich, einschließlich einem an der Kante, damit eine Änderung erfolgen kann.

  • Das Ausgabe-Raster wird nach einigen Ausführungen von Mehrheitsfilter stabilisiert (ändert sich nicht mehr).

  • Weitere Informationen zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster

Das zu filternde Eingabe-Raster auf Basis der Mehrheit der zusammenhängenden Nachbarzellen.

Die Eingabe muss den Typ "Integer" aufweisen.

Raster Layer
Anzahl der berücksichtigten Nachbarn
(optional)

Bestimmt die Anzahl der im Kernel des Filters zu verwendenden benachbarten Zellen.

  • VierDer Kernel des Filters sind die vier direkten (orthogonalen) Nachbarn der vorhandenen Zelle. Dies ist die Standardeinstellung.
  • AchtDer Kernel des Filters sind die acht unmittelbaren Nachbarn (ein Fenster aus drei mal drei Zellen) der derzeitigen Zelle.
String
Schwellenwert beim Ersetzen
(optional)

Gibt die Anzahl der zusammenhängenden (räumlich verbunden) Zellen an, die vom gleichen Wert sein müssen, damit eine Ersetzung erfolgt.

  • MehrheitEine Mehrheit der Zellen muss über den gleichen Wert verfügen und zusammenhängend sein. Drei von vier oder fünf von acht verbundenen Zellen müssen denselben Wert aufweisen.
  • HälfteDie Hälfte der Zellen muss denselben Wert aufweisen und zusammenhängend sein. Zwei von vier oder vier von acht verbundenen Zellen müssen denselben Wert aufweisen. Diese Option führt zu einem stärkeren Glättungseffekt als die andere.
String

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

Das gefilterte Ausgabe-Raster.

Die Ausgabe ist immer ganzzahlig.

Raster

MajorityFilter(in_raster, {number_neighbors}, {majority_definition})
NameErläuterungDatentyp
in_raster

Das zu filternde Eingabe-Raster auf Basis der Mehrheit der zusammenhängenden Nachbarzellen.

Die Eingabe muss den Typ "Integer" aufweisen.

Raster Layer
number_neighbors
(optional)

Bestimmt die Anzahl der im Kernel des Filters zu verwendenden benachbarten Zellen.

  • FOURDer Kernel des Filters sind die vier direkten (orthogonalen) Nachbarn der vorhandenen Zelle. Dies ist die Standardeinstellung.
  • EIGHTDer Kernel des Filters sind die acht unmittelbaren Nachbarn (ein Fenster aus drei mal drei Zellen) der derzeitigen Zelle.
String
majority_definition
(optional)

Gibt die Anzahl der zusammenhängenden (räumlich verbunden) Zellen an, die vom gleichen Wert sein müssen, damit eine Ersetzung erfolgt.

  • MAJORITYEine Mehrheit der Zellen muss über den gleichen Wert verfügen und zusammenhängend sein. Drei von vier oder fünf von acht verbundenen Zellen müssen denselben Wert aufweisen.
  • HALFDie Hälfte der Zellen muss denselben Wert aufweisen und zusammenhängend sein. Zwei von vier oder vier von acht verbundenen Zellen müssen denselben Wert aufweisen. Diese Option führt zu einem stärkeren Glättungseffekt als die andere.
String

Rückgabewert

NameErläuterungDatentyp
out_raster

Das gefilterte Ausgabe-Raster.

Die Ausgabe ist immer ganzzahlig.

Raster

Codebeispiel

MajorityFilter: Beispiel 1 (Python-Fenster)

In diesem Beispiel wird das Eingabe-Raster unter Verwendung aller acht Nachbarn gefiltert. Dabei wird ein stärkerer Glättungseffekt erzielt, wenn vorgeschrieben wird, dass für die Ersetzung die Hälfte davon denselben Wert aufweisen muss.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outMajFilt = MajorityFilter("land", "EIGHT", "HALF")
outMajFilt.save("c:/sapyexamples/output/outmajfilt")
MajorityFilter: Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird das Eingabe-Raster unter Verwendung aller acht Nachbarn gefiltert. Dabei wird ein stärkerer Glättungseffekt erzielt, wenn vorgeschrieben wird, dass für die Ersetzung die Hälfte davon denselben Wert aufweisen muss.

# Name: MajorityFilter_Ex_02.py
# Description: Replaces cells in a raster based on the 
#              majority of their contiguous neighboring cells.
# 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 MajorityFilter
outMajFilt = MajorityFilter(inRaster, "EIGHT", "HALF")

# Save the output 
outMajFilt.save("c:/sapyexamples/output/majfilter")

Verwandte Themen