Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Longitude and Latitude not required for projected coordinates #133

Merged
merged 8 commits into from
Aug 21, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 13 additions & 8 deletions ch05.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@ If the longitude, latitude, vertical or time coordinate is multi-valued, varies

If an **`axis`** attribute is attached to an auxiliary coordinate variable, it can be used by applications in the same way the **`axis`** attribute attached to a coordinate variable is used. However, it is not permissible for a data variable to have both a coordinate variable and an auxiliary coordinate variable, or more than one of either type of variable, having an **`axis`** attribute with any given value e.g. there must be no more than one **`axis`** attribute for **`X`** for any data variable. Note that if the **`axis`** attribute is not specified for an auxiliary coordinate variable, it may still be possible to determine if it is a spatiotemporal dimension from its own units or standard_name, or from the units and standard_name of the coordinate variable corresponding to its dimensions (see <<coordinate-types>>). For instance, auxiliary coordinate variables which lie on the horizontal surface can be identified as such by their dimensions being horizontal. Horizontal dimensions are those whose coordinate variables have an **`axis`** attribute of **`X`** or **`Y`**, or a **`units`** attribute indicating latitude and longitude.

If the coordinate variables for a horizontal grid are not longitude and latitude, it is recommended that they be supplied __in addition__ to the required coordinates. For example, the Cartesian coordinates of a map projection should be supplied as coordinate variables in addition to the required two-dimensional latitude and longitude variables that are identified via the **`coordinates`** attribute. The use of the **`axis`** attribute with values **`X`** and **`Y`** is recommended for the coordinate variables (see <<coordinate-types>>).
To geo-reference data horizontally with respect to the Earth, a __grid mapping variable__ may be provided by the data variable, using the **`grid_mapping`** attribute.
If the coordinate variables for a horizontal grid are not longitude and latitude, then a grid_mapping variable provides the information required to derive longitude and latitude values for each grid location.
If no __grid mapping variable__ is referenced by a data variable, then longitude and latitude coordinate values shall be supplied __in addition__ to the required coordinates.
JimBiardCics marked this conversation as resolved.
Show resolved Hide resolved
For example, the Cartesian coordinates of a map projection may be supplied as coordinate variables and, in addition, two-dimensional latitude and longitude variables may be supplied via the **`coordinates`** attribute on a data variable.
The use of the **`axis`** attribute with values **`X`** and **`Y`** is recommended for the coordinate variables (see <<coordinate-types>>).

It is sometimes not practical to specify the latitude-longitude location of data which is representative of geographic regions with complex boundaries. For this purpose, provision is made in <<geographic-regions>> for indicating the region by a standardized name.

Expand Down Expand Up @@ -183,13 +187,14 @@ _This section has been superseded by the treatment of time series as a type of d
[[grid-mappings-and-projections, Section 5.6, "Horizontal Coordinate Reference Systems, Grid Mappings, and Projections"]]
=== Horizontal Coordinate Reference Systems, Grid Mappings, and Projections

When the coordinate variables for a horizontal grid are not longitude and latitude, it is required
that the true latitude and longitude coordinates be supplied via the **`coordinates`** attribute. A
__grid mapping variable__ is required if, in addition, it is desired to describe the mapping between the
given coordinate variables and the true latitude and longitude coordinates, or to describe the
dblodgett-usgs marked this conversation as resolved.
Show resolved Hide resolved
figure of the Earth used to define the latitude and longitude coordinates, or to describe another
coordinate reference system definition used by some coordinates or auxiliary coordinates. Such a
grid mapping variable provides the description of the mapping via a collection of attached
A __grid mapping variable__ may be referenced by a data variable in order to explicitly declare the coordinate reference system (CRS) used for the horizontal spatial coordinate values.
For example, if the horizontal spatial coordinates are latitude and longitude, the grid mapping variable can be used to declare the figure of the earth (WGS84 ellipsoid, sphere, etc.) they are based on. If the horizontal spatial coordinates are easting and northing in a map projection, the grid mapping variable declares the map projection CRS used and provides the information needed to calculate latitude and longitude from easting and northing.

When the horizontal spatial coordinate variables are not longitude and latitude, it is required that further information is provided to geo-locate the horizontal position. A __grid mapping variable__ provides this information.

If no __grid mapping variable__ is provided and the coordinate variables for a horizontal grid are not longitude and latitude, then it is required that the latitude and longitude coordinates are supplied via the **`coordinates`** attribute. Such coordinates may be provided in addition to the provision of a __grid mapping variable__, but that is not required.

A grid mapping variable provides the description of the mapping via a collection of attached
attributes. It is of arbitrary type since it contains no data. Its purpose is to act as a container
for the attributes that define the mapping. The one attribute that all grid mapping variables must
have is grid_mapping_name, which takes a string value that contains the mapping's name. The other
Expand Down