NetCDF-Flugbahnen in Feature-Class (Discrete Sampling Geometry) (Multidimensional)

Zusammenfassung

Mit diesem Werkzeug wird aus Trajektorien in netCDF-Dateien eine Feature-Class erstellt. Nach den CF Metadata Conventions (Climate and Forecast) ist eine Trajektorie ein DSG-Typ (Discrete Sampling Geometry).

Funktionsweise der DSG-Werkzeuge (Discrete Sampling Geometry)

Verwendung

  • Nach den CF Metadata Conventions (Climate and Forecast) ist eine Flugbahn eine Serie von Datenpunkten entlang eines Pfades durch den Raum mit monoton zunehmenden Zeiten.

  • DSG-Datasets (Discrete Sampling Geometry) weisen eine geringere Dimensionalität auf als die Raum-Zeit-Region, in der die Stichproben der Daten erfasst werden.

  • Die Eingabe-netCDF-Dateien sollten CF-konform sein (CF 1.6 oder höher). Die CF-Konventionen definieren Metadaten, um die durch die einzelnen Variablen repräsentierten Daten sowie deren räumliche und zeitbezogene Eigenschaften zu beschreiben.

  • Wenn die Eingabe-netCDF-Dateien nicht CF-konform sind, können Sie eine Klima- und Prognose-Eingabemetadaten-Datei (in_cf_metadata in Python) mit zusätzlichen oder geänderten Attributen angeben. Bei der Klima- und Prognose-Eingabemetadaten-Datei handelt es sich um eine Datei im XML-Format mit der Erweiterung .ncml. Die Attribute aus dieser Metadaten-Datei ergänzen oder überschreiben die Metadaten in der netCDF-Datei. Die Klima- und Prognose-Eingabemetadaten-Datei kann auch zur Angabe einer Grid-Mapping-Variable verwendet werden, wenn die Eingabe-netCDF-Datei keine aufweist.

  • Ein DSG-Feature-Typ wird über eine Instanz-ID-Variable identifiziert, die mit einem cf_role-Attribut gekennzeichnet ist. Mehrere netCDF-Dateien mit demselben Schema können in eine einzige Feature-Class mit einem eindeutigen InstanceID-Feld konvertiert werden. Jede netCDF-Datei sollte eine Variable aufweisen, die mit demselben cf_role-Attribut gekennzeichnet ist. Dieses wird bei mehreren Dateien als Identifizierungsfeld verwendet. Die Aggregation erfolgt genau entlang der Instanzdimension dieser Variable.

  • Der Abgleich von Instanz- und Beobachtungsvariablen wird anhand des Variablennamens vorgenommen. Wenn also zwei Variablen in verschiedenen netCDF-Dateien denselben Namen haben, wird davon ausgegangen, dass sie dasselbe repräsentieren.

  • In den Parametern Instanzvariablen (instance_variables in Python) und Beobachtungsvariablen (observation_variables in Python) können mehrere Instanz- und Beobachtungsvariablen (bspw. Fahrtnummer, Temperatur, Salzgehalt) ausgewählt werden.

  • Sie können den Parameter Analyseausdehnung (analysis_extent in Python) verwenden, um den Ausgabeanalysebereich explizit für die Ausführung eines eigenständigen Werkzeugs anzugeben oder um die Umgebungseinstellung als Teil eines Workflows außer Kraft zu setzen. Sie können die Ausdehnung angeben, indem Sie Werte eingeben, die Anzeigeausdehnung wählen, einen Layer auswählen oder nach einem Eingabe-Dataset suchen.

  • Der Standardwert für die Analyseausdehnung wird anhand der Einstellung für "Vereinigung – Ausdehnung" der Eingabe-netCDF-Dateien berechnet.

  • Wenn die Ausdehnung nicht explizit als Parameterwert angegeben wird, wird sie aus den Umgebungseinstellungen für die Analyse abgeleitet.

  • Wenn die Option Route und Objekt für den Parameter Ausgabeschema (out_schema = "ROUTE_AND_EVENT" in Python) angegeben ist, werden zwei Ausgaben erstellt. Eine Ausgabe ist ein 2D- oder 3D-Polylinien-Feature, das den Pfad der Flugbahn darstellt, mit den Feldern From Time und To Time, die die Start- und Endzeit jeder Flugbahn angeben. Die andere Ausgabe ist eine Tabelle mit Beobachtungswerten zu jedem Aufzeichnungszeitpunkt mit zugehörigen Feldern mit hinzugefügter Zeitangabe. Wenn die Option Punkt (out_schema = "POINT" in Python) angegeben ist, wird ein 2D- oder 3D-Punkt-Feature-Layer erstellt, der die Positionen entlang jeder Flugbahn zeigt, an denen Beobachtungen gemacht werden.
  • Eine Datenvariable in der netCDF-Datei kann die Variable "grid_mapping" verwenden, um das Koordinatenreferenzsystem (CRS), das für die räumlichen Koordinatenwerte verwendet wird, explizit zu definieren. Das Grid-Mapping-Attribut epsg_code kann zur Auswahl eines GCS oder PCS verwendet werden. Außerdem können die Grid-Mapping-Attribute esri_pe_string, crs_wkt und spatial_ref zur Definition einer Zeichenfolge des Typs "WKT 1" oder "WKT 2" verwendet werden. Wenn eines dieser Attribute vorhanden ist, werden keine anderen Attribute für das horizontale Koordinatensystem verwendet. Weitere Informationen zu Koordinatenreferenzsystemen sowie zu den unterstützten WKIDs finden Sie im Thema Koordinatenreferenzsysteme, Projektionen und Transformationen.

  • Wenn die räumlichen Koordinatenwerte dreidimensional sind, sollte die Variable "grid_mapping" auch ein vertikales Koordinatensystem (VKS) angeben. Ein VKS ist eine Kombination aus einem vertikalen Datum, einer linearen Maßeinheit und der Richtung (nach oben oder unten), in der vertikale Koordinaten zunehmen. Das Datum wird in der Regel von einem Attribut der Grid-Mapping-Variablen abgerufen. Die anderen Eigenschaften werden von der vertikalen Koordinatenvariablen übernommen. Ein beliebiges vertikales Datum kann angegeben werden, indem eine zusammengesetzte WKT-Zeichenfolge als Wert für eines der oben aufgeführten WKT-Attribute verwendet wird. Ein schwerkraftabhängiges Datum kann entweder mit dem Attribut geoid_name oder geopotential_datum_name angegeben werden. Außerdem kann mit einem der Standardnamen für die vertikale Koordinatenvariable implizit ein Hydrografischnull angegeben werden. Wenn kein VKS angegeben wird und eine vertikale Koordinatenvariable vorhanden ist, wird "Instantaneous Water Level Depth" oder "Instantaneous Water Level Height" (EPSG:5831, EPSG:5829) als Standardeinstellung ausgewählt.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-netCDF-Dateien oder -Ordner

Die Eingabe-netCDF-Dateien, die zur Erstellung einer Feature-Class verwendet werden. Es können sowohl einzelne netCDF-Dateien als auch Ordner mit mehreren netCDF-Dateien verwendet werden.

Die Eingabe-netCDF-Dateien müssen denselben DSG-Feature-Typ und dasselbe Schema aufweisen.

Folder; File
Ziel-Workspace

Die Enterprise- oder File-Geodatabase, in der die Ausgabe-Feature-Class und Ausgabetabelle erstellt wird. Dies muss ein vorhandener Workspace sein.

Workspace
Name des Ausgabepunkts oder der Ausgabe-Polylinie

Der Name der Feature-Class, die die Positionen aus den netCDF-Variablen enthält. Diese Variablen werden als Felder aus dem Parameter Instanzvariablen hinzugefügt.

String
Beobachtungsvariablen
(optional)

Die netCDF-Variablen, die alle Beobachtungswerte von jeder Position und jeder vertikalen Ebene enthalten. Diese werden der Ausgabetabelle als Felder hinzugefügt.

String
Name der Ausgabe-Objekttabelle
(optional)

Der Name der Ausgabetabelle, die alle Datensätze von den Beobachtungsvariablen enthält.

String
Instanzvariablen
(optional)

Die netCDF-Variablen, die einzelne Feature unterscheiden und die Positionen angeben, an denen Beobachtungen gemacht werden. Diese Variablen werden der Ausgabe-Feature-Class als Felder hinzugefügt.

String
Ausgabeschema
(optional)

Gibt den Typ der zu erstellenden Ausgabe-Feature-Class an.

  • Route und ObjektEs wird eine 2D- oder 3D-Polyline-Feature-Class mit Pfadinformationen erstellt.
  • PunktEs wird eine 2D- oder 3D-Feature-Class mit allen Positionen erstellt, an denen Beobachtungen gemacht werden.
String
Unterverzeichnisse einbeziehen
(optional)

Legt fest, ob die Dateien in den Unterverzeichnissen eines Eingabeordners verwendet werden.

  • Aktiviert: Alle netCDF-Dateien in den Unterverzeichnissen werden verwendet.
  • Deaktiviert: Nur Dateien im Eingabe-Ordner werden verwendet. Dies ist die Standardeinstellung.
Boolean
Klima- und Prognose-Eingabemetadaten
(optional)

Die Datei im XML-Format mit der Erweiterung .ncml, die fehlende oder geänderte CF-Informationen für die Eingabe-netCDF-Dateien bereitstellt.

File
Analyseausdehnung
(optional)

Die Ausdehnung, die den Bereich der Ausgabe-Feature-Class definiert.

Extent

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabepunkt oder Ausgabe-Polylinie

Die Ausgabe-Point-Feature-Class oder Ausgabe-Polyline-Feature-Class.

Feature Class
Ausgabe-Objekttabelle

Dies ist die Ausgabetabelle.

Table

arcpy.management.NetCDFTrajectoriesToFeatureClass(in_files_or_folders, target_workspace, out_point_or_polyline_name, {observation_variables}, {out_table_name}, {instance_variables}, {out_schema}, {include_subdirectories}, {in_cf_metadata}, {analysis_extent})
NameErläuterungDatentyp
in_files_or_folders
[in_files_or_folders,...]

Die Eingabe-netCDF-Dateien, die zur Erstellung einer Feature-Class verwendet werden. Es können sowohl einzelne netCDF-Dateien als auch Ordner mit mehreren netCDF-Dateien verwendet werden.

Die Eingabe-netCDF-Dateien müssen denselben DSG-Feature-Typ und dasselbe Schema aufweisen.

Folder; File
target_workspace

Die Enterprise- oder File-Geodatabase, in der die Ausgabe-Feature-Class und Ausgabetabelle erstellt wird. Dies muss ein vorhandener Workspace sein.

Workspace
out_point_or_polyline_name

Der Name der Feature-Class, die die Positionen aus den netCDF-Variablen enthält. Diese Variablen werden als Felder aus dem Parameter instance_variables hinzugefügt.

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

Die netCDF-Variablen, die alle Beobachtungswerte von jeder Position und jeder vertikalen Ebene enthalten. Diese werden der Ausgabetabelle als Felder hinzugefügt.

String
out_table_name
(optional)

Der Name der Ausgabetabelle, die alle Datensätze von den Beobachtungsvariablen enthält.

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

Die netCDF-Variablen, die einzelne Feature unterscheiden und die Positionen angeben, an denen Beobachtungen gemacht werden. Diese Variablen werden der Ausgabe-Feature-Class als Felder hinzugefügt.

String
out_schema
(optional)

Gibt den Typ der zu erstellenden Ausgabe-Feature-Class an.

  • ROUTE_AND_EVENTEs wird eine 2D- oder 3D-Polyline-Feature-Class mit Pfadinformationen erstellt.
  • POINTEs wird eine 2D- oder 3D-Feature-Class mit allen Positionen erstellt, an denen Beobachtungen gemacht werden.
String
include_subdirectories
(optional)

Legt fest, ob die Dateien in den Unterverzeichnissen eines Eingabeordners verwendet werden.

  • INCLUDE_SUBDIRECTORIESAlle netCDF-Dateien in den Unterverzeichnissen werden verwendet.
  • DO_NOT_INCLUDE_SUBDIRECTORIESNur Dateien im Eingabe-Ordner werden verwendet. Dies ist die Standardeinstellung.
Boolean
in_cf_metadata
(optional)

Die Datei im XML-Format mit der Erweiterung .ncml, die fehlende oder geänderte CF-Informationen für die Eingabe-netCDF-Dateien bereitstellt.

File
analysis_extent
(optional)

Die Klasse Extent gibt die Ausdehnung des Ausgabe-Raster-Datasets an.

Die Klasse Extent weist folgendes Format auf:

  • Extent (XMin, YMin, XMax, YMax)

    Dabei gilt:

    • XMin: Der XMin-Wert der Ausdehnung
    • YMin: Der YMin-Wert der Ausdehnung
    • XMax: Der XMax-Wert der Ausdehnung
    • YMax: Der YMax-Wert der Ausdehnung

Extent

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_point_or_polyline

Die Ausgabe-Point-Feature-Class oder Ausgabe-Polyline-Feature-Class.

Feature Class
out_table

Dies ist die Ausgabetabelle.

Table

Codebeispiel

NetCDFTrajectoriesToFeatureClass – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden eine Feature-Class und eine Tabelle aus einer NetCDF-DSG-Flugbahndatei der NOAA erstellt.

import arcpy
arcpy.md.NetCDFTrajectoriesToFeatureClass(r"C:\AMLR\amlr_202002160447.nc", r"C:\ArcGIS\Projects\output.gdb", 
										  "amlr", "temperature", None, "amrl_table", "ROUTE_AND_EVENT", 
										  "INCLUDE_SUBDIRECTORIES", None, "DEFAULT")
NetCDFTrajectoriesToFeatureClass – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden eine Feature-Class und eine Tabelle aus einer NetCDF-DSG-Flugbahndatei mit Hurrikan-Spuren erstellt.

# Name: NetCDFTrajectoriesToFeatureClass_Ex_02.py
# Description: Creates a polyline feature class from a netCDF DSG trajectories file of hurricane track. 

# Import system modules
Import arcpy  

# Set the local variables 
in_files_or_folders = r"C:\IBTrACS\Katrina"  
target_workspace = r"C:\outputs\hurricane.gdb" 
out_point_or_polyline_name = "Katrina_2005" 
observation_variables = "wind_speed" 
out_table_name = "" 
instance_variables = "" 
out_schema = "ROUTE_AND_EVENT" 
include_subdirectories = "DO_NOT_INCLUDE_SUBDIRECTORIES" 
in_cf_metadata = "" 
analysis_extent = "" 

# Execute NetCDFTrajectoriesToFeatureClass
arcpy.md.NetCDFTrajectoriesToFeatureClass(in_files_or_folders, target_workspace,
                                      out_point_or_polyline_name, observation_variables,
                                      out_table_name, instance_variables, out_schema,
                                      include_subdirectories, in_cf_metadata,
                                      analysis_extent)