Custom Query (125 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (10 - 12 of 125)

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Ticket Resolution Summary Owner Reporter
#18 fixed Additions and Revisions to CF Grid Mapping Attributes (v2.0) cf-conventions@… pbentley
Description

1. Title

Additions and revisions to CF grid mapping attributes to support the specification of coordinate reference system properties.

2. Moderator

Jonathan Gregory

3. Requirement

This submission is a follow-up proposal to the informative discussions that took place as part of CF Trac ticket #9. Consequently the requirements remain as stated in that ticket, and can be paraphrased as follows:

There is a requirement for additional CF grid mapping attributes to be defined which can be used to provide a fuller description of the characteristics of the coordinate reference system (CRS), or systems, that form the basis of spatial coordinates within a netCDF file.

Based on the discussions arising from Trac ticket #9 it was concluded that further research needs to be undertaken in order to address the complexities of vertical datums and vertical coordinate systems. Accordingly the corresponding attributes have been dropped from this revised proposal. It is hoped that a domain expert within the CF community will be able to submit a separate proposal covering these topics.

4. Initial Statement of Technical Proposal

The following sections detail the proposed changes to the CF-1.0 specification. They hopefully represent a synthesis of the discussions and conclusions arising from Trac ticket #9.

4.1. Additions and Revisions to Appendix F, Table F.1

This section describes the new and revised grid mapping attribute definitions that are required to be added to Table F.1 in Appendix F of the CF specification. Attributes are listed in alphabetical order. Attribute names appearing in normal typeface are newly defined in this proposal. Attribute names appearing in italic typeface refer to existing CF attributes for which a revised definition is proposed.

Table F.1 Grid Mapping Attributes

Attribute Definition
crs_id Used to specify a unique identifier for the CRS. The identifier string should be a value taken from a controlled vocabulary maintained by a recognised authority. For the crs_id attribute the recommended vocabulary is the list of CRS URN definitions [OGC-URN] maintained and published by the Open Geospatial Consortium (OGC). These URNs refer to CRS entities realised in the OGP/EPSG database of geodetic parameters. A list of OGC URNs corresponding to current grid mapping names appears at Table F.2. Example: “urn:ogc:def:crs:EPSG:6.3:4326”, which identifies the familiar 2D geographic CRS named “WGS 84” in the EPSG v6.3 database.
crs_name Used to specify the well-known name of the CRS within which spatial coordinates are defined. The value of the crs_name attribute may also be taken from a controlled vocabulary such as the OGP/EPSG geodetic database referred to above. Otherwise a suitably informative, locally-defined name should be specified. Example: “OSGB 1936 / British National Grid”.
crs_wkt Used to specify the well-known text string encoding of the CRS using the OGC WKT syntax, as defined in OGC document 06-103r3 [OGC-SFA1]. It is envisaged that this attribute typically will be written and read automatically by software agents rather than by human operators. Comparable non-CF attributes are already being used for this purpose by a number of third-party software packages (both commercial and open source). Inclusion of the crs_wkt attribute here is intended therefore to standardise this usage within the CF community.
earth_radius Used to specify the radius, in metres, of the spherical figure used to approximate the shape of the Earth. This attribute should be specified for those projected CRS's in which the X-Y cartesian coordinates have been derived using a spherical Earth approximation. If the cartesian coordinates were derived using the ellipsoid associated with the geodetic datum then this attribute should not be defined. Example: "6371007” , which is the radius of the GRS 1980 Authalic Sphere.
ellipsoid_name Used to specify the well-known name of the ellipsoidal figure associated with the geodetic datum and used to approximate the shape of the Earth. For coordinates based upon a spherical Earth approximation the value "Sphere" should be used. Example: “GRS 1980”.
geodetic_datum_name Used to specify the well-known name of the geodetic datum against which geographic coordinates are referenced. For coordinates based upon a spherical Earth approximation the value "Sphere" is permissible. Example: “World Geodetic System 1984”.
inverse_flattening Used to specify the inverse flattening (1/f) of the ellipsoidal figure associated with the geodetic datum and used to approximate the shape of the Earth. The flattening (f) of the ellipsoid is related to the semi-major and semi-minor axes by the formula f = (a-b)/a. The current attribute is used to specify the denominator of this fraction when the numerator is reduced to unity. In the case of a spherical Earth this attribute should be omitted or set to zero. Example: 298.257222101 for the GRS 1980 ellipsoid. (Note: By convention the dimensions of an ellipsoid are specified using either the semi-major and semi-minor axis lengths, or the semi-major axis length and the inverse flattening. If all three attributes are specified then the supplied values must be consistent with the aforementioned formula.)
longitude_of_prime_meridian Specifies the longitude, with respect to Greenwich, of the prime meridian associated with the geodetic datum. The prime meridian defines the origin from which longitude values are determined. Not to be confused with the projection origin longitude (cf. longitude_of_projection_origin, a.k.a. central meridian) which defines the longitude of the map projection origin. Domain: -180.0 <= longitude_of_prime_meridian < 180.0 decimal degrees. Default = 0.0
perspective_point_height When applicable, records the the height, in metres, of the map projection perspective point above the ellipsoid (or sphere). Used by perspective-type map projections, for example the Vertical Perspective Projection, which may be used to simulate the view from a Meteosat satellite.
projection_name Used to specify the well-known name of the map projection operation employed to convert geographic coordinates to cartesian coordinates. It is recommended that this attribute is used to encode the familiar or vernacular name of the map projection operation in a human-readable manner so as to facilitate, for example, map labelling capabilities. Example: “UTM Zone 31N” (for which the corresponding CF grid mapping name is "transverse_mercator").
semi_major_axis Specifies the length, in metres, of the semi-major axis of the ellipsoidal figure associated with the geodetic datum and used to approximate the shape of the Earth. Commonly denoted using the symbol “a”. In the case of a spherical Earth approximation this attribute defines the radius of the Earth. See also the inverse_flattening attribute.
semi_minor_axis Specifies the length, in metres, of the semi-minor axis of the ellipsoidal figure associated with the geodetic datum and used to approximate the shape of the Earth. Commonly denoted using the symbol “b”. In the case of a spherical Earth approximation this attribute should be omitted (the preferred option) or else set equal to the value of the semi_major_axis attribute. See also the inverse_flattening attribute.
standard_parallel Specifies the line, or lines, of latitude at which the developable map projection surface (plane, cone, or cylinder) touches the reference sphere or ellipsoid used to represent the Earth. Since there is zero scale distortion along a standard parallel it is also referred to as a ‘latitude of true scale’. In the situation where a conical developable surface intersects the reference ellipsoid there are two standard parallels, in which case this attribute can be used as a vector to record both latitude values, with the additional convention that the standard parallel nearest the pole (N or S) is provided first. Domain: -90.0 <= standard_parallel <= 90.0 decimal degrees.

4.2. Insertion of Additional Grid Mapping Examples into Appendix F

The following examples of grid mapping definitions are required to be added to Appendix F.

Example F.9. 2D Latitude-Longitude Coordinate System (Spherical Earth)

This grid mapping defines the canonical 2D geographical coordinate system based upon latitude and longitude coordinates on a spherical Earth. If required, the Earth radius can be specified via the semi_major_axis attribute.

grid_mapping_name = "lat_long_on_sphere"

dimensions:
  lat = 18 ; // dummy values
  lon = 36 ;
variables:
  double lat(lat) ;
    // conventional definition
  double lon(lon) ;
    // conventional definition
  float temp(lat, lon) ;
    temp:long_name = "temperature" ;
    temp:units = "K" ;
    temp:grid_mapping = "crs" ;
  int crs ;
    crs:grid_mapping_name = "lat_long_on_sphere" ;
    crs:crs_id = "urn:ogc:def:cs:EPSG:6.0:6422" ;   // EPSG ID 6422 == "Ellipsoidal 2D CS"
    crs:crs_name = "Spherical 2D Coordinate System" ;
    crs:ellipsoid_name = "Sphere" ;
    crs:semi_major_axis = 6371000.0 ;
    crs:inverse_flattening = 0 ;

Example F.10. 3D Latitude-Longitude-Height Coordinate System (Spherical Earth)

This grid mapping defines the canonical 3D geographical coordinate system based upon latitude and longitude and height coordinates on a spherical Earth. If required, the Earth radius can be specified via the semi_major_axis attribute.

grid_mapping_name = "lat_long_ht_on_sphere"

dimensions:
  lat = 18 ; // dummy values
  lon = 36 ;
  ht = 50 ;
variables:
  double lat(lat) ;
    // conventional definition
  double lon(lon) ;
    // conventional definition
  double ht(ht) ;
    // conventional definition
  float temp(ht, lat, lon) ;
    temp:long_name = "temperature" ;
    temp:units = "K" ;
    temp:grid_mapping = "crs" ;
  int crs ;
    crs:grid_mapping_name = "lat_long_ht_on_sphere" ;
    crs:crs_id = "urn:ogc:def:cs:EPSG:6.0:6423" ;   // EPSG ID 6423 == "Ellipsoidal 3D CS"
    crs:crs_name = "Spherical 3D Coordinate System" ;
    crs:ellipsoid_name = "Sphere" ;
    crs:semi_major_axis = 6371000.0 ;
    crs:inverse_flattening = 0 ;

Example F.11. Latitude-Longitude on the WGS 1984 Datum

This grid mapping defines the commonly-used CRS involving geodetic latitude and longitude coordinates - and potentially also ellipsoidal height - based upon the WGS 1984 geodetic datum.

grid_mapping_name = "lat_long_wgs1984" (2D case) or "lat_long_ht_wgs1984" (3D case)

dimensions:
  lat = 18 ; // dummy values
  lon = 36 ;
variables:
  double lat(lat) ;
    // conventional definition
  double lon(lon) ;
    // conventional definition
  float temp(lat, lon) ;
    temp:long_name = "temperature" ;
    temp:units = "K" ;
    temp:grid_mapping = "crs" ;
  int crs ;
    crs:grid_mapping_name = "lat_long_wgs1984" ;
    crs:crs_id = "urn:ogc:def:crs:EPSG:6.0:4326" ;   // Use EPSG ID 4979 for 3D CRS. ID 4326 refers to 2D CRS.
    crs:crs_name = "WGS 84" ;
    crs:geodetic_datum_name = "World Geodetic System 1984" ;
    crs:longitude_of_prime_meridian = 0.0 ;
    crs:ellipsoid_name = "WGS 84" ;
    crs:semi_major_axis = 6378137.0 ;
    crs:inverse_flattening = 298.257223563 ;

Example F.12. British National Grid (with CRS_WKT attribute)

This example illustrates the use of grid mapping attributes to provide a full description of the 2D projected CRS that forms the basis of the British National Grid reference system. It also demonstrates how the same information could be encoded - possibly in an automated fashion by software applications - in OGC WKT format using the crs_wkt attribute.

grid_mapping_name = "british_national_grid"

dimensions:
  lat = 648 ; // dummy values
  lon = 648 ;
  y = 18 ;
  x = 36 ;
variables:
  double x(x) ;
    x:standard_name = "projection_x_coordinate" ;
    x:long_name = "x coordinate of projection" ;
    x:units = "m" ;
  double y(y) ;
    y:standard_name = "projection_y_coordinate" ;
    y:long_name = "y coordinate of projection" ;
    y:units = "m" ;
  double lat(y, x) ;
    // conventional definition
  double lon(y, x) ;
    // conventional definition
  float temp(y, x) ;
    temp:long_name = "temperature" ;
    temp:units = "K" ;
    temp:coordinates = "lat lon" ;
    temp:grid_mapping = "crs" ;
  int crs ;
    crs:grid_mapping_name = "british_national_grid" ;
    crs:crs_id = "urn:ogc:def:crs:EPSG:6.0:27700" ;
    crs:crs_name = "OSGB 1936 / British National Grid" ;
    crs:geodetic_datum_name = "OSGB 1936" ;
    crs:longitude_of_prime_meridian = 0.0 ;
    crs:ellipsoid_name = "Airy 1830" ;
    crs:semi_major_axis = 6377563.396 ;
    crs:semi_minor_axis = 6356256.910 ;
    crs:inverse_flattening = 299.3249646 ;
    crs:projection_name = "British National Grid" ;
    crs:latitude_of_projection_origin = 49.0 ;
    crs:longitude_of_projection_origin = -2.0 ;
    crs:false_easting = 400000.0 ;
    crs:false_northing = -100000.0 ;
    crs:scale_factor_at_projection_origin = 0.9996012717 ;
    crs:crs_wkt = "[PROJCS ['OSGB 1936 / British National Grid',
      GEOGCS ['OSGB 1936',
        DATUM ['OSGB 1936', SPHEROID ['Airy 1830', 6377563.396, 299.3249646]],
        PRIMEM ['Greenwich', 0], UNIT ['Degree', 0.0174532925199433]],
      PROJECTION ['Transverse Mercator'],
      PARAMETER ['False Easting', 400000], PARAMETER ['False Northing', -100000],
      PARAMETER ['Central Meridian', -2.0], PARAMETER ['Scale Factor', 0.9996012717],
      PARAMETER ['Latitude of Origin', 49.0],
      UNIT ['Meter', 1.0]]" ;

In this example the optional crs_wkt attribute is shown spread across multiple lines. In a netCDF file such an attribute value would, of course, appear as a single text string. Also, occurrences of the single-quote character would be replaced with double-quote characters.

Example F.13. Cartesian (X-Y) Coordinates based on the Vertical Perspective Projection

The following example demonstrates the use of grid mapping attributes to describe X-Y cartesian coordinates based on the vertical perspective projection. Such a CRS might be used, for example, to describe image data that simulates the view from a Meteosat satellite.

grid_mapping_name = "vertical_perspective"

variables:
  double x(x) ;
    // conventional definition
  double y(y) ;
    // conventional definition
  double lat(y, x) ;
    // conventional definition
  double lon(y, x) ;
    // conventional definition
  float temp(lat, lon) ;
    temp:long_name = "temperature" ;
    temp:units = "K" ;
    temp:grid_mapping = "crs" ;
  int crs ;
    crs:grid_mapping_name = "vertical_perspective" ;
    crs:crs_name = "X-Y Coordinates based on Vertical Perspective Projection" ;   // Fabricated for this example.
    crs:geodetic_datum_name = "World Geodetic System 1984" ;
    crs:longitude_of_prime_meridian = 0.0 ;
    crs:ellipsoid_name = "WGS 84" ;
    crs:semi_major_axis = 6378137.0 ;
    crs:inverse_flattening = 298.257223563 ;
    crs:projection_name = "Vertical Perspective" ;
    crs:latitude_of_projection_origin = 0.0 ;   // Above the equator...
    crs:longitude_of_projection_origin = 75.0 ; // ... and over the Indian Ocean.
    crs:perspective_point_height = 36000000 ;   // 36,000 km
    crs:earth_radius = 6371007 ;   // Indicates that the projection used a spherical Earth approximation.

The crs_id attribute is omitted from the above definition as, currently, a unique identifier for this map projection has yet to be assigned in the EPSG/OGP geodetic database.


4.3. Addition of New Sub-Section F.1 to Appendix F

The following sub-section is required to be added to Appendix F. This sub-section is also required to be repeated (or paraphrased) as a new section entitled F. Grid Mapping Attributes appended to the CF conformance document.

F.1. Recommended minimum set of grid mapping attributes

In order to achieve a basic level of consistency of specification it is proposed that, wherever practicable, a minimum set of attribute values is employed to specify the CRS referenced by a netCDF variable. The recommended minimum set of grid mapping attributes for describing 2D geographic and 2D projected coordinate reference systems is given below.

F.1.1. Recommended minimum set of attributes required to describe a 2D geographic CRS:

grid_mapping_name
crs_id*
crs_name
geodetic_datum_name
ellipsoid_name
semi_major_axis
semi_minor_axis and/or inverse_flattening
longitude_of_prime_meridian

(* if known)

In the case of a 3D geographic CRS the third dimension (or axis) is height above or below the ellipsoid, in which case a further parameter – units of ellipsoidal height – is normally required. However, this parameter typically will be defined via the units attribute for the relevant coordinate variable (e.g. Z). Hence no separate attribute is defined here.

F.1.2. Recommended minimum set of attributes required to describe a 2D projected CRS:

grid_mapping_name
crs_id*
crs_name
geodetic_datum_name
ellipsoid_name
semi_major_axis
semi_minor_axis and/or inverse_flattening
longitude_of_prime_meridian
projection_name
latitude_of_projection_origin
longitude_of_projection_origin
earth_radius#

(* if known)
(# if the map projection is based on a spherical figure of Earth)

Additional projection-specific attributes should be defined as required, e.g. false_easting, false_northing, scale_factor_at_projection_origin, and so on.


4.4. Addition of New Sub-Section F.2 to Appendix F

The following sub-section is required to be added to Appendix F.

F.2 OGC CRS Identifiers corresponding to CF grid mapping definitions

Table F.2 lists the Open Geospatial Consortium (OGC) URNs for the coordinate reference systems, coordinate systems, and map projections (OGC 'coordinate operation methods') that correspond to the example grid mapping names illustrated in this version of the CF specification. Grid mapping names that are not currently associated with an equivalent OGC URN (e.g. "rotated_latitude_longitude") do not appear in Table F.2. It is noted that the majority of grid mapping names defined in CF-1.0 refer to OGC coordinate operation methods (i.e. map projections) rather than coordinate reference systems.

The values defined in the OGC URN Identifier column may be used, as and when appropriate, to define the crs_id grid mapping attribute. The OGC URN syntax is described in reference [OGC-URN].

Table F.2. OGC URNs corresponding to CF grid mapping names

CF Grid Mapping Name OGC URN Identifier OGC Object Type*
albers_conical_equal_area urn:ogc:def:method:EPSG:6.0:9822 Coordinate Operation Method
azimuthal_equidistant urn:ogc:def:method:EPSG:6.0:9822 Coordinate Operation Method
azimuthal_equalarea urn:ogc:def:method:EPSG:6.0:9820 Coordinate Operation Method
british_national_grid urn:ogc:def:crs:EPSG:6.0:27700 2D Coordinate Reference System
lambert_conformal_conic (1SP) urn:ogc:def:method:EPSG:6.0:9801 Coordinate Operation Method
lambert_conformal_conic (2SP) urn:ogc:def:method:EPSG:6.0:9802 Coordinate Operation Method
lat_long_on_sphere urn:ogc:def:cs:EPSG:6.0:6422 2D Coordinate System
lat_long_ht_on_sphere urn:ogc:def:cs:EPSG:6.0:6423 3D Coordinate System
lat_long_wgs1984 urn:ogc:def:crs:EPSG:6.0:4326 2D Coordinate Reference System
lat_long_ht_wgs1984 urn:ogc:def:crs:EPSG:6.0:4979 3D Coordinate Reference System
polar_stereographic urn:ogc:def:method:EPSG:6.0:9810 Coordinate Operation Method
stereographic urn:ogc:def:method:EPSG:6.0:9809 Coordinate Operation Method
transverse_mercator urn:ogc:def:method:EPSG:6.0:9807 Coordinate Operation Method

(* OGC object types can be considered equivalent to like-named objects in the OGP/EPSG database.)


4.5. Addition of References to Bibliography

The following bibliographic references are required to be appended to the CF bibliography chapter.

[OGC-SRC] Topic 2: Spatial Referencing by Coordinates. OGC Abstract Specification. OGC document 04- 046r3. 16 August 2004. (URL: http://www.opengeospatial.org/standards/as)

[OGC-SFA1] OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 1: Common architecture. OGC document 06-103r3. 5 October 2006. (URL: http://www.opengeospatial.org/standards/sfa)

[OGC-URN] Definition Identifier URNs in OGC Namespace. OGC Best Practices Paper. OGC document 06- 023r1. 8 August 2007. (URL: http://www.opengeospatial.org/standards/bp)


5. Benefits

As per original Trac ticket #9.

6. Status Quo

As per original Trac ticket #9.

#87 fixed Allow comments in coordinate variables davidhassell ngalbraith
Description

Appendix A, Attributes, indicates that the 'comment' attribute may be used as a global attribute or for non-coordinate data variables. Its description states that it is for 'Miscellaneous information about the data or methods used to produce it.'

For in situ ocean data, certain information about the coordinate variables seems to belong in a comment; coordinate values have characteristics that should be described, but there are no standards for these descriptions yet.

For example, for a surface mooring, this seems like the best place to indicate whether the latitude and longitude are the surveyed anchor position or a GPS fix from the buoy itself, and whether the depth is the combined length of line/chain/instrument cases between the surface and the sensor, or a calculated depth based on measured pressure.

So, I propose that in the table in Appendix A we change the 'Use' of the comment attribute from G,D to G,C,D, to allow comments for variables containing coordinate data.

-Nan

#86 fixed Allow coordinate variables to be scaled integers davidhassell rhorne@…
Description

Currently, a coordinate variable that makes use of the standard NetCDF scaled integer convention is not CF metadata compliant.

In addition to the reduction in NetCDF dataset (file) size, there are other advantaged to allowing it including simplifying product formatting software, and having an attribute (scale_factor) that provides insight into the spatial resolution of the data variable.

To update the CF metadata conventions standard document requires changing a two rows in Table A.1 Attributes in Appendix A.

(1) In the "add_offset" row, the "Use" column needs to change from "D" to "C, D"

(2) In the "scale_factor" row, the "Use" column needs to change from "D" to "C, D"

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Note: See TracQuery for help on using queries.