Aktionen

NetCDF Grid Mapping Variable: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(→‎Grid Mapping Variable: Text modifiziert. ETRS89 und rotierte geografische Koordinaten ergänzt)
imported>Lang Guenther
(→‎Verweis auf Grid Mapping Variable: Text anders strukturiert und ergänzt.)
Zeile 46: Zeile 46:
::: crs:grid_north_pole_latitude = ''value'' ;
::: crs:grid_north_pole_latitude = ''value'' ;


=Verweis auf Grid Mapping Variable=
=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:
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) ;
:: 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: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:long_name = "water depth at locations, vertically integrated" ;     
::: Mesh0_node_water_depth_2d:units = "m" ;
::: Mesh0_node_water_depth_2d:units = "m" ;
Zeile 59: Zeile 61:
::: Mesh0_node_water_depth_2d:<font color=blue>grid_mapping</font> = "crs" ;
::: 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.  
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=
=Sonstiges=

Version vom 14. April 2016, 09:27 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 "longitude" und "latitude" vorhanden sind, aber 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