Teilmenge eines multidimensionalen Rasters (Multidimension)

Zusammenfassung

Erstellt eine Teilmenge eines multidimensionalen Rasters durch Aufteilen der Daten entlang definierter Variablen und Dimensionen.

Verwendung

  • Mit diesem Werkzeug wird ein multidimensionaler Raster-Layer aus einem multidimensionalen Raster- oder Mosaik-Dataset durch Extrahieren einer Teilmenge von Variablen erstellt. Beispiel: Sie verfügen über ein Mosaik-Dataset, das die monatlichen Niederschlagsdaten von 30 Jahren enthält, und Sie möchten Daten für den Januar der einzelnen Jahre extrahieren, um zu ermitteln, wie sich der Niederschlag in diesem Monat im Lauf der Jahre verändert hat.

  • Die unterstützten multidimensionalen Raster-Datasets sind netCDF, GRIB, HDF und Esri CRF. Multidimensionale Mosaik-Datasets werden auch unterstützt.

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

  • Verwenden Sie den Parameter Bemaßungsdefinition, um Dimensionen über ein Intervall, einen Wert oder einen Wertebereich aufzuteilen. Beispiel: Ihnen stehen für 10 Jahre Daten zum Salzgehalt des Meerwassers, die monatlich alle 2 Meter bis zu einer Tiefe von 500 Metern erfasst wurden, zur Verfügung. In diesem Fall können Sie die verschiedenen Optionen zur Bemaßungsdefinition für die folgenden Szenarien verwenden:

    • Extrahieren der Daten zum Salzgehalt für den Monat Januar über den Zeitraum von 10 Jahren. Wählen Sie Durch Werte aus. Legen Sie für Bemaßung den Wert StdTime und für Werte die Option Januar fest.
    • Aufteilen der Daten zum Salzgehalt für den Tiefenbereich 0 bis 150 Meter. Wählen Sie Nach Bereichen aus. Legen Sie für Dimension den Wert StdZ, für Minimalwert den Wert -150 und für Maximalwert den Wert 0 fest.
    • Extrahieren der Daten zum Salzgehalt für die ersten 10 Tage des Monats Januar über einen Zeitraum von 10 Jahren. Wählen Sie Nach Iteration aus. Legen Sie für Dimension den Wert StdTime, für Beginn der ersten Iteration und Ende der ersten Iteration den entsprechenden Beginn und das Ende des Iterationszeitraums und für Schritt den Wert 1 fest, und geben Sie unter Einheit die Option Jahre an.

  • Standardmäßig wird die multidimensionale Raster-Ausgabe mit dem Komprimierungstyp LZ77 komprimiert. Es wird jedoch empfohlen, stattdessen den Komprimierungstyp LERC festzulegen und den Maximalfehler entsprechend Ihren Daten anzupassen. Wenn Sie zum Beispiel Analyseergebnisse mit einer Genauigkeit von drei Dezimalstellen erwarten, dann sollten Sie den Wert 0,001 für diesen Maximalfehler 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

SubsetMultidimensionalRaster(in_multidimensional_raster, out_multidimensional_raster, {variables}, {dimension_def}, {dimension_ranges}, {dimension_values}, {dimension}, {start_of_first_iteration}, {end_of_first_iteration}, {iteration_step}, {iteration_unit})
ParameterErklärungDatentyp
in_multidimensional_raster

Das als Eingabe verwendete multidimensionale Raster-Dataset.

Als Eingaben werden netCDF-, GRIB-, HDF- oder CRF-Dateien, ein multidimensionales Mosaik-Dataset oder ein multidimensionaler Raster-Layer unterstützt.

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

Das als Ausgabe verwendete multidimensionale Raster-Dataset.

Raster Dataset
variables
[variables,...]
(optional)

Die Variablen, die in das multidimensionale Ausgabe-Raster aufgenommen werden. Wenn keine Variable angegeben ist, werden alle Variablen verwendet.

String
dimension_def
(optional)

Gibt die Methode an, die zum Aufteilen der Dimension verwendet wird.

  • ALLFür jede Dimension wird der volle Bereich verwendet. Dies ist die Standardeinstellung.
  • BY_RANGESDie Dimension wird anhand eines Bereichs oder einer Liste von Bereichen aufgeteilt.
  • BY_ITERATIONDie Dimension wird über eine angegebene Intervallgröße aufgeteilt.
  • BY_VALUEDie Dimension wird anhand einer Liste von Dimensionswerten aufgeteilt.
String
dimension_ranges
[dimension_ranges,...]
(optional)

Der Bereich oder die Liste der Bereiche für die angegebene Dimension.

Dadurch werden die Daten basierend auf dem Dimensionsnamen und der minimalen und maximalen Werte für den Bereich aufgeteilt. Dieser Parameter ist erforderlich, wenn der Parameter dimension_def auf BY_RANGES gesetzt ist

Value Table
dimension_values
[dimension_values,...]
(optional)

Eine Liste von Werten für die angegebene Dimension. Dieser Parameter ist erforderlich, wenn der Parameter dimension_def auf BY_VALUE gesetzt ist

Value Table
dimension
(optional)

Die Dimension, an der entlang die Variablen aufgeteilt werden. Dieser Parameter ist erforderlich, wenn der Parameter dimension_def auf BY_ITERATION gesetzt ist

String
start_of_first_iteration
(optional)

Der Beginn des ersten Intervalls. Die Iteration durch das Dataset erfolgt anhand dieses Intervalls. Dieser Parameter ist erforderlich, wenn der Parameter dimension_def auf BY_ITERATION gesetzt ist

String
end_of_first_iteration
(optional)

Das Ende des ersten Intervalls. Die Iteration durch das Dataset erfolgt anhand dieses Intervalls. Dieser Parameter ist erforderlich, wenn der Parameter dimension_def auf BY_ITERATION gesetzt ist

String
iteration_step
(optional)

Die Häufigkeit, in der die Daten aufgeteilt werden. Dieser Parameter ist erforderlich, wenn der Parameter dimension_def auf BY_ITERATION gesetzt ist

Double
iteration_unit
(optional)

Gibt die Iterationseinheit an. Dieser Parameter ist erforderlich, wenn für den Parameter dimension_def der Wert BY_ITERATION festgelegt wurde und für den Parameter dimension die Option StdTime.

  • HOURSDie angegebene Zeiteinheit lautet "Stunden".
  • DAYSDie angegebene Zeiteinheit lautet "Tage".
  • WEEKSDie angegebene Zeiteinheit lautet "Wochen".
  • MONTHSDie angegebene Zeiteinheit lautet "Monate".
  • YEARSDie angegebene Zeiteinheit lautet "Jahre".
String

Codebeispiel

SubsetMultidimensionalRaster – Beispiel 1 (Python-Fenster)

Extrahieren Sie eine Teilmenge von Variablen aus einem multidimensionalen Raster mithilfe der BY_RANGES-Methode.

# Import system modules
import arcpy

# Execute
SubMultidim = SubsetMultidimensionalRaster("C:\data\Ocean_Data.crf", "salinity", "BY_RANGES", "StdZ -500 -100")

# Save Output
SubMultidim.save("C:\data\Halocline.crf")
SubsetMultidimensionalRaster – Beispiel 2 (eigenständiges Skript)

Extrahieren Sie die Variable für Wassertemperatur aus einem multidimensionalen Raster mithilfe der BY_VALUE-Methode.

# Import system modules
import arcpy

# Define input parameters
in_multidimensional_raster = r"C:\data\MD_Ocean_data.crf"
out_multidimensional_raster = r"C:\data\Temp_slice.crf"
variables = "water_temp"
dimension_def = "BY_VALUE"
dimension_values = "StdZ -50;StdZ -100"

#Execute

arcpy.md.SubsetMultidimensionalRaster(in_multidimensional_raster, out_multidimensional_raster, variables, dimension_def, dimension_values)
SubsetMultidimensionalRaster – Beispiel 3 (eigenständiges Skript)

Extrahieren Sie die Variable für Salzgehalt aus einem multidimensionalen Raster mithilfe BY_ITERATION-Methode.

# Import system modules
import arcpy
 
# Set local variables
in_multidimensional_raster = r"C:\data\MD_Ocean_data.crf"
out_multidimensional_raster =  r"C:\data\salinity_slice.crf"
variables = "salinity"
dimension_def = "BY_ITERATION"
dimension = "StdTime"
start_of_first_iteration = "2009-01-01"
end_of_first_iteration = "2009-01-10"
iteration_step = "1"
iteration_unit = "YEARS"
 
#Execute
 
arcpy.md.SubsetMultidimensionalRaster(in_multidimensional_raster, out_multidimensional_raster, variables, dimension_def, dimension, start_of_first_iteration, end_of_first_iteration, iteration_step, iteration_unit)

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen