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

Zusammenfassung

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

Funktionsweise der DSG-Werkzeuge (Discrete Sampling Geometry)

Verwendung

  • Nach den CF Metadata Conventions (Climate and Forecast) ist ein Profil ein sortierter Satz von Datenpunkten entlang einer vertikalen Linie bei einer festen horizontalen Position und einem festen Zeitpunkt.

  • 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 Instanz und Beobachtung für den Parameter Ausgabeschema (out_schema = "INSTANCE_AND_OBSERVATION" in Python) angegeben ist, werden eine 2D-Point-Feature-Class, die alle Positionsinformationen zusammen mit den ausgewählten Instanzfeldern enthält, und eine zugehörige Tabelle mit den ausgewählten Beobachtungsvariablen erstellt. Außerdem kann ein optionaler Layer erstellt werden, der die Tabelle basierend auf dem Feld InstanceID mit der Feature-Class verbindet. Wenn die Option Route und Objekt ((out_schema = "ROUTE_AND_EVENT" in Python) angegeben ist, werden zwei Ausgaben erstellt. Eine Ausgabe ist eine vertikale Polyline-Feature-Class mit einem 3D-Stützpunkt und einem Messwert für jede vertikale Ebene. Die andere Ausgabe ist eine Tabelle mit Beobachtungspunkten und den Feldern from_z und to_z. Mithilfe dieser Tabelle können Sie Objektklassen mit linearer dynamischer Segmentierung zusammen mit den Profilen erstellen. Es wird kein Join-Layer für dieses Schema erstellt. Wenn die Option 3D-Punkt (out_schema = "POINT_3D" in Python), angegeben ist, wird nur ein 3D-Punkt-Feature erstellt, das alle Datensätze enthält (alle Positionen mit allen vertikalen Ebenen).

  • 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-Join-Tabelle oder 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.

  • Instanz und BeobachtungEs werden eine Feature-Class mit 2D-Punkten, die die Position der einzelnen Instanzen enthält, und eine zugehörige Tabelle mit allen Beobachtungsvariablen erstellt. Dies ist die Standardeinstellung.
  • Route und ObjektEs werden eine vertikale Polyline-Feature-Class mit 3D-Stützpunkten und eine lineare Objekttabelle für die Beobachtungsvariablen erstellt.
  • 3D-PunktEs wird eine 3D-Feature-Class mit allen Instanzen auf allen vertikalen Ebenen erstellt.
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
Ausgabe-Join-Layer
(optional)

Der Ausgabe-Layer, der durch Verbinden der Ausgabetabelle mit der Ausgabe-Feature-Class erstellt wird. Dies ist eine optionale Ausgabe. Sie ist nur verfügbar, wenn die Option Instanz und Beobachtung für den Parameter Ausgabeschema angegeben ist.

Feature Layer

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabepunkt oder Ausgabe-Polylinie

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

Feature Class
Ausgabe-Join-Tabelle oder Ausgabe-Objekttabelle

Dies ist die Ausgabetabelle.

Table

arcpy.management.NetCDFProfilesToFeatureClass(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}, {out_join_layer})
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.

  • INSTANCE_AND_OBSERVATIONEs werden eine Feature-Class mit 2D-Punkten, die die Position der einzelnen Instanzen enthält, und eine zugehörige Tabelle mit allen Beobachtungsvariablen erstellt. Dies ist die Standardeinstellung.
  • ROUTE_AND_EVENTEs werden eine vertikale Polyline-Feature-Class mit 3D-Stützpunkten und eine lineare Objekttabelle für die Beobachtungsvariablen erstellt.
  • POINT_3DEs wird eine 3D-Feature-Class mit allen Instanzen auf allen vertikalen Ebenen erstellt.
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
out_join_layer
(optional)

Der Ausgabe-Layer, der durch Verbinden der Ausgabetabelle mit der Ausgabe-Feature-Class erstellt wird. Dies ist eine optionale Ausgabe. Sie ist nur verfügbar, wenn die Option INSTANCE_AND_OBSERVATION für den Parameter out_schema angegeben ist.

Feature Layer

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

NetCDFProfilesToFeatureClass – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden eine Feature-Class und eine Tabelle aus einer NetCDF-DSG-Profildatei aus dem World Ocean Dataset erstellt.

import arcpy
arcpy.md.NetCDFProfilesToFeatureClass(r"C:\WOD\wod_ctd_2019.nc", r"C:\ArcGIS\Projects\output.gdb", 
									  "WOD_2019", "Salinity", None, "WOD_2019_table", 
									  "INSTANCE_AND_OBSERVATION", "INCLUDE_SUBDIRECTORIES",
									  None, "DEFAULT", "WOD_2019_layer")
NetCDFProfilesToFeatureClass – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird eine 3D-Feature-Class aus einer NetCDF-DSG-Profildatei von Argo erstellt.

# Name: NetCDFProfilesToFeatureClass_Ex_02.py
# Description: Creates a 3D point feature class from a set of float data.

# Import system modules
Import arcpy  

# Set the local variables 
in_files_or_folders = r"C:\Argo" 
target_workspace = r"C:\outputs\argo.gdb" 
out_point_or_polyline_name = "argo_3d" 
observation_variables = "temperature;pressure" 
out_table_name = "" 
instance_variables = "" 
out_schema = "POINT_3D" 
include_subdirectories = "DO_NOT_INCLUDE_SUBDIRECTORIES" 
in_cf_metadata = "" 
analysis_extent = "" 
out_join_layer = "" 

# Execute NetCDFProfilesToFeatureClass
arcpy.md.NetCDFProfilesToFeatureClass(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, out_join_layer)