Majority Filter (Spatial Analyst)

Zusammenfassung

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

Weitere Informationen zur Funktionsweise des Werkzeugs "Majority Filter"

Abbildung

Abbildung: Majority Filter
OutRas = MajorityFilter(InRas1)

Verwendung

Syntax

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

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

Es muss den Typ "Ganzzahl" aufweisen.

Raster Layer
number_neighbors
(optional)

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

  • FOUR Der Kernel des Filters sind die vier direkten (orthogonalen) Nachbarn der vorhandenen Zelle. Dies ist die Standardeinstellung.
  • EIGHT Der 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.

  • Mehrheit Eine 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.
  • HALF Die 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. Die Option HALF führt zu einem stärkeren Glättungseffekt.
String

Rückgabewert

NameErläuterungDatentyp
out_raster

Das gefilterte Ausgabe-Raster.

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"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute MajorityFilter
outMajFilt = MajorityFilter(inRaster, "EIGHT", "HALF")

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

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Erfordert Spatial Analyst
ArcEditor: Erfordert Spatial Analyst
ArcInfo: Erfordert Spatial Analyst

7/10/2012