Aktionen

NetCDF Grid Mapping Variable: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(Die Seite wurde neu angelegt: „en:NetCDF grid mapping variable =Kurze Beschreibung= Falls die horizontalen Koordinatenvariablen einer Variablen ''nicht'' "longitude" und "latitude" sind, s…“)
 
imported>Lang Guenther
K (→‎Kurze Beschreibung: Text modifiziert)
 
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
=Kurze Beschreibung=
=Kurze Beschreibung=


Falls die horizontalen Koordinatenvariablen einer Variablen ''nicht'' "longitude" und "latitude" sind, so muss der Hinweis auf die wahre geografische Länge und Breite über das Attribut ''coordinates'' angegeben werden. Zusätzlich kann auf die benutzte Koordinatentransformation mit dem Attribut ''grid_mapping'' hingewiesen werden. Da letzteres ein Attribut von (Daten-) Variablen ist, können verschiedene Variablen unterschiedliche Koordinatentransformationen verwenden. Das Attribut ''grid_mapping'' verweist hierbei auf eine skalare Variable, deren Attribute die Koordinatentransformation beschreiben.
Falls die horizontalen Koordinatenvariablen einer Variablen ''nicht'' "longitude" und "latitude" sind, so muss der Hinweis auf die wahre geografische Länge und Breite über das Attribut ''coordinates'' erfolgen. Zusätzlich ist es wünschenswert auf die benutzte Koordinatentransformation mit dem Attribut ''grid_mapping'' hinzuweisen. Da letzteres ein Attribut von (Daten-) Variablen ist, können verschiedene Variablen unterschiedliche Koordinatentransformationen verwenden. Das Attribut ''grid_mapping'' verweist hierbei auf eine skalare Variable, deren Attribute die Koordinatentransformation beschreiben.
 
Falls beispielsweise die Komponente einer vektoriellen Größe ''nicht'' in Richtung der geografischen Koordinaten gegeben ist, so muss auf die
benutzte Koordinatentransformation ebenfalls mit dem Attribut ''grid_mapping'' hingewiesen werden.
 
=Grid Mapping Variable=
 
Eine ausführliche Beschreibung aller Möglichkeiten ist in dem Anhang F der [http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.4/cf-conventions.pdf CF Metadaten Konvention] enthalten. Nacholgend werden drei für die BAW wichtige Beispiele vorgestellt.
 
==Transverse Mercator Projektion==
 
Dieser Transformationstyp kann für [https://de.wikipedia.org/wiki/UTM-Koordinatensystem UTM-Koordinaten] und [https://de.wikipedia.org/wiki/Gau%C3%9F-Kr%C3%BCger-Koordinatensystem Gauß-Krüger-Koordinaten] benutzt werden.
 
:: integer crs ;  \\ no value for this container variable must be specified
::: crs:grid_mapping_name = "'''transverse_mercator'''" ;
::: crs:scale_factor_at_central_merdian = ''value'' ;
::: crs:longitude_of_central_meridian = ''value'' ;
::: crs:latitude_of_projection_origin = ''value'' ;
::: crs:false_easting = ''value'' ;
::: crs:false_northing = ''value'' ;
::: crs:longitude_of_prime_meridian = ''value'' ; // optional but recommended
::: crs:semi_major_axis = ''value'' ; // optional but recommended
::: crs:inverse_flattening = ''value'' ; // optional but recommended
::: crs:comment = "X  , Y  : ''beschreibender Text zu akt. Transformation''\\nLON, LAT : Ellipsoid - European Terrestrial Reference System 1989" ; // additional BAW-DH
::: crs:epsg_code = "EPSG:''epsg-code''" ; // see [http://www.epsg-registry.org/ EPSG Geodetic Parameter Registry]
 
Gängige EPSG-Codes sind beispielsweise 31466, 31467, 31468, 31469 (alle Gauß-Krüger) oder 25831, 25832 (alle UTM).
 
==Geografische Koordinaten (ETRS 1989)==
 
:: integer crs ;  \\ no value for this container variable must be specified
::: crs:grid_mapping_name = "'''latitude_longitude'''" ;
::: crs:semi_major_axis = 6378137.00 ; // optional but recommended
::: crs:inverse_flattening = 298.257222101 ; // optional but recommended
::: crs:comment = "X  , Y  : ''beschreibender Text zu akt. Transformation''; // optional
::: crs:epsg_code = "EPSG:4258" ; // see [http://www.epsg-registry.org/ EPSG Geodetic Parameter Registry]
 
==Rotierte geografische Koordinaten==
 
:: integer crs ;  \\ no value for this container variable must be specified
::: crs:grid_mapping_name = "'''rotated_latitude_longitude'''" ;
::: crs:grid_north_pole_longitude = ''value'' ;
::: crs:grid_north_pole_latitude = ''value'' ;
 
=Beispiele=
 
==Verweis auf Grid Mapping Variable==
 
Eine (Daten-) Variable deren (horizontale) Koordinaten nicht "longitude" und "latitude" sind, muss mit dem Attribut ''coordinates'' auf die eigentlichen geografischen Koordinaten verweisen. Zusätzlich kann das Attribut ''grid_mapping'' zur Kennzeichnung der benutzten Koordinatentransformation angegeben werden. Beispiel:
 
:: double Mesh0_node_water_depth_2d(time,nMesh0_node) ;
::: Mesh0_node_water_depth_2d:standard_name = "sea_floor_depth_below_sea_surface" ; 
::: Mesh0_node_water_depth_2d:long_name = "water depth at locations, vertically integrated" ;   
::: Mesh0_node_water_depth_2d:units = "m" ;
::: Mesh0_node_water_depth_2d:<font color=blue>coordinates</font> = "Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_water_depth_2d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_water_depth_2d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_water_depth_2d:<font color=blue>grid_mapping</font> = "crs" ;
 
Die Attribute zeigen an, dass geografische Länge und Breite in den Variablen "Mesh0_node_lon" und "Mesh0_node_lat", und die Informationen zur benutzten Koordinatentransformation in der Variablen "crs" abgelegt sind.
 
==Wind in rotierten geografischen Koordinaten==
 
Die Komponenten des Windes liegen als lokaler Wind ("x_wind", "y_wind") in geografischen Koordinaten vor. Die in dem Attribut "grid_mapping" bezeichnete Variable "crs" verweist auf die Koordinatentransformation.
 
:: float ugrd10m(time, latitude, longitude) ;
::: ugrd10m:name_id = 557s ;
::: ugrd10m:grid_mapping = "<font color=blue>crs</font>" ;
::: ugrd10m:standard_name = "<font color=red>x_wind</font>" ;
::: ugrd10m:units = "m/s" ;
::: ugrd10m:_FillValue = 9.999e+20 ;
::: ugrd10m:long_name = "10 m above ground u-component of wind" ;
 
:: float vgrd10m(time, latitude, longitude) ;
::: vgrd10m:name_id = 558s ;
::: vgrd10m:grid_mapping = "<font color=blue>crs</font>" ;
::: vgrd10m:standard_name = "<font color=red>y_wind</font>" ;
::: vgrd10m:units = "m/s" ;
::: vgrd10m:_FillValue = 9.999e+20 ;
::: vgrd10m:long_name = "10 m above ground v-component of wind" ;
:: int <font color=blue>crs</font> ;
::: crs:grid_mapping_name = "rotated_latitude_longitude" ;
::: crs:grid_north_pole_longitude = -170. ;
::: crs:grid_north_pole_latitude = 40. ;
 
Eine generische Anwendung erkennt, dass die Komponenten des Windes in lokalen Koordinaten definiert sind ("x_wind", "y_wind"). Werden die Komponenten als "eastward_wind" und "northward_wind" benötigt, so kann mit Hilfe der in der Variablen "crs" abgelegten Parameter eine Umrechnung aus dem rotierten geografischen System durchgeführt werden. Für eine korrekte Transformation müssen hier sowohl die Standardnamen der Variablen als auch die Grid-Mapping-Variable ausgewertet werden.
 
=Sonstiges=
==Koordinatensystem in ArcGIS==
Siehe hierzu [[ArcGIS: Daten aus CF-NetCDF-Datei importieren]].
 


----
----

Aktuelle Version vom 14. April 2016, 09:40 Uhr

Kurze Beschreibung

Falls die horizontalen Koordinatenvariablen einer Variablen nicht "longitude" und "latitude" sind, so muss der Hinweis auf die wahre geografische Länge und Breite über das Attribut coordinates erfolgen. Zusätzlich ist es wünschenswert auf die benutzte Koordinatentransformation mit dem Attribut grid_mapping hinzuweisen. Da letzteres ein Attribut von (Daten-) Variablen ist, können verschiedene Variablen unterschiedliche Koordinatentransformationen verwenden. Das Attribut grid_mapping verweist hierbei auf eine skalare Variable, deren Attribute die Koordinatentransformation beschreiben.

Falls beispielsweise die Komponente einer vektoriellen Größe nicht in Richtung der geografischen Koordinaten gegeben ist, so muss auf die benutzte Koordinatentransformation ebenfalls mit dem Attribut grid_mapping hingewiesen werden.

Grid Mapping Variable

Eine ausführliche Beschreibung aller Möglichkeiten ist in dem Anhang F der CF Metadaten Konvention enthalten. Nacholgend werden drei für die BAW wichtige Beispiele vorgestellt.

Transverse Mercator Projektion

Dieser Transformationstyp kann für UTM-Koordinaten und Gauß-Krüger-Koordinaten benutzt werden.

integer crs ; \\ no value for this container variable must be specified
crs:grid_mapping_name = "transverse_mercator" ;
crs:scale_factor_at_central_merdian = value ;
crs:longitude_of_central_meridian = value ;
crs:latitude_of_projection_origin = value ;
crs:false_easting = value ;
crs:false_northing = value ;
crs:longitude_of_prime_meridian = value ; // optional but recommended
crs:semi_major_axis = value ; // optional but recommended
crs:inverse_flattening = value ; // optional but recommended
crs:comment = "X , Y  : beschreibender Text zu akt. Transformation\\nLON, LAT : Ellipsoid - European Terrestrial Reference System 1989" ; // additional BAW-DH
crs:epsg_code = "EPSG:epsg-code" ; // see EPSG Geodetic Parameter Registry

Gängige EPSG-Codes sind beispielsweise 31466, 31467, 31468, 31469 (alle Gauß-Krüger) oder 25831, 25832 (alle UTM).

Geografische Koordinaten (ETRS 1989)

integer crs ; \\ no value for this container variable must be specified
crs:grid_mapping_name = "latitude_longitude" ;
crs:semi_major_axis = 6378137.00 ; // optional but recommended
crs:inverse_flattening = 298.257222101 ; // optional but recommended
crs:comment = "X , Y  : beschreibender Text zu akt. Transformation; // optional
crs:epsg_code = "EPSG:4258" ; // see EPSG Geodetic Parameter Registry

Rotierte geografische Koordinaten

integer crs ; \\ no value for this container variable must be specified
crs:grid_mapping_name = "rotated_latitude_longitude" ;
crs:grid_north_pole_longitude = value ;
crs:grid_north_pole_latitude = value ;

Beispiele

Verweis auf Grid Mapping Variable

Eine (Daten-) Variable deren (horizontale) Koordinaten nicht "longitude" und "latitude" sind, muss mit dem Attribut coordinates auf die eigentlichen geografischen Koordinaten verweisen. Zusätzlich kann das Attribut grid_mapping zur Kennzeichnung der benutzten Koordinatentransformation angegeben werden. Beispiel:

double Mesh0_node_water_depth_2d(time,nMesh0_node) ;
Mesh0_node_water_depth_2d:standard_name = "sea_floor_depth_below_sea_surface" ;
Mesh0_node_water_depth_2d:long_name = "water depth at locations, vertically integrated" ;
Mesh0_node_water_depth_2d:units = "m" ;
Mesh0_node_water_depth_2d:coordinates = "Mesh0_node_lon Mesh0_node_lat" ;
Mesh0_node_water_depth_2d:_FillValue = fillvalue ;
Mesh0_node_water_depth_2d:valid_range = valid minimum, valid maximum ;
Mesh0_node_water_depth_2d:grid_mapping = "crs" ;

Die Attribute zeigen an, dass geografische Länge und Breite in den Variablen "Mesh0_node_lon" und "Mesh0_node_lat", und die Informationen zur benutzten Koordinatentransformation in der Variablen "crs" abgelegt sind.

Wind in rotierten geografischen Koordinaten

Die Komponenten des Windes liegen als lokaler Wind ("x_wind", "y_wind") in geografischen Koordinaten vor. Die in dem Attribut "grid_mapping" bezeichnete Variable "crs" verweist auf die Koordinatentransformation.

float ugrd10m(time, latitude, longitude) ;
ugrd10m:name_id = 557s ;
ugrd10m:grid_mapping = "crs" ;
ugrd10m:standard_name = "x_wind" ;
ugrd10m:units = "m/s" ;
ugrd10m:_FillValue = 9.999e+20 ;
ugrd10m:long_name = "10 m above ground u-component of wind" ;
float vgrd10m(time, latitude, longitude) ;
vgrd10m:name_id = 558s ;
vgrd10m:grid_mapping = "crs" ;
vgrd10m:standard_name = "y_wind" ;
vgrd10m:units = "m/s" ;
vgrd10m:_FillValue = 9.999e+20 ;
vgrd10m:long_name = "10 m above ground v-component of wind" ;
int crs ;
crs:grid_mapping_name = "rotated_latitude_longitude" ;
crs:grid_north_pole_longitude = -170. ;
crs:grid_north_pole_latitude = 40. ;

Eine generische Anwendung erkennt, dass die Komponenten des Windes in lokalen Koordinaten definiert sind ("x_wind", "y_wind"). Werden die Komponenten als "eastward_wind" und "northward_wind" benötigt, so kann mit Hilfe der in der Variablen "crs" abgelegten Parameter eine Umrechnung aus dem rotierten geografischen System durchgeführt werden. Für eine korrekte Transformation müssen hier sowohl die Standardnamen der Variablen als auch die Grid-Mapping-Variable ausgewertet werden.

Sonstiges

Koordinatensystem in ArcGIS

Siehe hierzu ArcGIS: Daten aus CF-NetCDF-Datei importieren.



zurück zu NetCDF


Strukturübersicht