Grundlagen der netCDF-Datenspeicherung

Speicherung von netCDF-Daten

Die Daten in einer netCDF-Datei werden als Arrays gespeichert. Beispiel: Die Temperaturschwankungen an einem Ort im Zeitverlauf werden als eindimensionales Array gespeichert. Die Temperatur in einem Gebiet innerhalb eines bestimmten Zeitraums wird als zweidimensionales Array gespeichert.

Dreidimensionale Daten (3D), z. B. Temperaturschwankungen in einem Gebiet in einem bestimmten Zeitraum, oder vierdimensionale Daten (4D), z. B. die Temperaturschwankungen in einem bestimmten Gebiet in Abhängigkeit von der Höhe und der Zeit, werden als Reihe von zweidimensionalen Arrays gespeichert.

3D-Daten: Daten über ein Gebiet im Lauf der Zeit
3D-Daten: Daten über ein Gebiet im Lauf der Zeit
4D-Daten: Daten über ein Gebiet in Abhängigkeit von der Zeit und der Höhe
4D-Daten: Daten über ein Gebiet in Abhängigkeit von der Zeit und der Höhe

Grundlegende Komponenten einer netCDF-Datei

Eine netCDF-Datei enthält Dimensionen, Variablen und Attribute. Mithilfe dieser Komponenten werden die Bedeutung der Daten und die Beziehungen zwischen den Datenfeldern in einem array-orientierten Dataset aufgezeichnet. In der folgenden Abbildung wird die Struktur einer netCDF-Datei in der CDL-Notation (Network Common Data Form Language) veranschaulicht. CDL ist das ASCII-Format, mit dem der Inhalt einer netCDF-Datei beschrieben wird.

CDL-Datei
Beispiel für eine CDL-Datei

Die Namen von Dimensionen, Variablen und Attributen bestehen aus willkürlichen Folgen alphanumerischer Zeichen (einschließlich Unterstrich und Bindestrich), und sie beginnen mit einem Buchstaben oder einem Unterstrich. Mit einem Unterstrich beginnende Namen sind jedoch für die Verwendung durch das System reserviert. Bei netCDF-Namen wird die Groß- und Kleinschreibung berücksichtigt.

Bemaßungen

Eine netCDF-Dimension weist sowohl einen Namen als auch eine Größe auf. Eine Dimensionsgröße ist eine willkürliche positive ganze Zahl. Nur eine Dimension in einer netCDF-Datei kann die Größe UNLIMITED aufweisen. Eine solche Dimension wird als unbegrenzte Dimension oder Datensatzdimension bezeichnet. Eine Variable mit einer unbegrenzten Dimension kann innerhalb der Dimension eine beliebige Größe annehmen.

Mit einer Dimension kann eine reale physische Messgröße dargestellt werden, beispielsweise Zeit, Breite, Länge oder Höhe. Mit einer Dimension können auch andere Größen indiziert werden, z. B. Stations- oder Modellausführungsnummer. Beim Angeben eines Variablen-Shapes kann dieselbe Dimension mehrmals verwendet werden.

Variablen

Eine Variable stellt ein Array von Werten desselben Typs dar. In einer netCDF-Datei sind die meisten Daten in Variablen gespeichert. Eine Variable weist einen Namen, einen Datentyp und ein Shape auf, das beim Erstellen der Variablen von der Liste der Dimensionen beschrieben wird. Die Anzahl der Dimensionen wird als Rang (oder Dimensionalität) bezeichnet. Eine Skalarvariable weist den Rang 0, ein Vektor den Rang 1 und eine Matrix den Rang 2 auf. Eine Variable kann auch zugeordnete Attribute aufweisen, die nach ihrer Erstellung hinzugefügt, gelöscht und geändert werden können.

Koordinatenvariablen

Eine eindimensionale Variable, die denselben Namen wie eine Dimension aufweist, wird als Koordinatenvariable bezeichnet. Ihr wird eine Dimension mit mindestens einer Datenvariablen zugeordnet. Typischerweise definiert sie eine physische Koordinate, die der betreffenden Dimension entspricht.

Koordinatenvariablen haben für die netCDF-Bibliothek keine spezielle Bedeutung. Die Software, die diese Bibliothek verwendet, muss Koordinatenvariablen jedoch auf besondere Weise verarbeiten.

Attribute

In NetCDF-Attributen sind zusätzliche Daten oder Metadaten gespeichert. Die meisten Attribute stellen Informationen zu einer bestimmten Variablen bereit. Diese Attribute werden mit dem Namen der Variablen und dem Namen des Attributs selbst angegeben.

Attribute, die Informationen über die gesamte netCDF-Datei liefern, werden als globale Attribute bezeichnet. Diese Attribute werden mit dem Attributnamen sowie einem leeren Variablennamen (in CDL) oder einer speziellen NULL-Variablen-ID (in C oder Fortran) angegeben.

Konventionen

Die Konventionen definieren Metadaten, die eine definitive Beschreibung der Daten in den einzelnen Variablen sowie deren räumliche und zeitbezogene Eigenschaften bereitstellen. Anhand einer Konvention können Benutzer von Daten aus verschiedenen Quellen bestimmen, welche Mengen miteinander verglichen werden können. Der Name der Konvention wird in einer netCDF-Datei als globales Attribut dargestellt.

Der netCDF-Treiber geht beim Identifizieren des Raumbezugs in der von CF-1 empfohlenen Prioritätenreihenfolge vor. Die netCDF-Attribute, die die Prioritätenreihenfolge für den Raumbezug definieren, sind standardmäßig grid_mapping > srid > crs_wkt > EPSG_code > proj4_parms > spatial_ref > esri_pe_string.

GDAL_NETCDF_CRS_ORDER=GIS kann der GDALRC-Datei im Ordner ArcGIS\Pro\bin hinzugefügt werden, um das Standardverhalten für OGC/WKT-Definitionen höherer Priorität zu ändern: spatial_ref > EPSG_code > crs_wkt > srid > proj4_parms > grid_mapping > esri_pe_string.

Weitere Informationen zu NetCDF-Konventionen

Derzeit werden in ArcGIS die Konventionen Climate and Forecast (CF) und Cooperative Ocean/Atmosphere Research Data Service (COARDS) unterstützt.

Hinweis:

NetCDF-Dateien, die gemäß anderen Konventionen erstellt wurden, können möglicherweise ebenfalls direkt mit ArcGIS verwendet werden. Weitere Informationen finden Sie in den Spezifikationen für diese Konventionen.

Verwandte Themen