Skip to content

Commit

Permalink
Fix geostationary projection (#232)
Browse files Browse the repository at this point in the history
Fixes #230

The initial definition for this projection was agreed on in May 2012 but
was not adopted in the CF document until v1.7 was released in September
2017. At that time, new generations of satellite missions were being
launched that generate data using this now deprecated method, including
GOES-R (NOAA, operational in December 2017). Subsequent missions, e.g.
Meteosat Third Generation (EUMETSAT) are encouraged to use CF-1.8
onwards.

Other updates:
* Formatting issues
* Use angular not linear coordinates in geostationary
* Defer deprecating old geostationary units to 1.9
* Clarify deprecation of standard names
* Update history.adoc
  • Loading branch information
erget authored Feb 20, 2020
1 parent 8eeed86 commit ff0fccd
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 30 deletions.
71 changes: 41 additions & 30 deletions appf.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ grid_mapping_name = albers_conical_equal_area
----

__Map parameters:__::
__Map parameters:__::
* **`standard_parallel`** - There may be 1 or 2 values.
* **`longitude_of_central_meridian`**
* **`latitude_of_projection_origin`**
Expand All @@ -46,7 +46,7 @@ link:$$http://geotiff.maptools.org/proj_list/albers_equal_area_conic.html$$[http
----
grid_mapping_name = azimuthal_equidistant
----

__Map parameters:__::
Expand All @@ -67,7 +67,7 @@ link:$$http://proj4.org/projections/aeqd.html$$[http://proj4.org/projections/aeq
----
grid_mapping_name = geostationary
----

__Map parameters:__::
Expand All @@ -79,17 +79,31 @@ __Map parameters:__::
* **`sweep_angle_axis`**
* **`fixed_angle_axis`**

__Map coordinates:__:: The x (abscissa) and y (ordinate) rectangular coordinates are identified by the **`standard_name`** attribute values **`projection_x_coordinate`** and **`projection_y_coordinate`** respectively. In the case of this projection, the projection coordinates in this projection are directly related to the scanning angle of the satellite instrument, and their units are radians.
__Map coordinates:__:: The x (abscissa) and y (ordinate) rectangular coordinates are identified by the **`standard_name`** attribute values **`projection_x_angular_coordinate`** and **`projection_y_angular_coordinate`**, respectively.
CF specified the standard names **`projection_x_coordinate`** and **`projection_y_coordinate`** for these coordinates prior to version 1.9, but that use is deprecated.
In the case of this projection, the projection coordinates in this projection are directly related to the scanning angle of the satellite instrument.

__Notes:__:: The algorithm for computing the mapping may be found at link:$$http://www.cgms-info.org/documents/pdf_cgms_03.pdf$$[http://www.cgms-info.org/documents/pdf_cgms_03.pdf]. This document assumes the point of observation is directly over the equator, and that the **`sweep_angle_axis`** is y.
__Notes:__:: The algorithm for computing the mapping may be found at link:$$http://www.cgms-info.org/documents/pdf_cgms_03.pdf$$[http://www.cgms-info.org/documents/pdf_cgms_03.pdf].
This document assumes the point of observation is directly over the equator, and that the **`sweep_angle_axis`** is y.

+
Notes on using the PROJ.4 software packages for computing the mapping may be found at link:$$http://proj4.org/$$[http://proj4.org/] and link:$$https://trac.osgeo.org/geotiff/$$[https://trac.osgeo.org/geotiff/] .

The **`perspective_point_height`** is the distance to the surface of the ellipsoid. Adding the earth major axis gives the distance from the centre of the earth.
+
The **`perspective_point_height`** is the distance to the surface of the ellipsoid.
Adding the earth major axis gives the distance from the centre of the earth.

The **`sweep_angle_axis`** attribute indicates which axis the instrument sweeps. The value = "y" corresponds to the spin-stabilized Meteosat satellites, the value = "x" to the GOES-R satellite.
+
The **`sweep_angle_axis`** attribute indicates which axis the instrument sweeps.
The value = "y" corresponds to the spin-stabilized Meteosat satellites, the value = "x" to the GOES-R satellite.

The **`fixed_angle_axis`** attribute indicates which axis the instrument is fixed. The values are opposite to **`sweep_angle_axis`**. Only one of those two attributes is mandatory.
+
The **`fixed_angle_axis`** attribute indicates which axis the instrument is fixed.
The values are opposite to **`sweep_angle_axis`**. Only one of those two attributes is mandatory.

+
The use of `projection_x_coordinate` and `projection_y_coordinate` was deprecated in version 1.9 of the CF Conventions.
The initial definition of this projection used these standard names to identify the projection coordinates even though their canonical units (meters) do not match those required for this projection (radians).


[[lambert-azimuthal-equal-area]]
Expand All @@ -98,7 +112,7 @@ The **`fixed_angle_axis`** attribute indicates which axis the instrument is fixe
----
grid_mapping_name = lambert_azimuthal_equal_area
----

__Map parameters:__::
Expand All @@ -120,7 +134,7 @@ link:$$http://geotiff.maptools.org/proj_list/lambert_azimuthal_equal_area.html$$
----
grid_mapping_name = lambert_conformal_conic
----

__Map parameters:__::
Expand All @@ -144,7 +158,7 @@ link:$$http://geotiff.maptools.org/proj_list/lambert_conic_conformal_2sp.html$$[
----
grid_mapping_name = lambert_cylindrical_equal_area
----

__Map parameters:__::
Expand All @@ -165,24 +179,22 @@ link:$$http://geotiff.maptools.org/proj_list/cylindrical_equal_area.html$$[http:
----
grid_mapping_name = latitude_longitude
----

This grid mapping defines the canonical 2D geographical coordinate system based upon latitude and longitude coordinates on a spherical Earth. It is included so that the figure of the Earth can be described.

__Map parameters:__:: None.

__Map coordinates:__:: The rectangular coordinates are longitude and latitude
identified by the usual conventions
(<<latitude-coordinate>> and <<longitude-coordinate>>).
__Map coordinates:__:: The rectangular coordinates are longitude and latitude identified by the usual conventions (<<latitude-coordinate>> and <<longitude-coordinate>>).


=== Mercator

----
grid_mapping_name = mercator
----

__Map parameters:__::
Expand All @@ -201,7 +213,7 @@ link:$$http://geotiff.maptools.org/proj_list/mercator_1sp.html$$[http://geotiff.
or
link:$$http://geotiff.maptools.org/proj_list/mercator_2sp.html$$[http://geotiff.maptools.org/proj_list/mercator_2sp.html]
("Mercator (2SP)" or EPSG 9805).

+
More information on formulas available in <<OGP-EPSG_GN7_2>>.

Expand All @@ -211,7 +223,7 @@ More information on formulas available in <<OGP-EPSG_GN7_2>>.
----
grid_mapping_name = oblique_mercator
----

__Map parameters:__::
Expand All @@ -236,7 +248,7 @@ The Rotated Mercator projection is an Oblique Mercator projection with azimuth =
----
grid_mapping_name = orthographic
----

__Map parameters:__::
Expand All @@ -252,7 +264,7 @@ link:$$http://proj4.org/projections/ortho.html$$[http://proj4.org/projections/or
and
link:$$http://geotiff.maptools.org/proj_list/orthographic.html$$[http://geotiff.maptools.org/proj_list/orthographic.html]
("Orthographic" or EPSG 9840).

+
More information on formulas available in <<OGP-EPSG_GN7_2>>.

Expand All @@ -264,7 +276,7 @@ More information on formulas available in <<OGP-EPSG_GN7_2>>.
----
grid_mapping_name = polar_stereographic
----

__Map parameters:__::
Expand All @@ -288,7 +300,7 @@ As PROJ.4 requires the standard parallel, [Snyder] formula 21-7 can be used to c
----
grid_mapping_name = rotated_latitude_longitude
----

__Map parameters:__::
Expand All @@ -298,7 +310,7 @@ __Map parameters:__::

__Map coordinates:__:: The rotated latitude and longitude coordinates are identified by the **`standard_name`** attribute values **`grid_latitude`** and **`grid_longitude`** respectively.

__Notes:__::
__Notes:__::
{nbsp}


Expand All @@ -307,7 +319,7 @@ __Notes:__::
----
grid_mapping_name = sinusoidal
----

__Map parameters:__::
Expand All @@ -329,7 +341,7 @@ Detailed formulas can be found in <<Snyder>>, pages 243-248.
----
grid_mapping_name = stereographic
----

__Map parameters:__::
Expand All @@ -353,7 +365,7 @@ See the section "Polar stereographic" for the special case when the projection o
----
grid_mapping_name = transverse_mercator
----

__Map parameters:__::
Expand All @@ -377,7 +389,7 @@ link:$$http://geotiff.maptools.org/proj_list/transverse_mercator.html$$[http://g
----
grid_mapping_name = vertical_perspective
----

__Map parameters:__::
Expand All @@ -391,7 +403,7 @@ __Map coordinates:__:: The x (abscissa) and y (ordinate) rectangular
coordinates are identified by the **`standard_name`** attribute value
**`projection_x_coordinate`** and **`projection_y_coordinate`**
respectively.

__Notes:__:: A general description of vertical perspective projection is
given in <<Snyder>>, pages 169-181.

Expand All @@ -400,8 +412,7 @@ The corresponding projection in PROJ.4 is nsper.
This should not be confused with the PROJ.4 geos projection.


In the following table the "Type" values are **S** for string and **N**
for numeric.
In the following table the "Type" values are **S** for string and **N** for numeric.

[[table-grid-mapping-attributes]]
.Grid Mapping Attributes
Expand Down
7 changes: 7 additions & 0 deletions history.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,9 @@ node coordinate variables to be one of the dimensions of the data variable.
.10 September 2019
. link:$$https://github.com/cf-convention/cf-conventions/issues/139$$[Issue #139]: Added support for variables of type string.

.10 September 2019
. Issue #139: Added support for variables of type string.

.10 September 2019
. link:$$https://github.com/cf-convention/cf-conventions/issues/179$$[Issue #179]: Don't require longitude and Latitude for projected coordinates.

Expand All @@ -245,3 +248,7 @@ node coordinate variables to be one of the dimensions of the data variable.

.30 January 2020
. link:$$https://github.com/cf-convention/cf-conventions/issues/223$$[Issue #223]: Axis Order for CRS-WKT grid mappings

.20 February 2020
. #230 - Correct inconsistency in units or geostationary projection

0 comments on commit ff0fccd

Please sign in to comment.