Focal Statistics (Image Analyst)

Zusammenfassung

Berechnet für jede Eingabezellenposition eine Statistik der Werte innerhalb einer angegebenen Nachbarschaft.

Weitere Informationen zur Funktionsweise des Werkzeugs "Focal Statistics"

Abbildung

Eingabe- und Ausgabewerte des Werkzeugs "Focal Statistics" für eine Rechtecknachbarschaft mit dem statistischen Set "Summe"
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,"CELL"), "SUM", "DATA")

Verwendung

  • Es stehen mehrere Nachbarschaftsformen und Statistiktypen zur Auswahl. Die verfügbaren Statistiken hängen vom Typ des Eingabe-Rasters ab.

  • Folgende Nachbarschaftsformen sind verfügbar: Kreisring, Kreis, Rechteck und Keil. Mithilfe einer Kernel-Datei können benutzerdefinierte Nachbarschaftsformen definiert werden.

  • Wenn eine kreisförmige, kreisringförmige oder keilförmige Nachbarschaft angegeben wird, werden einige der äußeren diagonalen Zellen möglicherweise nicht in den Berechnungen berücksichtigt, da der Mittelpunkt der Zelle innerhalb der Nachbarschaft liegen muss.

  • Für eine Nachbarschaft vom Typ "Unregelmäßig" und "Gewichtung" muss ein Wert für Kernel-Datei angegeben werden. Eine Kernel-Datei ist eine ASCII-Textdatei, die die Werte und die Form einer Nachbarschaft angibt. Die Datei kann mit einem beliebigen Texteditor erstellt werden. Die Datei muss die Erweiterung .txt aufweisen, und im Dateinamen dürfen keine Leerzeichen enthalten sein.

    Informationen zum Erstellen und Verwenden von Kernel-Dateien finden Sie unter Funktionsweise von "Focal Statistics" in den Abschnitten "Unregelmäßig" und "Gewichtung".

  • Bei Integer-Rastern als Eingabe lauten die gültigen Statistiken für Statistiktyp wie folgt: "Mehrheit", "Maximum", "Mittelwert", "Medianwert", "Minimum", "Minderheit", "Perzentil", "Bereich", "Standardabweichung", "Summe" und "Varianz". Bei Gleitkomma-Rastern als Eingabe lauten die gültigen Statistiken "Maximum", "Mittelwert", "Medianwert", "Minimum", "Perzentil", "Bereich", "Standardabweichung" und "Summe". "Mehrheit", "Minderheit" und "Varianz" sind bei Gleitkomma-Rastern nicht verfügbar.

  • Wenn es sich bei der Eingabe um ein Integer-Raster handelt, ist die Ausgabe der Statistiktypen "Mehrheit", "Maximum", "Minimum", "Minderheit", "Bereich", "Summe" und "Varianz" ebenfalls ein Integer­Raster. Bei den Statistiktypen "Mittelwert", "Medianwert", "Perzentil" und "Standardabweichung" ist die Ausgabe ein Gleitkomma-Raster.

    Wenn das Eingabe-Raster vom Typ "Gleitkomma" ist, ist auch die Ausgabe für alle verfügbaren Statistiktypen vom Typ "Gleitkomma".

  • Wenn bei der Berechnung von Medianwerten die Nachbarschaft eine ungerade Anzahl von Zellen aufweist, werden die Werte geordnet und der mittlere Wert wird als Medianwert ausgegeben. Bei einer geraden Anzahl von Zellen in der Nachbarschaft werden die Werte geordnet und die beiden mittleren Werte gemittelt.

  • Informationen zur Berechnung von Mehrheiten und Minderheiten bei einem Gleichstand finden Sie im Abschnitt zur Funktionsweise von "Focal Statistics".

  • Beim Parameter Nachbarschaft kann die Option Gewichtung nur für die Statistiktypen Mittelwert, Standardabweichung und Summe festgelegt werden.

  • NoData-Zellen in der Eingabe können in der Ausgabe einen Wert erhalten, wenn der Parameter NoData in Berechnungen ignorieren aktiviert ist, vorausgesetzt, dass mindestens eine Zelle in der Nachbarschaft einen gültigen Wert aufweist.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster

Das Raster, für das die Focal Statistics für jede Eingabezelle berechnet werden sollen.

Raster Layer
Nachbarschaft
(optional)

Die Zellen um eine Verarbeitungszelle, die bei der Statistikberechnung verwendet werden. Es stehen verschiedene vordefinierte Nachbarschaftstypen zur Auswahl. Alternativ kann ein benutzerdefinierter Kernel definiert werden.

Nach Auswahl des Nachbarschaftstyps können weitere Parameter festgelegt werden, um die endgültige Definition von Form, Größe und Maßeinheiten vorzunehmen. Die Standardnachbarschaft ist ein Quadrat mit einer Breite und Höhe von drei Zellen.

Im Folgenden sind die Formen der verfügbaren Nachbarschaftstypen beschrieben:

  • Kreisring, Innerer Radius, Äußerer Radius, Einheitentyp

    Eine ring- oder kreisringförmige Nachbarschaft, die durch einen inneren und äußeren Radius definiert ist. Der Radius muss einen Wert von mindestens 1 Zelle aufweisen, und der äußere Radius muss größer sein als der innere Radius. Der innere Radius darf einen Wert von maximal 2046 Zellen, der äußere Radius von maximal 2047 Zellen aufweisen. Der Standardkreisring hat einen inneren Radius von 1 Zelle und einen äußeren Radius von 3 Zellen.

  • Kreis, Radius, Einheitentyp

    Eine kreisförmige Nachbarschaft mit dem gegebenen Radius. Der Radius muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 2047 Zellen aufweisen. Der Standardradius beträgt 3 Zellen.

  • Rechteck, Höhe, Breite, Einheitentyp

    Eine rechteckige Nachbarschaft, die durch Breite und Höhe definiert ist. Die Breite bzw. Höhe muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 4096 Zellen aufweisen. Der Standard ist das Quadrat mit einer Breite und Höhe von drei Zellen.

  • Keil, Radius, Anfangswinkel, Endwinkel, Einheitentyp

    Eine keilförmige Nachbarschaft, die durch einen Radius, einen Anfangswinkel und einen Endwinkel definiert wird. Der Radius muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 2047 Zellen aufweisen. Der Keil dehnt sich gegen den Uhrzeigersinn vom Anfangswinkel zum Endwinkel aus. Die Winkel werden in Grad angegeben, wobei 0 bzw. 360 Grad Osten darstellt. Es können negative Winkel verwendet werden. Der Standardkeil reicht von 0 bis 90 Grad mit einem Radius von drei Zellen.

  • Unregelmäßig, Kernel-Datei

    Eine benutzerdefinierte Nachbarschaft, deren Spezifikationen durch die angegebene Kernel-Textdatei festgelegt werden, die Gewichtungen auf die Elemente der Nachbarschaft anwenden kann. Die Breite bzw. Höhe des Kernels muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 4096 Zellen aufweisen.

  • Gewichtung, Kernel-Datei

    Eine benutzerdefinierte Nachbarschaft, deren Spezifikationen durch die angegebene Kernel-Textdatei festgelegt werden, die Gewichtungen auf die Elemente der Nachbarschaft anwenden kann. Die Breite bzw. Höhe des Kernels muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 4096 Zellen aufweisen.

Für die Nachbarschaftstypen "Kreisring", "Kreis", "Rechteck" und "Keil" können die Entfernungseinheiten der Parameter als Einheiten der Zelle oder der Karte angegeben werden. Die Standardeinstellung sind Zelleneinheiten.

Bei Kernel-Nachbarschaften definiert die erste Zelle in der Kernel-Datei die Breite und Höhe der Nachbarschaft als Anzahl von Zellen. In den darauffolgenden Zeilen ist angegeben, wie der Eingabewert verarbeitet wird, der der jeweiligen Position im Kernel entspricht. Ist beim Nachbarschaftstyp "Unregelmäßig" oder "Gewichtung" ein Wert von 0 in der Kernel-Datei angegeben, wird die entsprechende Position nicht in die Berechnung einbezogen. Bei einer unregelmäßigen Nachbarschaft bedeutet ein Wert von 1, dass die entsprechende Eingabezelle in die Berechnung einbezogen wird. Bei einer gewichteten Nachbarschaft gibt der Wert für die jeweilige Position an, mit welchem Faktor der Eingabezellenwert multipliziert wird. Es können positive, negative sowie Dezimalwerte verwendet werden.

Neighborhood
Statistiktyp
(optional)

Gibt den zu berechnenden Statistiktyp an.

Der Standardstatistiktyp ist Mittelwert.

Wenn das Eingabe-Raster ein Integer-Raster ist, sind alle Statistiktypen verfügbar. Wenn das Eingabe-Raster ein Gleitkomma-Raster ist, sind nur die Statistiktypen Mittelwert, Maximum, Medianwert, Minimum, Perzentil, Bereich, Standardabweichung und Summe verfügbar.

  • MittelwertDer Mittelwert (Durchschnittswert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • MehrheitDie Mehrheit (der am häufigsten auftretende Wert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • MaximumDer Maximalwert (der höchste Wert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • MedianwertDer Medianwert der Zellen innerhalb der Nachbarschaft wird berechnet. Der Medianwert entspricht dem 50. Perzentil.
  • MinimumDer Minimalwert (der kleinste Wert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • MinderheitDie Minderheit (der am seltensten auftretende Wert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • PerzentilEin Perzentil der Zellen innerhalb der Nachbarschaft wird berechnet. Standardmäßig wird das 90. Perzentil berechnet. Sie können andere Werte (von 0 bis 100) mit dem Parameter Perzentilwert angeben.
  • BereichDer Bereich (Differenz zwischen größtem und kleinstem Wert) der Zellen in der Nachbarschaft wird berechnet.
  • StandardabweichungDie Standardabweichung der Zellen innerhalb der Nachbarschaft wird berechnet.
  • SummeDie Summe der Zellen innerhalb der Nachbarschaft wird berechnet.
  • VarianzDie Varianz (die Anzahl der Einzelwerte) der Zellen innerhalb der Nachbarschaft wird berechnet.
String
NoData-Werte in Berechnungen ignorieren
(optional)

Gibt an, ob NoData-Werte bei der Statistikberechnung ignoriert werden.

  • Aktiviert: Ein NoData-Wert innerhalb einer Nachbarschaft wird ignoriert, falls vorhanden. Nur Zellen innerhalb der Nachbarschaft, die Datenwerte aufweisen, werden bei der Ermittlung des Ausgabewertes verwendet. Handelt es sich bei der Verarbeitungszelle um eine NoData-Zelle, erhält die Verarbeitungszelle möglicherweise einen Wert im Ausgabe-Raster, wenn mindestens eine Zelle in der Nachbarschaft über einen gültigen Wert verfügt. Dies ist die Standardeinstellung.
  • Deaktiviert: Wenn eine Zelle in der Nachbarschaft einschließlich der bearbeiteten Zelle den Wert "NoData" aufweist, erhält auch die Ausgabe für die bearbeitete Zelle den Wert "NoData". Das Vorhandensein eines NoData-Wertes bedeutet, dass nicht genügend Informationen verfügbar sind, um den statistischen Wert für die Nachbarschaft zu bestimmen.
Boolean
Perzentilwert
(optional)

Der Perzentilwert wird berechnet. Der Standardwert ist 90 für das 90. Perzentil.

Zulässiger Wert kann zwischen 0 und 100 liegen. Grundsätzlich entspricht der Perzentilwert 0 statistisch gesehen der Statistik "Minimum" und der Perzentilwert 100 der Statistik "Maximum". Der Wert 50 ergibt im Wesentlichen dasselbe Ergebnis wie der Medianwert der Statistik.

Diese Option wird nur unterstützt, wenn für den Parameter Statistiktyp die Option Perzentil festgelegt wurde. Wenn ein anderer Statistiktyp angegeben wurde, wird dieser Parameter ignoriert.

Double

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

Das Ausgabe-Raster für "Focal Statistics".

Raster

FocalStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata}, {percentile_value})
NameErläuterungDatentyp
in_raster

Das Raster, für das die Focal Statistics für jede Eingabezelle berechnet werden sollen.

Raster Layer
neighborhood
(optional)

Die Zellen um eine Verarbeitungszelle, die bei der Statistikberechnung verwendet werden. Es stehen verschiedene vordefinierte Nachbarschaftstypen zur Auswahl. Alternativ kann ein benutzerdefinierter Kernel definiert werden.

Nach Auswahl des Nachbarschaftstyps können weitere Parameter festgelegt werden, um die endgültige Definition von Form, Größe und Maßeinheiten vorzunehmen. Die Standardnachbarschaft ist ein Quadrat mit einer Breite und Höhe von drei Zellen.

Die Form der Nachbarschaften bestimmt sich aus der Klasse Neighborhood. Die verfügbaren Nachbarschaftstypen sind NbrAnnulus, NbrCircle, NbrRectangle, NbrWedge, NbrIrregular, und NbrWeight.

Im Folgenden sind die Formen der verfügbaren Nachbarschaftstypen beschrieben:

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})

    Eine ring- oder kreisringförmige Nachbarschaft, die durch einen inneren und äußeren Radius definiert ist. Der Radius muss einen Wert von mindestens 1 Zelle aufweisen, und der äußere Radius muss größer sein als der innere Radius. Der innere Radius darf einen Wert von maximal 2046 Zellen, der äußere Radius von maximal 2047 Zellen aufweisen. Der Standardkreisring hat einen inneren Radius von 1 Zelle und einen äußeren Radius von 3 Zellen.

  • NbrCircle({radius}, {units}

    Eine kreisförmige Nachbarschaft mit dem gegebenen Radius. Der Radius muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 2047 Zellen aufweisen. Der Standardradius beträgt 3 Zellen.

  • NbrRectangle({width}, {height}, {units})

    Eine rechteckige Nachbarschaft, die durch Breite und Höhe definiert ist. Die Breite bzw. Höhe muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 4096 Zellen aufweisen. Der Standard ist das Quadrat mit einer Breite und Höhe von drei Zellen.

  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})

    Eine keilförmige Nachbarschaft, die durch einen Radius, einen Anfangswinkel und einen Endwinkel definiert wird. Der Radius muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 2047 Zellen aufweisen. Der Keil dehnt sich gegen den Uhrzeigersinn vom Anfangswinkel zum Endwinkel aus. Die Winkel werden in Grad angegeben, wobei 0 bzw. 360 Grad Osten darstellt. Es können negative Winkel verwendet werden. Der Standardkeil reicht von 0 bis 90 Grad mit einem Radius von drei Zellen.

  • NbrIrregular(inKernelFile)

    Eine benutzerdefinierte Nachbarschaft, deren Spezifikationen durch die angegebene Kernel-Textdatei festgelegt werden. Die Breite bzw. Höhe des Kernels muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 4096 Zellen aufweisen.

  • NbrWeight(inKernelFile)

    Eine benutzerdefinierte Nachbarschaft, deren Spezifikationen durch die angegebene Kernel-Textdatei festgelegt werden, die Gewichtungen auf die Elemente der Nachbarschaft anwenden kann. Die Breite bzw. Höhe des Kernels muss einen Wert von mindestens 1 Zelle und darf einen Wert von maximal 4096 Zellen aufweisen.

Für die Nachbarschaftstypen NbrAnnulus, Nbrcircle, NbrRectangle und NbrWedge können die Entfernungseinheiten der Parameter als Einheiten der CELL oder der MAP angegeben werden. Die Standardeinstellung sind Zelleneinheiten.

Bei Kernel-Nachbarschaften definiert die erste Zelle in der Kernel-Datei die Breite und Höhe der Nachbarschaft als Anzahl von Zellen. In den darauffolgenden Zeilen ist angegeben, wie der Eingabewert verarbeitet wird, der der jeweiligen Position im Kernel entspricht. Ist beim Nachbarschaftstyp "Unregelmäßig" oder "Gewichtung" ein Wert von 0 in der Kernel-Datei angegeben, wird die entsprechende Position nicht in die Berechnung einbezogen. Bei einer unregelmäßigen Nachbarschaft bedeutet ein Wert von 1, dass die entsprechende Eingabezelle in die Berechnung einbezogen wird. Bei einer gewichteten Nachbarschaft gibt der Wert für die jeweilige Position an, mit welchem Faktor der Eingabezellenwert multipliziert wird. Es können positive, negative sowie Dezimalwerte verwendet werden.

Neighborhood
statistics_type
(optional)

Gibt den zu berechnenden Statistiktyp an.

  • MEANDer Mittelwert (Durchschnittswert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • MAJORITYDie Mehrheit (der am häufigsten auftretende Wert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • MAXIMUMDer Maximalwert (der höchste Wert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • MEDIANDer Medianwert der Zellen innerhalb der Nachbarschaft wird berechnet. Der Medianwert entspricht dem 50. Perzentil.
  • MINIMUMDer Minimalwert (der kleinste Wert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • MINORITYDie Minderheit (der am seltensten auftretende Wert) der Zellen innerhalb der Nachbarschaft wird berechnet.
  • PERCENTILEEin Perzentil der Zellen innerhalb der Nachbarschaft wird berechnet. Standardmäßig wird das 90. Perzentil berechnet. Sie können andere Werte (von 0 bis 100) mit dem Parameter percentile_value angeben.
  • RANGEDer Bereich (Differenz zwischen größtem und kleinstem Wert) der Zellen in der Nachbarschaft wird berechnet.
  • STDDie Standardabweichung der Zellen innerhalb der Nachbarschaft wird berechnet.
  • SUMDie Summe der Zellen innerhalb der Nachbarschaft wird berechnet.
  • VARIETYDie Varianz (die Anzahl der Einzelwerte) der Zellen innerhalb der Nachbarschaft wird berechnet.

Der Standardstatistiktyp ist MEAN.

Wenn das Eingabe-Raster ein Integer-Raster ist, sind alle Statistiktypen verfügbar. Wenn das Eingabe-Raster ein Gleitkomma-Raster ist, sind nur die Statistiktypen MEAN, MAXIMUM, MEDIAN, MINIMUM, PERCENTILE, RANGE, STD und SUM verfügbar.

String
ignore_nodata
(optional)

Gibt an, ob NoData-Werte bei der Statistikberechnung ignoriert werden.

  • DATAEin NoData-Wert innerhalb einer Nachbarschaft wird ignoriert, falls vorhanden. Nur Zellen innerhalb der Nachbarschaft, die Datenwerte aufweisen, werden bei der Ermittlung des Ausgabewertes verwendet. Handelt es sich bei der Verarbeitungszelle um eine NoData-Zelle, erhält die Verarbeitungszelle möglicherweise einen Wert im Ausgabe-Raster, wenn mindestens eine Zelle in der Nachbarschaft über einen gültigen Wert verfügt. Dies ist die Standardeinstellung.
  • NODATAWenn eine Zelle in der Nachbarschaft einschließlich der bearbeiteten Zelle den Wert "NoData" aufweist, erhält auch die Ausgabe für die bearbeitete Zelle den Wert "NoData". Das Vorhandensein eines NoData-Wertes bedeutet, dass nicht genügend Informationen verfügbar sind, um den statistischen Wert für die Nachbarschaft zu bestimmen.
Boolean
percentile_value
(optional)

Der Perzentilwert wird berechnet. Der Standardwert ist 90 für das 90. Perzentil.

Zulässiger Wert kann zwischen 0 und 100 liegen. Grundsätzlich entspricht der Perzentilwert 0 statistisch gesehen der Statistik "Minimum" und der Perzentilwert 100 der Statistik "Maximum". Der Wert 50 ergibt im Wesentlichen dasselbe Ergebnis wie der Medianwert der Statistik.

Diese Option wird nur unterstützt, wenn für den Parameter statistics_type die Option PERCENTILE festgelegt wurde. Wenn ein anderer Statistiktyp angegeben wurde, wird dieser Parameter ignoriert.

Double

Rückgabewert

NameErläuterungDatentyp
out_raster

Das Ausgabe-Raster für "Focal Statistics".

Raster

Codebeispiel

FocalStatistics: Beispiel 1 (Python-Fenster)

In diesem Beispiel wird der am wenigsten häufig auftretende Wert in einer ringförmigen Nachbarschaft um jede Zelle im Eingabe-Raster berechnet.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"), 
                               "MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
FocalStatistics: Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird der am wenigsten häufig auftretende Wert in einer 10x10-Nachbarschaft um jede Zelle im Eingabe-Raster ermittelt.

# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
#    neighborhood.
# 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 = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")

# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
                                     "")

# Save the output 
outFocalStatistics.save("C:/sapyexamples/output/focalstatout")

Verwandte Themen