Multidimensionales Raster aggregieren (Spatial Analyst)

Mit der Image Analyst-Lizenz verfügbar.

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Generiert ein multidimensionales Raster-Dataset durch Kombinieren vorhandener multidimensionaler Raster-Variablen entlang einer Dimension.

Verwendung

  • Verwenden Sie den Parameter Aggregationsdefinition, um mit einem Schlüsselwort, einem Wert oder einem Wertebereich ein Intervall auszuwählen. Beispiel: Ihnen stehen für 30 Jahre Temperaturdaten der Meeresoberfläche zur Verfügung, die täglich alle 5 Meter bis zu einer Tiefe von 100 Metern erfasst wurden, zur Verfügung. In diesem Fall können Sie die verschiedenen Intervalloptionen für die folgenden Szenarien verwenden:

    • Aggregieren Sie Tagestemperaturdaten in monatliche Daten, so dass sich ein multidimensionales Raster mit 12 Zeitintervallen ergibt und jedes Intervall das Aggregat der einzelnen Monate für alle Jahre ist. Wählen Sie Intervallschlüsselwort aus, und legen Sie für das Schlüsselwort die Option Monatlich wiederkehrend fest.
    • Aggregieren Sie Tagestemperaturdaten in monatliche Daten, so dass sich ein multidimensionales Raster mit 360 Zeitintervallen oder 12 Zeitintervallen pro Jahr ergibt (30 Jahre x 12 Monate = 360 Zeitintervalle). Wählen Sie Intervallschlüsselwort aus, und legen Sie für das Schlüsselwort die Option Monatlich fest.
    • Monatliche Temperaturdaten in 4-Monats-Intervalle aggregieren. Wählen Sie Intervallwert aus, legen Sie als Wertintervall die Option 4 fest und wählen Sie für Einheit die Option Monate aus.
    • Temperaturdaten von 0 bis 25 Meter, 25 bis 50 Meter und 50 bis 100 Meter aggregieren. Wählen Sie Intervallbereiche aus, und geben Sie für die minimalen und maximalen Tiefenwerte 0 25; 25 50; 50 100 ein.
  • Zu den unterstützten multidimensionalen Raster-Datasets gehören solche im Cloud-Raster-Format (CRF), multidimensionale Mosaik-Datasets bzw. multidimensionale Raster-Layer, die von netCDF-, GRIB- oder HDF-Dateien generiert werden.

  • Dieses Werkzeug generiert ein multidimensionales Raster-Dataset im Cloud-Raster-Format (CRF). Aktuell werden keine anderen Ausgabeformate unterstützt.

  • Standardmäßig wird die multidimensionale Raster-Ausgabe mit dem Komprimierungstyp LZ77 komprimiert. Es wird jedoch empfohlen, stattdessen den Komprimierungstyp LERC festzulegen und den Maximalfehlerwert entsprechend Ihren Daten anzupassen. Wenn Sie zum Beispiel Analyseergebnisse mit einer Genauigkeit von drei Dezimalstellen erwarten, dann sollten Sie den Wert 0,001 als Maximalfehlerwert verwenden. Dies eignet sich am besten, um unnötige Anforderungen an die Genauigkeit zu vermeiden, da andernfalls Verarbeitungszeit und Speichergröße zu sehr ansteigen würden.

    Um den Komprimierungstyp zu ändern, müssen Sie die entsprechende Umgebungseinstellung ändern.

Syntax

AggregateMultidimensionalRaster(in_multidimensional_raster, dimension, {aggregation_method}, {variables}, {aggregation_def}, {interval_keyword}, {interval_value}, {interval_unit}, {interval_ranges}, {aggregation_function}, {ignore_nodata})
ParameterErklärungDatentyp
in_multidimensional_raster

Das als Eingabe verwendete multidimensionale Raster-Dataset.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
dimension

Die Aggregationsdimension. Dies ist die Dimension, an der entlang die Variablen aggregiert werden.

String
aggregation_method
(optional)

Gibt die mathematische Methode an, nach der die aggregierten Abschnitte in einem Intervall kombiniert werden.

  • MEANDer Mittelwert der Werte eines Pixels wird für alle Abschnitte im Intervall berechnet. Dies ist die Standardeinstellung.
  • MAXIMUMDer Maximalwert eines Pixels wird für alle Abschnitte im Intervall berechnet.
  • MAJORITYDer am häufigsten vorkommende Pixelwert wird in allen Abschnitten im Intervall berechnet.
  • MINIMUMDer Minimalwert eines Pixels wird für alle Abschnitte im Intervall berechnet.
  • MINORITYDer am seltensten vorkommende Pixelwert wird in allen Abschnitten im Intervall berechnet.
  • MEDIANDer Medianwert eines Pixels wird für alle Abschnitte im Intervall berechnet.
  • RANGEDer Wertebereich eines Pixels wird für alle Abschnitte im Intervall berechnet.
  • STDDie Standardabweichung der Werte eines Pixels wird für alle Abschnitte im Intervall berechnet.
  • SUMDie Summe der Werte eines Pixels wird für alle Abschnitte im Intervall berechnet.
  • VARIETYDie Anzahl der Einzelwerte eines Pixels wird für alle Abschnitte im Intervall berechnet.
  • CUSTOMDer Wert eines Pixels wird basierend auf einer benutzerdefinierten Raster-Funktion berechnet.

Wenn für aggregation_method die Option CUSTOM festgelegt wurde, ist der Parameter aggregation_function aktiviert.

String
variables
[variables,...]
(optional)

Ein oder mehrere Variablen, die entlang der angegebenen Dimension aggregiert werden. Wenn keine Variable angegeben ist, werden alle Variablen mit der ausgewählten Dimension aggregiert.

Um etwa die Tagestemperaturdaten in monatliche Durchschnittswerte zu aggregieren, geben Sie die Temperatur als zu aggregierende Variable an. Wenn Sie keine Variablen angeben und als Variablen sowohl die Tagestemperatur als auch der tägliche Niederschlag verfügbar sind, werden beide Variablen in monatliche Durchschnittswerte aggregiert. Auch das multidimensionale Ausgabe-Raster enthält dann beide Variablen.

String
aggregation_def
(optional)

Gibt das Dimensionsintervall an, für das die Daten aggregiert werden.

  • ALLDie Datenwerte aller Abschnitte werden aggregiert. Dies ist die Standardeinstellung.
  • INTERVAL_KEYWORDDie Variablendaten werden in einem allgemein bekannten Intervall aggregiert.
  • INTERVAL_VALUEDie Variablendaten werden in einem benutzerdefinierten Intervall und in einer benutzerdefinierten Einheit aggregiert.
  • INTERVAL_RANGESDie Variablendaten werden zwischen bestimmten Wert- oder Datumspaaren aggregiert.
String
interval_keyword
(optional)

Gibt das Schlüsselwortintervall für die Aggregation entlang einer Dimension an. Dieser Parameter ist erforderlich, wenn für den Parameter aggregation_def die Option INTERVAL_KEYWORD festgelegt wurde und die Aggregation über eine bestimmte Zeit erfolgen muss.

  • HOURLYDie Datenwerte werden in stündliche Zeitintervalle aggregiert, und das Ergebnis enthält jede Stunde des Zeitintervalls.
  • DAILYDie Datenwerte werden in tägliche Zeitintervalle aggregiert, und das Ergebnis enthält jeden Tag des Zeitintervalls.
  • WEEKLYDie Datenwerte werden in wöchentliche Zeitintervalle aggregiert, und das Ergebnis enthält jede Woche des Zeitintervalls.
  • DEKADLYDie Datenwerte werden in 3 Zeiträume von je 10 Tagen aggregiert. Der letzte Zeitraum kann mehr oder weniger als 10 Tage umfassen. Es werden 3 Zeitintervalle für jeden Monat ausgegeben.
  • PENTADLYDie Datenwerte werden in 6 Zeiträume von je 5 Tagen aggregiert. Der letzte Zeitraum kann mehr oder weniger als 5 Tage umfassen. Es werden 6 Zeitintervalle für jeden Monat ausgegeben.
  • MONTHLYDie Datenwerte werden in monatliche Zeitintervalle aggregiert, und das Ergebnis enthält jeden Monat des Zeitintervalls.
  • QUARTERLYDie Datenwerte werden in vierteljährliche Zeitintervalle aggregiert, und das Ergebnis enthält jedes Quartal des Zeitintervalls.
  • YEARLYDie Datenwerte werden in jährliche Zeitintervalle aggregiert, und das Ergebnis enthält jedes Jahr des Zeitintervalls.
  • RECURRING_DAILYDie Datenwerte werden in tägliche Zeitintervalle aggregiert, und das Ergebnis enthält einen aggregierten Wert pro julianischem Tag. Es werden maximal 366 Tages-Zeitintervalle ausgegeben.
  • RECURRING_WEEKLYDie Datenwerte werden in wöchentliche Zeitintervalle aggregiert, und das Ergebnis enthält einen aggregierten Wert pro Woche. Es werden maximal 53 Wochen-Zeitintervalle ausgegeben.
  • RECURRING_MONTHLYDie Datenwerte werden in monatliche Zeitintervalle aggregiert, und das Ergebnis enthält einen aggregierten Wert pro Monat. Es werden maximal 12 Monats-Zeitintervalle ausgegeben.
  • RECURRING_QUARTERLYDie Datenwerte werden in vierteljährliche Zeitintervalle aggregiert, und das Ergebnis enthält einen aggregierten Wert pro Quartal. Es werden maximal 4 Quartals-Zeitintervalle ausgegeben.
String
interval_value
(optional)

Die Größe des Intervalls, in dem aggregiert wird. Dieser Parameter ist erforderlich, wenn der Parameter aggregation_def auf INTERVAL_VALUE gesetzt ist

Wenn beispielsweise die monatlichen Temperaturdaten von 30 Jahren in 5-Jahres-Abschnitte aggregiert werden sollen, geben Sie für interval_value die Zahl 5 und für interval_unit die Option YEARS ein.

Double
interval_unit
(optional)

Die für den Parameter interval_value verwendete Einheit. Dieser Parameter ist erforderlich, wenn für den Parameter dimension ein Zeitfeld festgelegt wurde und für den Parameter aggregation_def die Option INTERVAL_VALUE.

Wenn die Aggregation über eine andere Dimension als die Zeit erfolgt, ist diese Option nicht verfügbar, und die Einheit des Intervallwertes entspricht der Variableneinheit der multidimensionalen Eingabe-Raster-Daten.

  • HOURSDie Datenwerte werden in stündliche Zeitabschnitte im angegebenen Intervall aggregiert.
  • DAYSDie Datenwerte werden in tägliche Zeitabschnitte im angegebenen Intervall aggregiert.
  • WEEKSDie Datenwerte werden in wöchentliche Zeitabschnitte im angegebenen Intervall aggregiert.
  • MONTHSDie Datenwerte werden in monatliche Zeitabschnitte im angegebenen Intervall aggregiert.
  • YEARSDie Datenwerte werden in jährliche Zeitabschnitte im angegebenen Intervall aggregiert.
String
interval_ranges
[interval_ranges,...]
(optional)

Wertegruppen werden anhand der in einer Wertetabelle angegebenen Intervallbereiche aggregiert. Die Wertetabelle besteht aus Wertpaaren des minimalen und maximalen Bereichs vom Datentyp "Double" oder "Date".

Dieser Parameter ist erforderlich, wenn der Parameter aggregation_def auf INTERVAL_RANGE gesetzt ist.

Value Table
aggregation_function
(optional)

Eine benutzerdefinierte Raster-Funktion, mit der die Pixelwerte der aggregierten Raster berechnet werden. Die Eingabe ist ein Raster-Funktions-JSON-Objekt oder eine .rft.xml-Datei, die aus einer Funktionskette oder einer benutzerdefinierten Python-Raster-Funktion erstellt wurde.

Dieser Parameter ist erforderlich, wenn der Parameter aggregation_method auf CUSTOM gesetzt ist

File; String
ignore_nodata
(optional)

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

  • DATA Bei der Analyse werden alle gültigen Pixel entlang einer angegebenen Dimension einbezogen und alle NoData-Pixel ignoriert. Dies ist die Standardeinstellung.
  • NODATAWenn NoData-Werte für die Pixel entlang einer angegebenen Dimension vorhanden sind, wird bei der Analyse NoData zurückgegeben.
Boolean

Rückgabewert

NameErklärungDatentyp
out_multidimensional_raster

Das multidimensionale Ausgabe-Raster-Dataset im Cloud Raster Format (CRF).

Raster

Codebeispiel

AggregateMultidimensionalRaster – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden Temperaturdaten in jährliche Daten mit Durchschnittstemperaturwerten aggregiert.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
arcpy.CheckOutExtension("Spatial")
outAggMultidim = AggregateMultidimensionalRaster("C:/sapyexamples/data/climateData.crf", 
	"StdTime", "MEAN", "temperature", "INTERVAL_KEYWORD", "YEARLY", 
	"", "", "", "", "DATA")
outAggMultidim.save("C:/sapyexamples/output/YearlyTemp.crf")
AggregateMultidimensionalRaster – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden tägliche Niederschlags- und Temperaturdaten in monatliche Daten mit den maximalen Niederschlags- und Temperaturwerten aggregiert.

# Name: AggregateMultidimensionalRaster_Ex_02.py
# Description: Aggregates daily precipitation and temperature data into
#           monthly data with the maximum precipitation and temperature values
# 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"

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

""""
Usage: out_multidimensional_raster = AggregateMultidimensionalRaster(in_multidimensional_raster, dimension,
                                    {aggregation_method}, {variables}, 
                                    {aggregation_def}, {interval_keyword}, {ignore_nodata})
"""

# Define input parameters
inputFile = "C:/sapyexamples/data/dailyclimateData.crf"
dimensionName = "StdTime"
aggregationMethod = "Maximum"
variables = "temperature;precipitation"
aggregationDefinition = "INTERVAL_KEYWORD"
keyword = "MONTHLY"
ignore_nodata = "DATA"

# Execute AggregateMultidimensionalRaster
outAggMultidim = AggregateMultidimensionalRaster(inputFile, dimensionName,
	aggregationMethod, variables, aggregationDefinition, keyword, "", "", "", "",
	ignore_nodata)

# Save the output
outAggMultidim.save("C:/sapyexamples/output/monthlymaxtemp.crf")

Lizenzinformationen

  • Basic: Erfordert Spatial Analyst oder Image Analyst
  • Standard: Erfordert Spatial Analyst oder Image Analyst
  • Advanced: Erfordert Spatial Analyst oder Image Analyst

Verwandte Themen