diff options
| author | PROJ deploybot <proj.bot@proj.bot> | 2022-03-22 20:00:06 +0000 |
|---|---|---|
| committer | PROJ deploybot <proj.bot@proj.bot> | 2022-03-22 20:00:06 +0000 |
| commit | a3f43744feec86272fe532124679d3a013ef9a8c (patch) | |
| tree | 27e4198db6011e3097eb7bcfe7197684aba7583a /_sources/operations/projections | |
| download | PROJ-gh-pages.tar.gz PROJ-gh-pages.zip | |
update with results of commit https://github.com/OSGeo/PROJ/commit/53c07a8bd211b7aee4bc07a9c6726005504b7181gh-pages
Diffstat (limited to '_sources/operations/projections')
151 files changed, 8980 insertions, 0 deletions
diff --git a/_sources/operations/projections/adams_hemi.rst.txt b/_sources/operations/projections/adams_hemi.rst.txt new file mode 100644 index 00000000..96fe78f1 --- /dev/null +++ b/_sources/operations/projections/adams_hemi.rst.txt @@ -0,0 +1,42 @@ +.. _adams_hemi: + +******************************************************************************** +Adams Hemisphere in a Square +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | adams_hemi | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/adams_hemi.png + :width: 500 px + :align: center + :alt: Adams Hemisphere in a Square + + proj-string: ``+proj=adams_hemi`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/adams_ws1.rst.txt b/_sources/operations/projections/adams_ws1.rst.txt new file mode 100644 index 00000000..3283ff57 --- /dev/null +++ b/_sources/operations/projections/adams_ws1.rst.txt @@ -0,0 +1,42 @@ +.. _adams_ws1: + +******************************************************************************** +Adams World in a Square I +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | adams_ws1 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/adams_ws1.png + :width: 500 px + :align: center + :alt: Adams World in a Square I + + proj-string: ``+proj=adams_ws1`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/adams_ws2.rst.txt b/_sources/operations/projections/adams_ws2.rst.txt new file mode 100644 index 00000000..60630286 --- /dev/null +++ b/_sources/operations/projections/adams_ws2.rst.txt @@ -0,0 +1,42 @@ +.. _adams_ws2: + +******************************************************************************** +Adams World in a Square II +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | adams_ws2 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/adams_ws2.png + :width: 500 px + :align: center + :alt: Adams World in a Square II + + proj-string: ``+proj=adams_ws2`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/aea.rst.txt b/_sources/operations/projections/aea.rst.txt new file mode 100644 index 00000000..47a24251 --- /dev/null +++ b/_sources/operations/projections/aea.rst.txt @@ -0,0 +1,52 @@ +.. _aea: + +******************************************************************************** +Albers Equal Area +******************************************************************************** ++---------------------+----------------------------------------------------------+ +| **Classification** | Conic | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | aea | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/aea.png + :width: 500 px + :align: center + :alt: Albers Equal Area + + proj-string: ``+proj=aea +lat_1=29.5 +lat_2=42.5`` + +Options +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + diff --git a/_sources/operations/projections/aeqd.rst.txt b/_sources/operations/projections/aeqd.rst.txt new file mode 100644 index 00000000..3c5566ec --- /dev/null +++ b/_sources/operations/projections/aeqd.rst.txt @@ -0,0 +1,49 @@ +.. _aeqd: + +******************************************************************************** +Azimuthal Equidistant +******************************************************************************** ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Alias** | aeqd | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/aeqd.png + :width: 500 px + :align: center + :alt: Azimuthal Equidistant + + proj-string: ``+proj=aeqd`` + + +Options +################################################################################ + +.. note:: All options are optional for the Azimuthal Equidistant projection. + +.. option:: +guam + + Use Guam ellipsoidal formulas. Only accurate near the Island of Guam + (:math:`\lambda\approx 144.5^{\circ}`, :math:`\phi\approx 13.5^{\circ}`) + +.. include:: ../options/lat_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst diff --git a/_sources/operations/projections/airy.rst.txt b/_sources/operations/projections/airy.rst.txt new file mode 100644 index 00000000..04af065e --- /dev/null +++ b/_sources/operations/projections/airy.rst.txt @@ -0,0 +1,58 @@ +.. _airy: + +******************************************************************************** +Airy +******************************************************************************** + +The Airy projection is an azimuthal minimum error projection for the region +within the small or great circle defined by an angular distance, +:math:`\phi_b`, from the tangency point of the plane :math:`( \lambda_0, \phi_0 )`. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | airy | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + + +.. figure:: ./images/airy.png + :width: 500 px + :align: center + :alt: Airy + + proj-string: ``+proj=airy`` + +Options +################################################################################ + +.. option:: +lat_b + + Angular distance from tangency point of the plane :math:`( \lambda_0, \phi_0 )` + where the error is kept at minimum. + + *Defaults to 90° (suitable for hemispherical maps).* + +.. option:: +no_cut + + Do not cut at hemisphere limit + +.. include:: ../options/lat_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/R.rst diff --git a/_sources/operations/projections/aitoff.rst.txt b/_sources/operations/projections/aitoff.rst.txt new file mode 100644 index 00000000..7508445d --- /dev/null +++ b/_sources/operations/projections/aitoff.rst.txt @@ -0,0 +1,40 @@ +.. _aitoff: + +******************************************************************************** +Aitoff +******************************************************************************** ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | aitoff | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ./images/aitoff.png + :width: 500 px + :align: center + :alt: Aitoff + + proj-string: ``+proj=aitoff`` + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/alsk.rst.txt b/_sources/operations/projections/alsk.rst.txt new file mode 100644 index 00000000..5c2b416f --- /dev/null +++ b/_sources/operations/projections/alsk.rst.txt @@ -0,0 +1,39 @@ +.. _alsk: + +******************************************************************************** +Modified Stereographic of Alaska +******************************************************************************** ++---------------------+----------------------------------------------------------+ +| **Classification** | Modified azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Alaska | ++---------------------+----------------------------------------------------------+ +| **Alsk** | alsk | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/alsk.png + :width: 500 px + :align: center + :alt: Modified Stereographic of Alaska + + proj-string: ``+proj=alsk`` + +Options +################################################################################ + +.. note:: All options are optional for the projection. + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/ellps.rst diff --git a/_sources/operations/projections/apian.rst.txt b/_sources/operations/projections/apian.rst.txt new file mode 100644 index 00000000..870dc0ce --- /dev/null +++ b/_sources/operations/projections/apian.rst.txt @@ -0,0 +1,44 @@ +.. _apian: + +******************************************************************************** +Apian Globular I +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | apian | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/apian.png + :width: 500 px + :align: center + :alt: Apian Globular I + + proj-string: ``+proj=apian`` + +Options +################################################################################ + +.. note:: All options are optional for the Apian Globular projection. + +.. include:: ../options/lat_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/august.rst.txt b/_sources/operations/projections/august.rst.txt new file mode 100644 index 00000000..ae5c95dc --- /dev/null +++ b/_sources/operations/projections/august.rst.txt @@ -0,0 +1,42 @@ +.. _august: + +******************************************************************************** +August Epicycloidal +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | august | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/august.png + :width: 500 px + :align: center + :alt: August Epicycloidal + + proj-string: ``+proj=august`` + +Parameters +################################################################################ + +.. note:: All options are optional for the August Epicycloidal projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/bacon.rst.txt b/_sources/operations/projections/bacon.rst.txt new file mode 100644 index 00000000..8e2fda9e --- /dev/null +++ b/_sources/operations/projections/bacon.rst.txt @@ -0,0 +1,42 @@ +.. _bacon: + +******************************************************************************** +Bacon Globular +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | bacon | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/bacon.png + :width: 500 px + :align: center + :alt: Bacon Globular + + proj-string: ``+proj=bacon`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Bacon Globular projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/bertin1953.rst.txt b/_sources/operations/projections/bertin1953.rst.txt new file mode 100644 index 00000000..65afcf62 --- /dev/null +++ b/_sources/operations/projections/bertin1953.rst.txt @@ -0,0 +1,64 @@ +.. _bertin1953: + +******************************************************************************** +Bertin 1953 +******************************************************************************** + +.. versionadded:: 6.0.0 + ++---------------------+-------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+-------------------------------+ +| **Available forms** | Forward, spherical projection | ++---------------------+-------------------------------+ +| **Defined area** | Global | ++---------------------+-------------------------------+ +| **Alias** | bertin1953 | ++---------------------+-------------------------------+ +| **Domain** | 2D | ++---------------------+-------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+-------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+-------------------------------+ + + + +.. figure:: ./images/bertin1953.png + :width: 500 px + :align: center + :alt: Bertin 1953 + + proj-string: ``+proj=bertin1953`` + + +The Bertin 1953 projection is intended for making world maps. Created by Jacques Bertin +in 1953, this projection was the go-to choice of the French cartographic school when they +wished to represent phenomena on a global scale. The projection was formulated in 2017 +by Philippe Rivière for visionscarto.net. + + +Usage +############################################################################### + +The Bertin 1953 projection has no special options. Its rotation parameters +are fixed. Here is an example of a forward projection with scale 1:: + + $ echo 122 47 | src/proj +proj=bertin1953 +R=1 + 0.72 0.73 + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Further reading +################################################################################ + +#. Philippe Rivière (2017). `Bertin Projection (1953) <https://visionscarto.net/bertin-projection-1953>`, Visionscarto.net. diff --git a/_sources/operations/projections/bipc.rst.txt b/_sources/operations/projections/bipc.rst.txt new file mode 100644 index 00000000..9ac73750 --- /dev/null +++ b/_sources/operations/projections/bipc.rst.txt @@ -0,0 +1,46 @@ +.. _bipc: + +******************************************************************************** +Bipolar conic of western hemisphere +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | bipc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/bipc.png + :width: 500 px + :align: center + :alt: Bipolar conic of western hemisphere + + proj-string: ``+proj=bipc +ns`` + +Parameters +################################################################################ + +.. note:: All options are optional for the Bipolar Conic projection. + +.. option:: +ns + + Return non-skewed cartesian coordinates. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/boggs.rst.txt b/_sources/operations/projections/boggs.rst.txt new file mode 100644 index 00000000..82f43733 --- /dev/null +++ b/_sources/operations/projections/boggs.rst.txt @@ -0,0 +1,42 @@ +.. _boggs: + +******************************************************************************** +Boggs Eumorphic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | boggs | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/boggs.png + :width: 500 px + :align: center + :alt: Boggs Eumorphic + + proj-string: ``+proj=boggs`` + +Parameters +################################################################################ + +.. note:: All options are optional for the Boggs Eumorphic projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/bonne.rst.txt b/_sources/operations/projections/bonne.rst.txt new file mode 100644 index 00000000..1b81237b --- /dev/null +++ b/_sources/operations/projections/bonne.rst.txt @@ -0,0 +1,50 @@ +.. _bonne: + +******************************************************************************** +Bonne (Werner lat_1=90) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | bonne | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/bonne.png + :width: 500 px + :align: center + :alt: Bonne (Werner lat_1=90) + + proj-string: ``+proj=bonne +lat_1=10`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/calcofi.rst.txt b/_sources/operations/projections/calcofi.rst.txt new file mode 100644 index 00000000..829c5060 --- /dev/null +++ b/_sources/operations/projections/calcofi.rst.txt @@ -0,0 +1,107 @@ +.. _calcofi: + +******************************************************************************** +Cal Coop Ocean Fish Invest Lines/Stations +******************************************************************************** + +The CalCOFI pseudo-projection is the line and station coordinate system of the +California Cooperative Oceanic Fisheries Investigations program, known as CalCOFI, for sampling offshore of the west coast of the U.S. and Mexico. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conformal cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Only valid for the west coast of USA and Mexico | ++---------------------+----------------------------------------------------------+ +| **Alias** | calcofi | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + + +.. image:: ../../../images/calcofi.png + :width: 500 px + :align: center + :alt: Cal Coop Ocean Fish Invest Lines/Stations + +The coordinate system is based on the Mercator projection with units rotated -30 +degrees from the meridian so that they are oriented with the coastline of the Southern California Bight and Baja California. +Lines increase from Northwest to Southeast. +A unit of line is 12 nautical miles. Stations increase from inshore to offshore. +A unit of station is equal to 4 nautical miles. +The rotation point is located at line 80, station 60, or 34.15 degrees N, -121.15 degrees W, and is depicted by the red dot in the figure. +By convention, the ellipsoid of Clarke 1866 is used to calculate CalCOFI coordinates. + +The CalCOFI program is a joint research effort by the U.S. National Oceanic and +Atmospheric Administration, University of California Scripps Oceanographic Institute, and California Department of Fish and Game. +Surveys have been conducted for the CalCOFI program since 1951, creating one of the oldest and most scientifically valuable joint oceanographic and fisheries data sets in the world. +The CalCOFI line and station coordinate system is now used by several other programs including the Investigaciones Mexicanas de la Corriente de California (IMECOCAL) program offshore of Baja California. +The figure depicts some commonly sampled locations from line 40 to line 156.7 and offshore to station 120. Blue numbers indicate line (bottom) or station (left) numbers along the grid. Note that lines spaced at approximate 3-1/3 intervals are commonly sampled, e.g., lines 43.3 and 46.7. + +Usage +############################################################################### + +A typical forward CalCOFI projection would be from lon/lat coordinates on the +Clark 1866 ellipsoid. +For example:: + + proj +proj=calcofi +ellps=clrk66 -E <<EOF + -121.15 34.15 + EOF + +Output of the above command:: + + -121.15 34.15 80.00 60.00 + +The reverse projection from line/station coordinates to lon/lat would be entered +as:: + + proj +proj=calcofi +ellps=clrk66 -I -E -f "%.2f" <<EOF + 80.0 60.0 + EOF + +Output of the above command:: + + 80.0 60.0 -121.15 34.15 + +Options +################################################################################ + +.. note:: All options are optional for the CalCOFI projection. + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +Mathematical definition +################################################################################ + +The algorithm used to make conversions is described in :cite:`EberHewitt1979` with +a few corrections reported in :cite:`WeberMoore2013`. + + +Further reading +################################################################################ + +#. `General information about the CalCOFI program <http://www.calcofi.org>`_ +#. `The Investigaciones Mexicanas de la Corriente de California <http://imecocal.cicese.mx>`_ + + + + + + + + + + + + + + diff --git a/_sources/operations/projections/cass.rst.txt b/_sources/operations/projections/cass.rst.txt new file mode 100644 index 00000000..073fe6cc --- /dev/null +++ b/_sources/operations/projections/cass.rst.txt @@ -0,0 +1,172 @@ +.. _cass: + +******************************************************************************** +Cassini (Cassini-Soldner) +******************************************************************************** + +Although the Cassini projection has been largely replaced by the Transverse Mercator, it is still in limited use outside the United States and was one of the major topographic mapping projections until the early 20th century. + ++---------------------+-------------------------------------------------------------------------+ +| **Classification** | Transverse and oblique cylindrical | ++---------------------+-------------------------------------------------------------------------+ +| **Available forms** | Forward and inverse, Spherical and ellipsoidal | ++---------------------+-------------------------------------------------------------------------+ +| **Defined area** | Global, but best used near the central meridian with long, narrow areas | ++---------------------+-------------------------------------------------------------------------+ +| **Alias** | cass | ++---------------------+-------------------------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+-------------------------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+-------------------------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+-------------------------------------------------------------------------+ + + +.. figure:: ./images/cass.png + :width: 500 px + :align: center + :alt: Cassini + + proj-string: ``+proj=cass`` + +Usage +##### + +There has been little usage of the spherical version of the Cassini, but the ellipsoidal Cassini-Soldner version was adopted by the Ordnance Survey for the official survey of Great Britain during the second half of the 19th century :cite:`Steers1970`. +Many of these maps were prepared at a scale of 1:2,500. +The Cassini-Soldner was also used for the detailed mapping of many German states during the same period. + + +Example using EPSG 30200 (Trinidad 1903, units in clarke's links):: + + $ echo 0.17453293 -1.08210414 | proj +proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164 + 66644.94 82536.22 + +Example using EPSG 3068 (Soldner Berlin):: + + $ echo 13.5 52.4 | proj +proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +units=m + 31343.05 7932.76 + +Options +################################################################################ + +.. note:: All options are optional for the Cassini projection. + +.. include:: ../options/lat_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. option:: +hyperbolic + + Use modified form of the standard Cassini-Soldner projection known as the Hyperbolic Cassini-Soldner. + This is used in particular for the "Vanua Levu Grid" of the island of Vanua Levu, Fiji (EPSG:3139) + + +Mathematical definition +####################### + +The formulas describing the Cassini projection are taken from :cite:`Snyder1987`. + +:math:`\phi_0` is the latitude of origin that match the center of the map (default to 0). It can be set with ``+lat_0``. + + +Spherical form +============== + +Forward projection +------------------ + +.. math:: + + x = \arcsin(\cos(\phi) \sin(\lambda)) + +.. math:: + + y = \arctan2(\tan(\phi), \cos(\lambda)) - \phi_0 + +Inverse projection +------------------ + +.. math:: + + \phi = \arcsin(\sin(y+\phi_0) \cos(x)) + +.. math:: + + \lambda = \arctan2(\tan(x), \cos(y+\phi_0)) + +Ellipsoidal form +================ + +Forward projection +------------------ + +.. math:: + + N = (1 - e^2 \sin^2(\phi))^{-1/2} + +.. math:: + + T = \tan^2(\phi) + +.. math:: + + A = \lambda \cos(\phi) + +.. math:: + + C = \frac{e^2}{1-e^2} cos^2(\phi) + +.. math:: + + x = N ( A - T \frac{A^3}{6} - (8-T+8C)T\frac{A^5}{120}) + +.. math:: + + y = M(\phi) - M(\phi_0) + N \tan(\phi)(\frac{A^2}{2} + (5-T+6C)\frac{A^4}{24}) + +and M() is the meridional distance function. + +Inverse projection +------------------ + +.. math:: + + \phi' = M^{-1}(M(\phi_0)+y) + +if :math:`\phi' = \frac{\pi}{2}` then :math:`\phi=\phi'` and :math:`\lambda=0` + +otherwise evaluate T and N above using :math:`\phi'` and + +.. math:: + + R = (1 - e^2)(1 - e^2 sin^2 \phi')^{-3/2} + +.. math:: + + D = x/N + +.. math:: + + \phi = \phi' - \tan \phi' \frac{N}{R}(\frac{D^2}{2}-(1+3T)\frac{D^4}{24}) + +.. math:: + + \lambda = \frac{(D - T\frac{D^3}{3} + (1+3T)T\frac{D^5}{15})}{\cos \phi'} + +.. _further-reading: + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Equirectangular_projection>`_ +#. `EPSG, POSC literature pertaining to Coordinate Conversions and Transformations including Formulas <http://www.ihsenergy.com/epsg/guid7.pdf>`_ diff --git a/_sources/operations/projections/cc.rst.txt b/_sources/operations/projections/cc.rst.txt new file mode 100644 index 00000000..c6f3927a --- /dev/null +++ b/_sources/operations/projections/cc.rst.txt @@ -0,0 +1,42 @@ +.. _cc: + +******************************************************************************** +Central Cylindrical +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | cc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/cc.png + :width: 500 px + :align: center + :alt: Central Cylindrical + + proj-string: ``+proj=cc`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Central Cylindrical projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/ccon.rst.txt b/_sources/operations/projections/ccon.rst.txt new file mode 100644 index 00000000..949da8b5 --- /dev/null +++ b/_sources/operations/projections/ccon.rst.txt @@ -0,0 +1,159 @@ +.. _ccon: + +******************************************************************************** +Central Conic +******************************************************************************** + +.. versionadded:: 5.0.0 + +This is central (centrographic) projection on cone tangent at :option:``lat_1`` +latitude, identical with ``conic()`` projection from ``mapproj`` R package. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conic | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, but best used near the standard parallel | ++---------------------+----------------------------------------------------------+ +| **Alias** | ccon | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/ccon.png + :width: 500 px + :align: center + :alt: Central Conic + + proj-string: ``+proj=ccon +lat_1=52 +lon_0=19`` + +Usage +######## + +This simple projection is rarely used, as it is not equidistant, equal-area, nor +conformal. + +An example of usage (and the main reason to implement this projection in proj4) +is the ATPOL geobotanical grid of Poland, developed in Institute of Botany, +Jagiellonian University, Krakow, Poland in 1970s :cite:`Zajac1978`. The grid was +originally handwritten on paper maps and further copied by hand. The projection +(together with strange Earth radius) was chosen by its creators as the compromise +fit to existing maps during first software development in DOS era. Many years later +it is still de facto standard grid in Polish geobotanical research. + +The ATPOL coordinates can be achieved with with the following parameters: + +:: + + +proj=ccon +lat_1=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000 + +For more information see :cite:`Komsta2016` and :cite:`Verey2017`. + +Parameters +################################################################################ + +Required +------------------------------------------------------------------------------- + +.. option:: +lat_1=<value> + + Standard parallel of projection. + +Optional +------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + + +Mathematical definition +################################################################################ + + +Forward projection +------------------------------------------------------------------------------- + +.. math:: + + r = \cot \phi_0 - \tan (\phi - \phi_0) + +.. math:: + + x = r \sin (\lambda\sin\phi_0) + +.. math:: + + y = \cot \phi_0 - r \cos (\lambda\sin\phi_0) + + +Inverse projection +------------------------------------------------------------------------------- + +.. math:: + + y = \cot \phi_0 - y + +.. math:: + + \phi = \phi_0 - \tan^{-1} ( \sqrt{x^2+y^2} - \cot \phi_0 ) + +.. math:: + + \lambda = \frac{\tan^{-1} \sqrt{x^2+y^2}}{\sin \phi_0} + +Reference values +################################################################################ + +For ATPOL to WGS84 test, run the following script: + +:: + + #!/bin/bash + cat << EOF | src/cs2cs -v -f "%E" +proj=ccon +lat_1=52 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000 +to +proj=longlat + 0 0 + 0 700000 + 700000 0 + 700000 700000 + 330000 350000 + EOF + +It should result with + +:: + + 1.384023E+01 5.503040E+01 0.000000E+00 + 1.451445E+01 4.877385E+01 0.000000E+00 + 2.478271E+01 5.500352E+01 0.000000E+00 + 2.402761E+01 4.875048E+01 0.000000E+00 + 1.900000E+01 5.200000E+01 0.000000E+00 + +Analogous script can be run for reverse test: + +:: + + cat << EOF | src/cs2cs -v -f "%E" +proj=longlat +to +proj=ccon +lat_1=52 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000 + 24 55 + 15 49 + 24 49 + 19 52 + EOF + +and it should give the following results: + +:: + + 6.500315E+05 4.106162E+03 0.000000E+00 + 3.707419E+04 6.768262E+05 0.000000E+00 + 6.960534E+05 6.722946E+05 0.000000E+00 + 3.300000E+05 3.500000E+05 0.000000E+00 diff --git a/_sources/operations/projections/cea.rst.txt b/_sources/operations/projections/cea.rst.txt new file mode 100644 index 00000000..3f8af65f --- /dev/null +++ b/_sources/operations/projections/cea.rst.txt @@ -0,0 +1,79 @@ +.. _cea: + +******************************************************************************** +Equal Area Cylindrical +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | cea | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/cea.png + :width: 500 px + :align: center + :alt: Equal Area Cylindrical + + proj-string: ``+proj=cea`` + +Named specializations +################################################################################ + +The Equal Area Cylindrical projection is sometimes known under other names when +it is instanciated with particular values of the ``lat_ts`` parameter: + ++----------------------------------+------------+ +| **Name** | **lat_ts** | ++----------------------------------+------------+ +| Lambert cylindrical equal-area | 0 | ++----------------------------------+------------+ +| Behrmann | 30 | ++----------------------------------+------------+ +| Gall-Peters | 45 | ++----------------------------------+------------+ + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Equal Area Cylindrical projection. + +.. include:: ../options/lat_ts.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/k_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. note:: + + ``lat_ts`` and ``k_0`` are mutually exclusive. If ``lat_ts`` + is specified, it is equivalent to setting ``k_0`` to + :math:`\frac{\cos \phi_{ts}}{\sqrt{1 - e^2 \sin^2 \phi_{ts}}}` + +Further reading +############### + +#. `Wikipedia: Lambert cylindrical equal-area <https://en.wikipedia.org/wiki/Lambert_cylindrical_equal-area_projection>`_ + +#. `Wikipedia: Gall-Peters <https://en.wikipedia.org/wiki/Gall%E2%80%93Peters_projection>`_ + +#. `Wikipedia: Behrmann <https://en.wikipedia.org/wiki/Behrmann_projection>`_ diff --git a/_sources/operations/projections/chamb.rst.txt b/_sources/operations/projections/chamb.rst.txt new file mode 100644 index 00000000..c33017a5 --- /dev/null +++ b/_sources/operations/projections/chamb.rst.txt @@ -0,0 +1,72 @@ +.. _chamb: + +******************************************************************************** +Chamberlin Trimetric +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | chamb | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/chamb.png + :width: 500 px + :align: center + :alt: Chamberlin Trimetric + + proj-string: ``+proj=chamb +lat_1=10 +lon_1=30 +lon_2=40`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. note:: Control points should be oriented clockwise. + +.. option:: +lat_1=<value> + + Latitude of the first control point. + +.. option:: +lon_1=<value> + + Longitude of the first control point. + +.. option:: +lat_2=<value> + + Latitude of the second control point. + +.. option:: +lon_2=<value> + + Longitude of the second control point. + +.. option:: +lat_3=<value> + + Latitude of the third control point. + +.. option:: +lon_3=<value> + + Longitude of the third control point. + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/col_urban.rst.txt b/_sources/operations/projections/col_urban.rst.txt new file mode 100644 index 00000000..df2873dd --- /dev/null +++ b/_sources/operations/projections/col_urban.rst.txt @@ -0,0 +1,49 @@ +.. _col_urban: + +******************************************************************************** +Colombia Urban +******************************************************************************** + +.. versionadded:: 7.2 + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse ellipsoidal projection | ++---------------------+----------------------------------------------------------+ +| **Alias** | col_urban | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +From :cite:`IOGP2018`: + + The capital cites of each department in Colombia use an urban projection for large + scale topographic mapping of the urban areas. It is based on a plane through + the origin at an average height for the area, eliminating the need for corrections + to engineering survey observations. + + proj-string: ``+proj=col_urban`` + +Parameters +################################################################################ + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. option:: +h_0=<value> + + Projection plane origin height (in metre) + + *Defaults to 0.0.* diff --git a/_sources/operations/projections/collg.rst.txt b/_sources/operations/projections/collg.rst.txt new file mode 100644 index 00000000..f0ed215f --- /dev/null +++ b/_sources/operations/projections/collg.rst.txt @@ -0,0 +1,43 @@ +.. _collg: + +******************************************************************************** +Collignon +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | collg | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/collg.png + :width: 500 px + :align: center + :alt: Collignon + + proj-string: ``+proj=collg`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Collignon projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + diff --git a/_sources/operations/projections/comill.rst.txt b/_sources/operations/projections/comill.rst.txt new file mode 100644 index 00000000..fa04ec18 --- /dev/null +++ b/_sources/operations/projections/comill.rst.txt @@ -0,0 +1,46 @@ +.. _comill: + +******************************************************************************** +Compact Miller +******************************************************************************** + +The Compact Miller projection is a cylindrical map projection with a +height-to-width ratio of 0.6:1. + +See :cite:`Jenny2015` + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | comill | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ./images/comill.png + :width: 500 px + :align: center + :alt: Compact Miller + + proj-string: ``+proj=comill`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/crast.rst.txt b/_sources/operations/projections/crast.rst.txt new file mode 100644 index 00000000..406c300a --- /dev/null +++ b/_sources/operations/projections/crast.rst.txt @@ -0,0 +1,43 @@ +.. _crast: + +******************************************************************************** +Craster Parabolic (Putnins P4) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | crast | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/crast.png + :width: 500 px + :align: center + :alt: Craster Parabolic (Putnins P4) + + proj-string: ``+proj=crast`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Craster Parabolic projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + diff --git a/_sources/operations/projections/denoy.rst.txt b/_sources/operations/projections/denoy.rst.txt new file mode 100644 index 00000000..b2913379 --- /dev/null +++ b/_sources/operations/projections/denoy.rst.txt @@ -0,0 +1,42 @@ +.. _denoy: + +******************************************************************************** +Denoyer Semi-Elliptical +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | denoy | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/denoy.png + :width: 500 px + :align: center + :alt: Denoyer Semi-Elliptical + + proj-string: ``+proj=denoy`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Denoyer Semi-Elliptical projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/eck1.rst.txt b/_sources/operations/projections/eck1.rst.txt new file mode 100644 index 00000000..28359977 --- /dev/null +++ b/_sources/operations/projections/eck1.rst.txt @@ -0,0 +1,49 @@ +.. _eck1: + +******************************************************************************** +Eckert I +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | eck1 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/eck1.png + :width: 500 px + :align: center + :alt: Eckert I + + proj-string: ``+proj=eck1`` + + +.. math:: + + x &= 2 \sqrt{2/3\pi} \lambda (1- |\phi|/\pi) + + y &= 2 \sqrt{2/3\pi}\phi + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Eckert I projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/eck2.rst.txt b/_sources/operations/projections/eck2.rst.txt new file mode 100644 index 00000000..aaa1ccd5 --- /dev/null +++ b/_sources/operations/projections/eck2.rst.txt @@ -0,0 +1,42 @@ +.. _eck2: + +******************************************************************************** +Eckert II +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | eck2 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/eck2.png + :width: 500 px + :align: center + :alt: Eckert II + + proj-string: ``+proj=eck2`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Eckert II projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/eck3.rst.txt b/_sources/operations/projections/eck3.rst.txt new file mode 100644 index 00000000..94ef3a33 --- /dev/null +++ b/_sources/operations/projections/eck3.rst.txt @@ -0,0 +1,42 @@ +.. _eck3: + +******************************************************************************** +Eckert III +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | eck3 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/eck3.png + :width: 500 px + :align: center + :alt: Eckert III + + proj-string: ``+proj=eck3`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Eckert III projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/eck4.rst.txt b/_sources/operations/projections/eck4.rst.txt new file mode 100644 index 00000000..e62a4fd8 --- /dev/null +++ b/_sources/operations/projections/eck4.rst.txt @@ -0,0 +1,49 @@ +.. _eck4: + +******************************************************************************** +Eckert IV +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | eck4 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/eck4.png + :width: 500 px + :align: center + :alt: Eckert IV + + proj-string: ``+proj=eck4`` + +.. math:: + + x = \lambda(1+cos\phi) / \sqrt{ 2 + \pi } + +.. math:: + y = 2 \phi / \sqrt { 2 + \pi } + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Eckert IV projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/eck5.rst.txt b/_sources/operations/projections/eck5.rst.txt new file mode 100644 index 00000000..cfc888ff --- /dev/null +++ b/_sources/operations/projections/eck5.rst.txt @@ -0,0 +1,42 @@ +.. _eck5: + +******************************************************************************** +Eckert V +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | eck5 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/eck5.png + :width: 500 px + :align: center + :alt: Eckert V + + proj-string: ``+proj=eck5`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Eckert V projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/eck6.rst.txt b/_sources/operations/projections/eck6.rst.txt new file mode 100644 index 00000000..1026b555 --- /dev/null +++ b/_sources/operations/projections/eck6.rst.txt @@ -0,0 +1,42 @@ +.. _eck6: + +******************************************************************************** +Eckert VI +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | eck6 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/eck6.png + :width: 500 px + :align: center + :alt: Eckert VI + + proj-string: ``+proj=eck6`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Eckert VI projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/eqc.rst.txt b/_sources/operations/projections/eqc.rst.txt new file mode 100644 index 00000000..964a5f16 --- /dev/null +++ b/_sources/operations/projections/eqc.rst.txt @@ -0,0 +1,131 @@ +.. _eqc: + +******************************************************************************** +Equidistant Cylindrical (Plate Carrée) +******************************************************************************** + +The simplest of all projections. Standard parallels (0° when omitted) may be specified that determine latitude of true scale (k=h=1). + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conformal cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, but best used near the equator | ++---------------------+----------------------------------------------------------+ +| **Alias** | eqc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/eqc.png + :width: 500 px + :align: center + :alt: Equidistant Cylindrical (Plate Carrée) + + proj-string: ``+proj=eqc`` + +Usage +######## + +Because of the distortions introduced by this projection, it has little use in navigation or cadastral mapping and finds its main use in thematic mapping. +In particular, the plate carrée has become a standard for global raster datasets, such as Celestia and NASA World Wind, because of the particularly simple relationship between the position of an image pixel on the map and its corresponding geographic location on Earth. + +The following table gives special cases of the cylindrical equidistant projection. + ++---------------------------------------------------------+--------------------------+ +| Projection Name | (lat ts=) :math:`\phi_0` | ++=========================================================+==========================+ +| Plain/Plane Chart | 0° | ++---------------------------------------------------------+--------------------------+ +| Simple Cylindrical | 0° | ++---------------------------------------------------------+--------------------------+ +| Plate Carrée | 0° | ++---------------------------------------------------------+--------------------------+ +| Ronald Miller—minimum overall scale distortion | 37°30′ | ++---------------------------------------------------------+--------------------------+ +| E.Grafarend and A.Niermann | 42° | ++---------------------------------------------------------+--------------------------+ +| Ronald Miller—minimum continental scale distortion | 43°30′ | ++---------------------------------------------------------+--------------------------+ +| Gall Isographic | 45° | ++---------------------------------------------------------+--------------------------+ +| Ronald Miller Equirectangular | 50°30′ | ++---------------------------------------------------------+--------------------------+ +| E.Grafarend and A.Niermann minimum linear distortion | 61°7′ | ++---------------------------------------------------------+--------------------------+ + + +Example using EPSG 32662 (WGS84 Plate Carrée):: + + $ echo 2 47 | proj +proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +units=m + 222638.98 5232016.07 + +Example using Plate Carrée projection with true scale at latitude 30° and central meridian 90°W:: + + $ echo -88 30 | proj +proj=eqc +lat_ts=30 +lon_0=90w + 192811.01 3339584.72 + +Parameters +################################################################################ + + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/lat_ts.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +Mathematical definition +####################### + +The formulas describing the Equidistant Cylindrical projection are all taken from :cite:`Snyder1987`. + +:math:`\phi_{ts}` is the latitude of true scale, that mean the standard parallels where the scale of the projection is true. It can be set with ``+lat_ts``. + +:math:`\phi_0` is the latitude of origin that match the center of the map. It can be set with ``+lat_0``. + + +Forward projection +================== + +.. math:: + + x = \lambda \cos \phi_{ts} + +.. math:: + + y = \phi - \phi_0 + +Inverse projection +================== + +.. math:: + + \lambda = x / cos \phi_{ts} + +.. math:: + + \phi = y + \phi_0 + + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Equirectangular_projection>`_ +#. `Wolfram Mathworld <http://mathworld.wolfram.com/CylindricalEquidistantProjection.html>`_ + + diff --git a/_sources/operations/projections/eqdc.rst.txt b/_sources/operations/projections/eqdc.rst.txt new file mode 100644 index 00000000..881a9282 --- /dev/null +++ b/_sources/operations/projections/eqdc.rst.txt @@ -0,0 +1,52 @@ +.. _eqdc: + +******************************************************************************** +Equidistant Conic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conic | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | eqdc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/eqdc.png + :width: 500 px + :align: center + :alt: Equidistant Conic + + proj-string: ``+proj=eqdc +lat_1=55 +lat_2=60`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/eqearth.rst.txt b/_sources/operations/projections/eqearth.rst.txt new file mode 100644 index 00000000..bb6d22ce --- /dev/null +++ b/_sources/operations/projections/eqearth.rst.txt @@ -0,0 +1,68 @@ +.. _eqearth: + +******************************************************************************** +Equal Earth +******************************************************************************** + +.. versionadded:: 5.2.0 + ++---------------------+-----------------------------------------------------------+ +| **Classification** | Pseudo cylindrical | ++---------------------+-----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal projection | ++---------------------+-----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+-----------------------------------------------------------+ +| **Alias** | eqearth | ++---------------------+-----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+-----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+-----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+-----------------------------------------------------------+ + + + +.. figure:: ./images/eqearth.png + :width: 500 px + :align: center + :alt: Equal Earth + + proj-string: ``+proj=eqearth`` + + +The Equal Earth projection is intended for making world maps. Equal Earth is a +projection inspired by the Robinson projection, but unlike +the Robinson projection retains the relative size of areas. The projection +was designed in 2018 by Bojan Savric, Tom Patterson and Bernhard Jenny :cite:`Savric2018`. + + +Usage +############################################################################### + +The Equal Earth projection has no special options. Here is +an example of an forward projection on a sphere with a radius of 1 m:: + + $ echo 122 47 | src/proj +proj=eqearth +R=1 + 1.55 0.89 + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Further reading +################################################################################ + +#. Bojan Savric, Tom Patterson & Bernhard Jenny (2018). `The Equal Earth map projection <https://www.researchgate.net/profile/Bojan_Savric2/publication/326879978_The_Equal_Earth_map_projection/links/5b69d0ae299bf14c6d951b77/The-Equal-Earth-map-projection.pdf>`_, International Journal of Geographical Information Science diff --git a/_sources/operations/projections/euler.rst.txt b/_sources/operations/projections/euler.rst.txt new file mode 100644 index 00000000..bac89855 --- /dev/null +++ b/_sources/operations/projections/euler.rst.txt @@ -0,0 +1,51 @@ +.. _euler: + +******************************************************************************** +Euler +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | euler | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/euler.png + :width: 500 px + :align: center + :alt: Euler + + proj-string: ``+proj=euler +lat_1=67 +lat_2=75`` + + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/fahey.rst.txt b/_sources/operations/projections/fahey.rst.txt new file mode 100644 index 00000000..39a7b1be --- /dev/null +++ b/_sources/operations/projections/fahey.rst.txt @@ -0,0 +1,42 @@ +.. _fahey: + +******************************************************************************** +Fahey +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | fahey | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/fahey.png + :width: 500 px + :align: center + :alt: Fahey + + proj-string: ``+proj=fahey`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Fahey projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/fouc.rst.txt b/_sources/operations/projections/fouc.rst.txt new file mode 100644 index 00000000..3bcb3e7d --- /dev/null +++ b/_sources/operations/projections/fouc.rst.txt @@ -0,0 +1,42 @@ +.. _fouc: + +******************************************************************************** +Foucaut +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | fouc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/fouc.png + :width: 500 px + :align: center + :alt: Foucaut + + proj-string: ``+proj=fouc`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Foucaut projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/fouc_s.rst.txt b/_sources/operations/projections/fouc_s.rst.txt new file mode 100644 index 00000000..1938b637 --- /dev/null +++ b/_sources/operations/projections/fouc_s.rst.txt @@ -0,0 +1,63 @@ +.. _fouc_s: + +******************************************************************************** +Foucaut Sinusoidal +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | fouc_s | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/fouc_s.png + :width: 500 px + :align: center + :alt: Foucaut Sinusoidal + + proj-string: ``+proj=fouc_s`` + + +The `y`-axis is based upon a weighted mean of the cylindrical equal-area and +the sinusoidal projections. Parameter :math:`n=n` is the weighting factor where +:math:`0 <= n <= 1`. + +.. math:: + + x &= \lambda \cos \phi / (n + (1 - n) \ cos \phi) + + y &= n \phi + (1 - n) \sin \phi + +For the inverse, the Newton-Raphson method can be used to determine +:math:`\phi` from the equation for :math:`y` above. As :math:`n \rightarrow 0` and +:math:`\phi \rightarrow \pi/2`, convergence is slow but for :math:`n = 0`, :math:`\phi = +\sin^1y` + + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Foucaut Sinusoidal projection. + +.. option:: +n=<value> + + Weighting factor. Value should be in the interval 0-1. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/gall.rst.txt b/_sources/operations/projections/gall.rst.txt new file mode 100644 index 00000000..ba83d450 --- /dev/null +++ b/_sources/operations/projections/gall.rst.txt @@ -0,0 +1,111 @@ +.. _gall: + +******************************************************************************** +Gall (Gall Stereographic) +******************************************************************************** + +The Gall stereographic projection, presented by James Gall in 1855, is a cylindrical projection. +It is neither equal-area nor conformal but instead tries to balance the distortion inherent in any projection. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Transverse and oblique cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, Spherical | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | gall | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/gall.png + :width: 500 px + :align: center + :alt: Gall (Gall Stereographic) + + proj-string: ``+proj=gall`` + +Usage +##### + +The need for a world map which avoids some of the scale exaggeration of the Mercator projection has led to some commonly used cylindrical modifications, as well as to other modifications which are not cylindrical. +The earliest common cylindrical example was developed by James Gall of Edinburgh about 1855 (Gall, 1885, p. 119-123). +His meridians are equally spaced, but the parallels are spaced at increasing intervals away from the Equator. +The parallels of latitude are actually projected onto a cylinder wrapped about the sphere, but cutting it at lats. 45° N. and S., the point of perspective being a point on the Equator opposite the meridian being projected. +It is used in several British atlases, but seldom in the United States. +The Gall projection is neither conformal nor equal-area, but has a blend of various features. +Unlike the Mercator, the Gall shows the poles as lines running across the top and bottom of the map. + +.. note:: + + The Gall projection must not be confused with the Gall-Peters one, the later + being a specialization of :ref:`cea`. + +Example using Gall Stereographic :: + + $ echo 9 51 | proj +proj=gall +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +units=m + 708432.90 5193386.36 + +Example using Gall Stereographic (Central meridian 90°W) :: + + $ echo 9 51 | proj +proj=gall +lon_0=90w +x_0=0 +y_0=0 +ellps=WGS84 +units=m + 7792761.91 5193386.36 + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/ellps.rst + + +Mathematical definition +####################### + +The formulas describing the Gall Stereographic are all taken from :cite:`Snyder1993`. + +Spherical form +************** + +Forward projection +================== + +.. math:: + + x = \frac{\lambda}{\sqrt{2}} + +.. math:: + + y = (1+\frac{\sqrt{2}}{2}) \tan(\phi/2) + +Inverse projection +================== + +.. math:: + + \phi = 2 \arctan( \frac{y}{1+\frac{\sqrt{2}}{2}} ) + +.. math:: + + \lambda = \sqrt{2} x + + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Gall_stereographic_projection>`_ +#. `Cartographic Projection Procedures for the UNIX Environment-A User's Manual <http://sites.lsa.umich.edu/zhukov/wp-content/uploads/sites/140/2014/08/projection-procedures.pdf>`_ diff --git a/_sources/operations/projections/geos.rst.txt b/_sources/operations/projections/geos.rst.txt new file mode 100644 index 00000000..9b8bf21b --- /dev/null +++ b/_sources/operations/projections/geos.rst.txt @@ -0,0 +1,103 @@ +.. _geos: + +******************************************************************************** +Geostationary Satellite View +******************************************************************************** + +The geos projection pictures how a geostationary satellite scans the earth at regular +scanning angle intervals. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | geos | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/geos.png + :width: 500 px + :align: center + :alt: Geostationary Satellite View + + proj-string: ``+proj=geos +h=35785831.0 +lon_0=-60 +sweep=y`` + +Usage +############################################################################### + +In order to project using the geos projection you can do the following:: + + proj +proj=geos +h=35785831.0 + +The required argument ``h`` is the viewing point (satellite position) height above +the earth. + +The projection coordinate relate to the scanning angle by the following simple +relation:: + + scanning_angle (radians) = projection_coordinate / h + + +Note on sweep angle +------------------------------------------------------------------------------- + +The viewing instrument on-board geostationary satellites described by this +projection have a two-axis gimbal viewing geometry. This means that the different +scanning positions are obtained by rotating the gimbal along a N/S axis (or ``y``) +and a E/W axis (or ``x``). + +.. image:: ../../..//images/geos_sweep.png + :width: 500 px + :align: center + :alt: Gimbal geometry + +In the image above, the outer-gimbal axis, or sweep-angle axis, is the N/S axis (``y``) +while the inner-gimbal axis, or fixed-angle axis, is the E/W axis (``x``). + +This example represents the scanning geometry of the Meteosat series satellite. +However, the GOES satellite series use the opposite scanning geometry, with the +E/W axis (``x``) as the sweep-angle axis, and the N/S (``y``) as the fixed-angle axis. + +The sweep argument is used to tell PROJ which on which axis the outer-gimbal +is rotating. The possible values are x or y, y being the default. Thus, the +scanning geometry of the Meteosat series satellite should take sweep as y, and +GOES should take sweep as x. + +Parameters +################################################################################ + +Required +------------------------------------------------------------------------------- + +.. include:: ../options/h.rst + + +Optional +------------------------------------------------------------------------------- + +.. option:: +sweep=<axis> + + Sweep angle axis of the viewing instrument. Valid options are *"x"* and *"y*". + + *Defaults to "y".* + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + + diff --git a/_sources/operations/projections/gins8.rst.txt b/_sources/operations/projections/gins8.rst.txt new file mode 100644 index 00000000..07c26912 --- /dev/null +++ b/_sources/operations/projections/gins8.rst.txt @@ -0,0 +1,42 @@ +.. _gins8: + +******************************************************************************** +Ginsburg VIII (TsNIIGAiK) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | gins8 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/gins8.png + :width: 500 px + :align: center + :alt: Ginsburg VIII (TsNIIGAiK) + + proj-string: ``+proj=gins8`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Ginsburg VIII projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/gn_sinu.rst.txt b/_sources/operations/projections/gn_sinu.rst.txt new file mode 100644 index 00000000..a42e1d14 --- /dev/null +++ b/_sources/operations/projections/gn_sinu.rst.txt @@ -0,0 +1,43 @@ +.. _gn_sinu: + +******************************************************************************** +General Sinusoidal Series +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | gn_sinu | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/gn_sinu.png + :width: 500 px + :align: center + :alt: General Sinusoidal Series + + proj-string: ``+proj=gn_sinu +m=2 +n=3`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the General Sinusoidal Series + projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/gnom.rst.txt b/_sources/operations/projections/gnom.rst.txt new file mode 100644 index 00000000..1bbb5034 --- /dev/null +++ b/_sources/operations/projections/gnom.rst.txt @@ -0,0 +1,44 @@ +.. _gnom: + +******************************************************************************** +Gnomonic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | gnom | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/gnom.png + :width: 500 px + :align: center + :alt: Gnomonic + + proj-string: ``+proj=gnom +lat_0=90 +lon_0=-50`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Gnomonic projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/goode.rst.txt b/_sources/operations/projections/goode.rst.txt new file mode 100644 index 00000000..55f0f370 --- /dev/null +++ b/_sources/operations/projections/goode.rst.txt @@ -0,0 +1,42 @@ +.. _goode: + +******************************************************************************** +Goode Homolosine +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | goode | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/goode.png + :width: 500 px + :align: center + :alt: Goode Homolosine + + proj-string: ``+proj=goode`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Goode Homolosine projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/gs48.rst.txt b/_sources/operations/projections/gs48.rst.txt new file mode 100644 index 00000000..b8088fb4 --- /dev/null +++ b/_sources/operations/projections/gs48.rst.txt @@ -0,0 +1,40 @@ +.. _gs48: + +******************************************************************************** +Modified Stereographic of 48 U.S. +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | The lower 48 states of the U.S. | ++---------------------+----------------------------------------------------------+ +| **Alias** | gs48 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/gs48.png + :width: 500 px + :align: center + :alt: Modified Stereographic of 48 U.S. + + proj-string: ``+proj=gs48`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/ellps.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/gs50.rst.txt b/_sources/operations/projections/gs50.rst.txt new file mode 100644 index 00000000..a5694f94 --- /dev/null +++ b/_sources/operations/projections/gs50.rst.txt @@ -0,0 +1,40 @@ +.. _gs50: + +******************************************************************************** +Modified Stereographic of 50 U.S. +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | All 50 states of the U.S. | ++---------------------+----------------------------------------------------------+ +| **Alias** | gs50 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/gs50.png + :width: 500 px + :align: center + :alt: Modified Stereographic of 50 U.S. + + proj-string: ``+proj=gs50`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/ellps.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/gstmerc.rst.txt b/_sources/operations/projections/gstmerc.rst.txt new file mode 100644 index 00000000..33c68eff --- /dev/null +++ b/_sources/operations/projections/gstmerc.rst.txt @@ -0,0 +1,48 @@ +.. _gstmerc: + +******************************************************************************** +Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conformal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | gstmerc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/gstmerc.png + :width: 500 px + :align: center + :alt: Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) + + proj-string: ``+proj=gstmerc`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/k_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/guyou.rst.txt b/_sources/operations/projections/guyou.rst.txt new file mode 100644 index 00000000..89d455be --- /dev/null +++ b/_sources/operations/projections/guyou.rst.txt @@ -0,0 +1,42 @@ +.. _guyou: + +******************************************************************************** +Guyou +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | guyou | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/guyou.png + :width: 500 px + :align: center + :alt: Guyou + + proj-string: ``+proj=guyou`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/hammer.rst.txt b/_sources/operations/projections/hammer.rst.txt new file mode 100644 index 00000000..c3551d0c --- /dev/null +++ b/_sources/operations/projections/hammer.rst.txt @@ -0,0 +1,55 @@ +.. _hammer: + +******************************************************************************** +Hammer & Eckert-Greifendorff +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | hammer | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/hammer.png + :width: 500 px + :align: center + :alt: Hammer & Eckert-Greifendorff + + proj-string: ``+proj=hammer`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. option:: +W=<value> + + Set to 0.5 for the Hammer projection and 0.25 for the Eckert-Greifendorff + projection. :option:`+W` has to be larger than zero. + + *Defaults to 0.5.* + +.. option:: +M=<value> + + :option:`+M` has to be larger than zero. + + *Defaults to 1.0.* + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/hatano.rst.txt b/_sources/operations/projections/hatano.rst.txt new file mode 100644 index 00000000..35bc32c3 --- /dev/null +++ b/_sources/operations/projections/hatano.rst.txt @@ -0,0 +1,84 @@ +.. _hatano: + +******************************************************************************** +Hatano Asymmetrical Equal Area +******************************************************************************** + + + + ++---------------------+----------------------------------------------------------+ +| **Classification** | :term:`Pseudocylindrical Projection` | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | hatano | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + + +.. figure:: ./images/hatano.png + :width: 500 px + :align: center + :alt: Hatano Asymmetrical Equal Area + + proj-string: ``+proj=hatano`` + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + + +Mathematical Definition +-------------------------------------------------------------------------------- + +Forward +................................................................................ + +.. math:: + + x &= 0.85\lambda \cos \theta + + y &= C_y \sin \theta + + P(\theta) &= 2\theta + \sin 2\theta - C_p \sin \phi + + P'(\theta) &= 2(1 + \cos 2\theta) + + \theta_0 &= 2\phi + + +==================================== ================== =================== +Condition :math:`C_y` :math:`C_p` +==================================== ================== =================== +For :math:`\phi > 0` 1.75859 2.67595 +For :math:`\phi < 0` 1.93052 2.43763 +==================================== ================== =================== + +For :math:`\phi = 0`, :math:`y \leftarrow 0`, and :math:`x \leftarrow 0.85\lambda`. + +Further reading +-------------------------------------------------------------------------------- + +#. `Compare Map Projections <http://map-projections.net/single-view/hatano>`__ +#. `Mathworks <http://www.mathworks.com/help/map/hatano.html>`__ + + + diff --git a/_sources/operations/projections/healpix.rst.txt b/_sources/operations/projections/healpix.rst.txt new file mode 100644 index 00000000..41bc10db --- /dev/null +++ b/_sources/operations/projections/healpix.rst.txt @@ -0,0 +1,77 @@ +.. _healpix: + +******************************************************************************** +HEALPix +******************************************************************************** ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | healpix | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. image:: ../../../images/healpix.png + :scale: 75% + :alt: HEALPix + +The HEALPix projection is area preserving and can be used with a spherical and +ellipsoidal model. It was initially developed for mapping cosmic background +microwave radiation. The image below is the graphical representation of the +mapping and consists of eight isomorphic triangular interrupted map graticules. +The north and south contains four in which straight meridians converge polewards +to a point and unequally spaced horizontal parallels. HEALPix provides a mapping +in which points of equal latitude and equally spaced longitude are mapped to points +of equal latitude and equally spaced longitude with the module of the polar +interruptions. + + +Usage +############################################################################### + +To run a forward HEALPix projection on a unit sphere model, use the following command:: + + proj +proj=healpix +lon_0=0 +a=1 -E <<EOF + 0 0 + EOF + # output + 0 0 0.00 0.00 + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. option:: +rot_xy + + .. versionadded:: 6.3.0 + + Rotation of the HEALPix map in degrees. A positive value results in a clockwise + rotation around (x_0, y_0) in the cartesian / projected coordinate space. + + *Defaults to 0.0.* + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +Further reading +################################################################################ + +#. `NASA <http://healpix.jpl.nasa.gov/>`_ +#. `Wikipedia <https://en.wikipedia.org/wiki/HEALPix>`_ diff --git a/_sources/operations/projections/igh.rst.txt b/_sources/operations/projections/igh.rst.txt new file mode 100644 index 00000000..5e7df9a9 --- /dev/null +++ b/_sources/operations/projections/igh.rst.txt @@ -0,0 +1,42 @@ +.. _igh: + +******************************************************************************** +Interrupted Goode Homolosine +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | igh | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/igh.png + :width: 500 px + :align: center + :alt: Interrupted Goode Homolosine + + proj-string: ``+proj=igh`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/igh_o.rst.txt b/_sources/operations/projections/igh_o.rst.txt new file mode 100644 index 00000000..2df7223a --- /dev/null +++ b/_sources/operations/projections/igh_o.rst.txt @@ -0,0 +1,42 @@ +.. _igh_o: + +******************************************************************************** +Interrupted Goode Homolosine (Oceanic View) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | igh_o | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/igh_o.png + :width: 500 px + :align: center + :alt: Interrupted Goode Homolosine + + proj-string: ``+proj=igh_o +lon_0=-160`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. A value of +lon_0=-160 is recommended. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/imw_p.rst.txt b/_sources/operations/projections/imw_p.rst.txt new file mode 100644 index 00000000..1dad270e --- /dev/null +++ b/_sources/operations/projections/imw_p.rst.txt @@ -0,0 +1,50 @@ +.. _imw_p: + +******************************************************************************** +International Map of the World Polyconic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudoconical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | imw_p | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/imw_p.png + :width: 500 px + :align: center + :alt: International Map of the World Polyconic + + proj-string: ``+proj=imw_p +lat_1=30 +lat_2=-40`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/index.rst.txt b/_sources/operations/projections/index.rst.txt new file mode 100644 index 00000000..4f76dab2 --- /dev/null +++ b/_sources/operations/projections/index.rst.txt @@ -0,0 +1,164 @@ +.. _projections: + +================================================================================ +Projections +================================================================================ + +Projections are coordinate operations that are technically conversions but since +projections are so fundamental to PROJ we differentiate them from conversions. + +Projections map the spherical 3D space to a flat 2D space. + +.. toctree:: + :maxdepth: 1 + + adams_hemi + adams_ws1 + adams_ws2 + aea + aeqd + airy + aitoff + alsk + apian + august + bacon + bertin1953 + bipc + boggs + bonne + calcofi + cass + cc + ccon + cea + chamb + collg + col_urban + comill + crast + denoy + eck1 + eck2 + eck3 + eck4 + eck5 + eck6 + eqc + eqdc + eqearth + euler + fahey + fouc + fouc_s + gall + geos + gins8 + gn_sinu + gnom + goode + gs48 + gs50 + guyou + hammer + hatano + healpix + rhealpix + igh + igh_o + imw_p + isea + kav5 + kav7 + krovak + labrd + laea + lagrng + larr + lask + lcc + lcca + leac + lee_os + loxim + lsat + mbt_s + mbt_fps + mbtfpp + mbtfpq + mbtfps + merc + mil_os + mill + misrsom + moll + murd1 + murd2 + murd3 + natearth + natearth2 + nell + nell_h + nicol + nsper + nzmg + ob_tran + ocea + oea + omerc + ortel + ortho + patterson + pconic + peirce_q + poly + putp1 + putp2 + putp3 + putp3p + putp4p + putp5 + putp5p + putp6 + putp6p + qua_aut + qsc + robin + rouss + rpoly + s2 + sch + sinu + somerc + stere + sterea + gstmerc + tcc + tcea + times + tissot + tmerc + tobmerc + tpeqd + tpers + ups + urm5 + urmfps + utm + vandg + vandg2 + vandg3 + vandg4 + vitk1 + wag1 + wag2 + wag3 + wag4 + wag5 + wag6 + wag7 + webmerc + weren + wink1 + wink2 + wintri diff --git a/_sources/operations/projections/isea.rst.txt b/_sources/operations/projections/isea.rst.txt new file mode 100644 index 00000000..73f0af7a --- /dev/null +++ b/_sources/operations/projections/isea.rst.txt @@ -0,0 +1,78 @@ +.. _isea: + +******************************************************************************** +Icosahedral Snyder Equal Area +******************************************************************************** + +Snyder's Icosahedral Equal Area map projections on polyhedral globes for the +dodecahedron and truncated icosahedron offer relatively low scale and +angular distortion. The equations involved are relatively straight-forward, +and for certain instructional tools and databases, the projections are useful +for world maps. The interruptions remain a disadvantage, as with any low-error +projection system applied to the entire globe :cite:`Snyder1992`. + + ++---------------------+----------------------------------------------------------+ +| **Classification** | Polyhedral, equal area | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward, spherical | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | isea | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/isea.png + :width: 500 px + :align: center + :alt: Icosahedral Snyder Equal Area + + proj-string: ``+proj=isea`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. option:: +orient=<string> + + Can be set to either ``isea`` or ``pole``. See Snyder's Figure 12 for pole orientation :cite:`Snyder1992`. + + *Defaults to isea* + +.. option:: +azi=<value> + + Azimuth. + + *Defaults to 0.0* + +.. option:: +aperture=<value> + + *Defaults to 3.0* + +.. option:: +resolution=<value> + + *Defaults to 4.0* + +.. option:: +mode=<string> + + Can be either ``plane``, ``di``, ``dd`` or ``hex``. + + *Defaults to plane* + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/kav5.rst.txt b/_sources/operations/projections/kav5.rst.txt new file mode 100644 index 00000000..0025260b --- /dev/null +++ b/_sources/operations/projections/kav5.rst.txt @@ -0,0 +1,46 @@ +.. _kav5: + +******************************************************************************** +Kavrayskiy V +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | kav5 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/kav5.png + :width: 500 px + :align: center + :alt: Kavrayskiy V + + proj-string: ``+proj=kav5`` + +.. note:: This projection name may also be transliterated as Kavraisky V. + +Created by Soviet cartographer Vladimir V. Kavrayskiy in 1933 :cite:`Snyder1993`. + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Kavrayskiy V projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/kav7.rst.txt b/_sources/operations/projections/kav7.rst.txt new file mode 100644 index 00000000..1808f4ca --- /dev/null +++ b/_sources/operations/projections/kav7.rst.txt @@ -0,0 +1,46 @@ +.. _kav7: + +******************************************************************************** +Kavrayskiy VII +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | kav7 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/kav7.png + :width: 500 px + :align: center + :alt: Kavrayskiy VII + + proj-string: ``+proj=kav7`` + +.. note:: This projection name may also be transliterated as Kavraisky VII. + +Created by Soviet cartographer Vladimir V. Kavrayskiy in 1939 :cite:`Snyder1993`. + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Kavrayskiy VII projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/krovak.rst.txt b/_sources/operations/projections/krovak.rst.txt new file mode 100644 index 00000000..59f66b04 --- /dev/null +++ b/_sources/operations/projections/krovak.rst.txt @@ -0,0 +1,64 @@ +.. _krovak: + +******************************************************************************** +Krovak +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, but more accurate around Czechoslovakia | ++---------------------+----------------------------------------------------------+ +| **Alias** | krovak | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/krovak.png + :width: 500 px + :align: center + :alt: Krovak + + proj-string: ``+proj=krovak`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Krovak projection. + + The latitude of pseudo standard parallel is hardcoded to 78.5° and + the ellipsoid to Bessel. + +.. option:: +czech + + Reverse the sign of the output coordinates, as is tradition in the + Czech Republic. + +.. option:: +lon_0=<value> + + Longitude of projection center. + + *Defaults to 24°50' (24.8333333333333)* + +.. option:: +lat_0=<value> + + Latitude of projection center. + + *Defaults to 49.5* + +.. option:: +k_0=<value> + + Scale factor. Determines scale factor used in the projection. + + *Defaults to 0.9999* + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/labrd.rst.txt b/_sources/operations/projections/labrd.rst.txt new file mode 100644 index 00000000..c91e38b7 --- /dev/null +++ b/_sources/operations/projections/labrd.rst.txt @@ -0,0 +1,57 @@ +.. _labrd: + +******************************************************************************** +Laborde +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, but more accurate around Madagascar | ++---------------------+----------------------------------------------------------+ +| **Alias** | labrd | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/labrd.png + :width: 500 px + :align: center + :alt: Laborde + + proj-string: ``+proj=labrd +lon_0=40 +lat_0=-10`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. option:: +lat_0=<value> + + Latitude of projection center. Must not be zero. + + +Optional +-------------------------------------------------------------------------------- + +.. option:: +azi=<value> + + Azimuth of the central line. + + *Defaults to 0.0* + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/laea.rst.txt b/_sources/operations/projections/laea.rst.txt new file mode 100644 index 00000000..5434564c --- /dev/null +++ b/_sources/operations/projections/laea.rst.txt @@ -0,0 +1,46 @@ +.. _laea: + +******************************************************************************** +Lambert Azimuthal Equal Area +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | laea | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/laea.png + :width: 500 px + :align: center + :alt: Lambert Azimuthal Equal Area + + proj-string: ``+proj=laea`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/lagrng.rst.txt b/_sources/operations/projections/lagrng.rst.txt new file mode 100644 index 00000000..b96fcd32 --- /dev/null +++ b/_sources/operations/projections/lagrng.rst.txt @@ -0,0 +1,54 @@ +.. _lagrng: + +******************************************************************************** +Lagrange +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | lagrng | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/lagrng.png + :width: 500 px + :align: center + :alt: Lagrange + + proj-string: ``+proj=lagrng`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. option:: +W=<value> + + The factor :option:`+W` is the ratio of the difference in longitude from the + central meridian to the a circular meridian to 90. :option:`+W` must be a + positive value. + + *Defaults to 2.0* + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_1.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/larr.rst.txt b/_sources/operations/projections/larr.rst.txt new file mode 100644 index 00000000..edcf146b --- /dev/null +++ b/_sources/operations/projections/larr.rst.txt @@ -0,0 +1,42 @@ +.. _larr: + +******************************************************************************** +Larrivee +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | larr | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/larr.png + :width: 500 px + :align: center + :alt: Larrivee + + proj-string: ``+proj=larr`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Larrivee projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/lask.rst.txt b/_sources/operations/projections/lask.rst.txt new file mode 100644 index 00000000..a4f9a5db --- /dev/null +++ b/_sources/operations/projections/lask.rst.txt @@ -0,0 +1,42 @@ +.. _lask: + +******************************************************************************** +Laskowski +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | lask | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/lask.png + :width: 500 px + :align: center + :alt: Laskowski + + proj-string: ``+proj=lask`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/lcc.rst.txt b/_sources/operations/projections/lcc.rst.txt new file mode 100644 index 00000000..bf15d76a --- /dev/null +++ b/_sources/operations/projections/lcc.rst.txt @@ -0,0 +1,88 @@ +.. _lcc: + +******************************************************************************** +Lambert Conformal Conic +******************************************************************************** + +A Lambert Conformal Conic projection (LCC) is a conic map projection +used for aeronautical charts, portions of the State Plane Coordinate +System, and many national and regional mapping systems. It is one of +seven projections introduced by Johann Heinrich Lambert in 1772. + +It has several different forms: with one and two standard parallels +(referred to as 1SP and 2SP in EPSG guidance notes). Additionally we +provide "2SP Michigan" form which is very similar to normal 2SP, but +with a scaling factor on the ellipsoid (given as `k_0` parameter). +It is implemented as per EPSG Guidance Note 7-2 (version 54, August +2018, page 25). It is used in a few systems in the EPSG database which +justifies adding this otherwise non-standard projection. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conformal conic | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal .| +| | One or two standard parallels (1SP and 2SP). | +| | "LCC 2SP Michigan" form can be used by setting | +| | ``+k_0`` parameter to specify ellipsoid scale. | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Best for regions predominantly east–west in extent and | +| | located in the middle north or south latitudes. | ++---------------------+----------------------------------------------------------+ +| **Alias** | lcc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ./images/lcc.png + :width: 500 px + :align: center + :alt: Lambert Conformal Conic + + proj-string: ``+proj=lcc +lon_0=-90 +lat_1=33 +lat_2=45`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/lat_2.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. option:: +k_0=<value> + + This parameter can represent two different values depending on the + form of the projection. In LCC 1SP it determines the scale factor + at natural origin. In LCC 2SP Michigan it determines the ellipsoid + scale factor. + + *Defaults to 1.0.* + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Lambert_conformal_conic_projection>`_ +#. `Wolfram Mathworld <http://mathworld.wolfram.com/LambertConformalConicProjection.html>`_ +#. `John P. Snyder "Map projections: A working manual" (pp. 104-110) <https://pubs.er.usgs.gov/publication/pp1395>`_ +#. `ArcGIS documentation on "Lambert Conformal Conic" <http://desktop.arcgis.com/en/arcmap/10.3/guide-books/map-projections/lambert-conformal-conic.htm>`_ +#. `EPSG Guidance Note 7-2 (version 54, August 2018, page 25) <http://www.epsg.org/Guidancenotes.aspx>`_ diff --git a/_sources/operations/projections/lcca.rst.txt b/_sources/operations/projections/lcca.rst.txt new file mode 100644 index 00000000..f97c81b4 --- /dev/null +++ b/_sources/operations/projections/lcca.rst.txt @@ -0,0 +1,46 @@ +.. _lcca: + +******************************************************************************** +Lambert Conformal Conic Alternative +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | lcca | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/lcca.png + :width: 500 px + :align: center + :alt: Lambert Conformal Conic Alternative + + proj-string: ``+proj=lcca +lat_0=35`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/leac.rst.txt b/_sources/operations/projections/leac.rst.txt new file mode 100644 index 00000000..7cc0f2d2 --- /dev/null +++ b/_sources/operations/projections/leac.rst.txt @@ -0,0 +1,53 @@ +.. _leac: + +******************************************************************************** +Lambert Equal Area Conic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | leac | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/leac.png + :width: 500 px + :align: center + :alt: Lambert Equal Area Conic + + proj-string: ``+proj=leac`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Lambert Equal Area Conic + projection. + +.. include:: ../options/lat_1.rst + +.. option:: +south + + Sets the second standard parallel to 90°S. When the flag is off the second + standard parallel is set to 90°N. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + diff --git a/_sources/operations/projections/lee_os.rst.txt b/_sources/operations/projections/lee_os.rst.txt new file mode 100644 index 00000000..3f9248ac --- /dev/null +++ b/_sources/operations/projections/lee_os.rst.txt @@ -0,0 +1,40 @@ +.. _lee_os: + +******************************************************************************** +Lee Oblated Stereographic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | lee_os | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/lee_os.png + :width: 500 px + :align: center + :alt: Lee Oblated Stereographic + + proj-string: ``+proj=lee_os`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/ellps.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/loxim.rst.txt b/_sources/operations/projections/loxim.rst.txt new file mode 100644 index 00000000..9813b6e6 --- /dev/null +++ b/_sources/operations/projections/loxim.rst.txt @@ -0,0 +1,44 @@ +.. _loxim: + +******************************************************************************** +Loximuthal +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | loxim | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/loxim.png + :width: 500 px + :align: center + :alt: Loximuthal + + proj-string: ``+proj=loxim`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Loximuthal projection. + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/lsat.rst.txt b/_sources/operations/projections/lsat.rst.txt new file mode 100644 index 00000000..d7b545a8 --- /dev/null +++ b/_sources/operations/projections/lsat.rst.txt @@ -0,0 +1,58 @@ +.. _lsat: + +******************************************************************************** +Space oblique for LANDSAT +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | lsat | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/lsat.png + :width: 500 px + :align: center + :alt: Space oblique for LANDSAT + + proj-string: ``+proj=lsat +ellps=GRS80 +lat_1=-60 +lat_2=60 +lsat=2 +path=2`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. option:: +lsat=<value> + + Landsat satellite used for the projection. Value between 1 and 5. + +.. option:: +path=<value> + + Selected path of satellite. Value between 1 and 253 when :option:`+lsat` is + set to 1,2 or 3, otherwise valid input is between 1 and 233. + + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/mbt_fps.rst.txt b/_sources/operations/projections/mbt_fps.rst.txt new file mode 100644 index 00000000..614c514a --- /dev/null +++ b/_sources/operations/projections/mbt_fps.rst.txt @@ -0,0 +1,42 @@ +.. _mbt_fps: + +******************************************************************************** +McBryde-Thomas Flat-Pole Sine (No. 2) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | mbt_fps | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/mbt_fps.png + :width: 500 px + :align: center + :alt: McBryde-Thomas Flat-Pole Sine (No. 2) + + proj-string: ``+proj=mbt_fps`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/mbt_s.rst.txt b/_sources/operations/projections/mbt_s.rst.txt new file mode 100644 index 00000000..300c2749 --- /dev/null +++ b/_sources/operations/projections/mbt_s.rst.txt @@ -0,0 +1,43 @@ +.. _mbt_s: + +******************************************************************************** +McBryde-Thomas Flat-Polar Sine (No. 1) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | mbt_s | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/mbt_s.png + :width: 500 px + :align: center + :alt: McBryde-Thomas Flat-Polar Sine (No. 1) + + proj-string: ``+proj=mbt_s`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the McBryde-Thomas Flat-Polar Sine + projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/mbtfpp.rst.txt b/_sources/operations/projections/mbtfpp.rst.txt new file mode 100644 index 00000000..ec83d5f5 --- /dev/null +++ b/_sources/operations/projections/mbtfpp.rst.txt @@ -0,0 +1,42 @@ +.. _mbtfpp: + +******************************************************************************** +McBride-Thomas Flat-Polar Parabolic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | mbtfpp | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/mbtfpp.png + :width: 500 px + :align: center + :alt: McBride-Thomas Flat-Polar Parabolic + + proj-string: ``+proj=mbtfpp`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/mbtfpq.rst.txt b/_sources/operations/projections/mbtfpq.rst.txt new file mode 100644 index 00000000..4ed23e28 --- /dev/null +++ b/_sources/operations/projections/mbtfpq.rst.txt @@ -0,0 +1,42 @@ +.. _mbtfpq: + +******************************************************************************** +McBryde-Thomas Flat-Polar Quartic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | mbtfpq | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/mbtfpq.png + :width: 500 px + :align: center + :alt: McBryde-Thomas Flat-Polar Quartic + + proj-string: ``+proj=mbtfpq`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/mbtfps.rst.txt b/_sources/operations/projections/mbtfps.rst.txt new file mode 100644 index 00000000..34217e71 --- /dev/null +++ b/_sources/operations/projections/mbtfps.rst.txt @@ -0,0 +1,43 @@ +.. _mbtfps: + +******************************************************************************** +McBryde-Thomas Flat-Polar Sinusoidal +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | mbtfps | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/mbtfps.png + :width: 500 px + :align: center + :alt: McBryde-Thomas Flat-Polar Sinusoidal + + proj-string: ``+proj=mbtfps`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the McBryde-Thomas Flat-Polar + Sinusoidal projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/merc.rst.txt b/_sources/operations/projections/merc.rst.txt new file mode 100644 index 00000000..6eae9d36 --- /dev/null +++ b/_sources/operations/projections/merc.rst.txt @@ -0,0 +1,197 @@ +.. _merc: + +******************************************************************************** +Mercator +******************************************************************************** + +The Mercator projection is a cylindrical map projection that origins +from the 16th century. It is widely recognized as the first regularly +used map projection. It is a conformal projection in which the equator +projects to a straight line at constant scale. The projection has the +property that a rhumb line, a course of constant heading, projects to a +straight line. This makes it suitable for navigational purposes. + + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conformal cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, but best used near the equator | ++---------------------+----------------------------------------------------------+ +| **Alias** | merc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ./images/merc.png + :width: 500 px + :align: center + :alt: Mercator + + proj-string: ``+proj=merc`` + +Usage +######## + +Applications should be limited to equatorial regions, but is frequently +used for navigational charts with latitude of true scale (:option:`+lat_ts`) specified within +or near chart's boundaries. +It is considered to be inappropriate for world maps because of the gross +distortions in area; for example the projected area of Greenland is +larger than that of South America, despite the fact that Greenland's +area is :math:`\frac18` that of South America :cite:`Snyder1987`. + + +Example using latitude of true scale:: + + $ echo 56.35 12.32 | proj +proj=merc +lat_ts=56.5 + 3470306.37 759599.90 + +Example using scaling factor:: + + echo 56.35 12.32 | proj +proj=merc +k_0=2 + 12545706.61 2746073.80 + + +Note that :option:`+lat_ts` and :option:`+k_0` are mutually exclusive. +If used together, :option:`+lat_ts` takes precedence over :option:`+k_0`. + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lat_ts.rst + +.. include:: ../options/k_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +Mathematical definition +####################### + +Spherical form +************** +For the spherical form of the projection we introduce the scaling factor: + +.. math:: + + k_0 = \cos \phi_{ts} + +Forward projection +================== + +.. math:: + + x = k_0R \lambda; \qquad y = k_0R \psi + +.. math:: + + \psi &= \ln \tan \biggl(\frac{\pi}{4} + \frac{\phi}{2} \biggr)\\ + &= \sinh^{-1}\tan\phi + +The quantity :math:`\psi` is the isometric latitude. + + +Inverse projection +================== + +.. math:: + + \lambda = \frac{x}{k_0R}; \qquad \psi = \frac{y}{k_0R} + +.. math:: + + \phi &= \frac{\pi}{2} - 2 \tan^{-1} \exp(-\psi)\\ + &= \tan^{-1}\sinh\psi + + +Ellipsoidal form +**************** + +For the ellipsoidal form of the projection we introduce the scaling factor: + +.. math:: + + k_0 = m( \phi_{ts} ) + +where + +.. math:: + + m(\phi) = \frac{\cos\phi}{\sqrt{1 - e^2\sin^2\phi}} + +:math:`a\,m(\phi)` is the radius of the circle of latitude :math:`\phi`. + +Forward projection +================== +.. math:: + + x = k_0 a \lambda; \qquad y = k_0 a \psi + +.. math:: + + \psi &= \ln\tan\biggl(\frac\pi4 + \frac{\phi}2\biggr) + -\frac12 e + \ln \biggl(\frac{1 + e \sin\phi}{1 - e \sin\phi}\biggr)\\ + &= \sinh^{-1}\tan\phi - e \tanh^{-1}(e \sin\phi) + + +Inverse projection +================== + +.. math:: + + \lambda = \frac{x}{k_0 a}; \quad \psi = \frac{y}{k_0 a} + +The latitude :math:`\phi` is found by inverting the equation for +:math:`\psi`. This follows the method given by :cite:`Karney2011tm`. +Start by introducing the conformal latitude + +.. math:: + \chi = \tan^{-1}\sinh\psi + +The tangents of the latitudes :math:`\tau = \tan\phi` and :math:`\tau' = +\tan\chi = \sinh\psi` are related by + +.. math:: + \tau' = \tau \sqrt{1 + \sigma^2} - \sigma \sqrt{1 + \tau^2} + +where + +.. math:: + \sigma = \sinh\bigl(e \tanh^{-1}(e \tau/\sqrt{1 + \tau^2}) \bigr) + +This is obtained by taking the :math:`\sinh` of the equation for +:math:`\psi` and using the multiple argument formula. The equation for +:math:`\tau'` can be solved to give :math:`\tau` using Newton's method +using :math:`\tau = \tau'/(1 - e^2)` as an initial guess and with the +needed derivative given by + +.. math:: + \frac{d\tau'}{d\tau} = \frac{1 - e^2}{1 + (1 - e^2)\tau^2} + \sqrt{1 + \tau'^2} \sqrt{1 + \tau^2} + +This converges after no more than 2 iterations. Finally set +:math:`\phi=\tan^{-1}\tau`. + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Mercator_projection>`_ +#. `Wolfram Mathworld <http://mathworld.wolfram.com/MercatorProjection.html>`_ + + diff --git a/_sources/operations/projections/mil_os.rst.txt b/_sources/operations/projections/mil_os.rst.txt new file mode 100644 index 00000000..dbf8488f --- /dev/null +++ b/_sources/operations/projections/mil_os.rst.txt @@ -0,0 +1,40 @@ +.. _mil_os: + +******************************************************************************** +Miller Oblated Stereographic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | mil_os | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/mil_os.png + :width: 500 px + :align: center + :alt: Miller Oblated Stereographic + + proj-string: ``+proj=mil_os`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/ellps.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/mill.rst.txt b/_sources/operations/projections/mill.rst.txt new file mode 100644 index 00000000..83447ad5 --- /dev/null +++ b/_sources/operations/projections/mill.rst.txt @@ -0,0 +1,91 @@ +.. _mill: + +******************************************************************************** +Miller Cylindrical +******************************************************************************** + +The Miller cylindrical projection is a modified Mercator projection, proposed by Osborn Maitland Miller in 1942. +The latitude is scaled by a factor of :math:`\frac{4}{5}`, projected according to Mercator, and then the result is multiplied by :math:`\frac{5}{4}` to retain scale along the equator. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Neither conformal nor equal area cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse spherical | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, but best used near the equator | ++---------------------+----------------------------------------------------------+ +| **Alias** | mill | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/mill.png + :width: 500 px + :align: center + :alt: Miller Cylindrical + + proj-string: ``+proj=mill`` + +Usage +######## + +The Miller Cylindrical projection is used for world maps and in several atlases, +including the National Atlas of the United States (USGS, 1970, p. 330-331) :cite:`Snyder1987`. + +Example using Central meridian 90°W:: + + $ echo -100 35 | proj +proj=mill +lon_0=90w + -1113194.91 4061217.24 + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Mathematical definition +####################### + +The formulas describing the Miller projection are all taken from :cite:`Snyder1987`. + + +Forward projection +================== + +.. math:: + + x = \lambda + +.. math:: + + y = 1.25 * \ln \left[ \tan \left(\frac{\pi}{4} + 0.4 * \phi \right) \right] + + +Inverse projection +================== + +.. math:: + + \lambda = x + +.. math:: + + \phi = 2.5 * ( \arctan \left[ e^{0.8 * y} \right] - \frac{\pi}{4} ) + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Miller_cylindrical_projection>`_ + diff --git a/_sources/operations/projections/misrsom.rst.txt b/_sources/operations/projections/misrsom.rst.txt new file mode 100644 index 00000000..f04af6b3 --- /dev/null +++ b/_sources/operations/projections/misrsom.rst.txt @@ -0,0 +1,53 @@ +.. _misrsom: + +******************************************************************************** +Space oblique for MISR +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conformal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | misrsom | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/misrsom.png + :width: 500 px + :align: center + :alt: Space oblique for MISR + + proj-string: ``+proj=misrsom +path=1`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. option:: +path=<value> + + Selected path of satellite. Value between 1 and 233. + + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/moll.rst.txt b/_sources/operations/projections/moll.rst.txt new file mode 100644 index 00000000..e38131d4 --- /dev/null +++ b/_sources/operations/projections/moll.rst.txt @@ -0,0 +1,42 @@ +.. _moll: + +******************************************************************************** +Mollweide +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | moll | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/moll.png + :width: 500 px + :align: center + :alt: Mollweide + + proj-string: ``+proj=moll`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/murd1.rst.txt b/_sources/operations/projections/murd1.rst.txt new file mode 100644 index 00000000..c52de4ce --- /dev/null +++ b/_sources/operations/projections/murd1.rst.txt @@ -0,0 +1,50 @@ +.. _murd1: + +******************************************************************************** +Murdoch I +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | murd1 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/murd1.png + :width: 500 px + :align: center + :alt: Murdoch I + + proj-string: ``+proj=murd1 +lat_1=30 +lat_2=50`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/murd2.rst.txt b/_sources/operations/projections/murd2.rst.txt new file mode 100644 index 00000000..e9dbb1a6 --- /dev/null +++ b/_sources/operations/projections/murd2.rst.txt @@ -0,0 +1,50 @@ +.. _murd2: + +******************************************************************************** +Murdoch II +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | murd2 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/murd2.png + :width: 500 px + :align: center + :alt: Murdoch II + + proj-string: ``+proj=murd2 +lat_1=30 +lat_2=50`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/murd3.rst.txt b/_sources/operations/projections/murd3.rst.txt new file mode 100644 index 00000000..194ea31f --- /dev/null +++ b/_sources/operations/projections/murd3.rst.txt @@ -0,0 +1,50 @@ +.. _murd3: + +******************************************************************************** +Murdoch III +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | murd3 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/murd3.png + :width: 500 px + :align: center + :alt: Murdoch III + + proj-string: ``+proj=murd3 +lat_1=30 +lat_2=50`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/natearth.rst.txt b/_sources/operations/projections/natearth.rst.txt new file mode 100644 index 00000000..4ed5b638 --- /dev/null +++ b/_sources/operations/projections/natearth.rst.txt @@ -0,0 +1,65 @@ +.. _natearth: + +******************************************************************************** +Natural Earth +******************************************************************************** ++---------------------+--------------------------------------------------------+ +| **Classification** | Pseudo cylindrical | ++---------------------+--------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+--------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+--------------------------------------------------------+ +| **Alias** | natearth | ++---------------------+--------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+--------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+--------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+--------------------------------------------------------+ + + + +.. figure:: ./images/natearth.png + :width: 500 px + :align: center + :alt: Natural Earth + + proj-string: ``+proj=natearth`` + +The Natural Earth projection is intended for making world maps. A distinguishing trait +is its slightly rounded corners fashioned to emulate the spherical shape of Earth. +The meridians (except for the central meridian) bend acutely inward as they approach +the pole lines, giving the projection a hint of three-dimensionality. This bending +also suggests that the meridians converge at the poles instead of truncating at the +top and bottom edges. The distortion characteristics of the Natural Earth projection +compare favorably to other world map projections. + + +Usage +############################################################################### + +The Natural Earth projection has no special options so usage is simple. Here is +an example of an inverse projection on a sphere with a radius of 7500 m:: + + $ echo 3500 -8000 | proj -I +proj=natearth +a=7500 + 37d54'6.091"E 61d23'4.582"S + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Further reading +################################################################################ + +#. `Wikipedia <https://en.wikipedia.org/wiki/Natural_Earth_projection>`_ diff --git a/_sources/operations/projections/natearth2.rst.txt b/_sources/operations/projections/natearth2.rst.txt new file mode 100644 index 00000000..a5128ea9 --- /dev/null +++ b/_sources/operations/projections/natearth2.rst.txt @@ -0,0 +1,49 @@ +.. _natearth2: + +******************************************************************************** +Natural Earth II +******************************************************************************** ++---------------------+--------------------------------------------------------+ +| **Classification** | Pseudo cylindrical | ++---------------------+--------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+--------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+--------------------------------------------------------+ +| **Alias** | natearth2 | ++---------------------+--------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+--------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+--------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+--------------------------------------------------------+ + + + +.. figure:: ./images/natearth2.png + :width: 500 px + :align: center + :alt: Natural Earth II + + proj-string: ``+proj=natearth2`` + +The Natural Earth II projection is intended for making world maps. At high +latitudes, meridians bend steeply toward short pole lines resulting in a map +with highly rounded corners that resembles an elongated globe. + +See :cite:`Savric2015` + + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/nell.rst.txt b/_sources/operations/projections/nell.rst.txt new file mode 100644 index 00000000..2619d0b3 --- /dev/null +++ b/_sources/operations/projections/nell.rst.txt @@ -0,0 +1,42 @@ +.. _nell: + +******************************************************************************** +Nell +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | nell | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/nell.png + :width: 500 px + :align: center + :alt: Nell + + proj-string: ``+proj=nell`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/nell_h.rst.txt b/_sources/operations/projections/nell_h.rst.txt new file mode 100644 index 00000000..5b4a45df --- /dev/null +++ b/_sources/operations/projections/nell_h.rst.txt @@ -0,0 +1,42 @@ +.. _nell_h: + +******************************************************************************** +Nell-Hammer +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | nell_h | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/nell_h.png + :width: 500 px + :align: center + :alt: Nell-Hammer + + proj-string: ``+proj=nell_h`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/nicol.rst.txt b/_sources/operations/projections/nicol.rst.txt new file mode 100644 index 00000000..0b7f0251 --- /dev/null +++ b/_sources/operations/projections/nicol.rst.txt @@ -0,0 +1,42 @@ +.. _nicol: + +******************************************************************************** +Nicolosi Globular +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudoconical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | nicol | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/nicol.png + :width: 500 px + :align: center + :alt: Nicolosi Globular + + proj-string: ``+proj=nicol`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/nsper.rst.txt b/_sources/operations/projections/nsper.rst.txt new file mode 100644 index 00000000..d99c7932 --- /dev/null +++ b/_sources/operations/projections/nsper.rst.txt @@ -0,0 +1,53 @@ +.. _nsper: + +******************************************************************************** +Near-sided perspective +******************************************************************************** + +The near-sided perspective projection simulates a view from a height +:math:`h` similar to how a satellite in orbit would see it. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal. Neither conformal nor equal area. | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, although for one hemisphere at a time. | ++---------------------+----------------------------------------------------------+ +| **Alias** | nsper | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/nsper.png + :width: 500 px + :align: center + :alt: Near-sided perspective + + proj-string: ``+proj=nsper +h=3000000 +lat_0=-20 +lon_0=145`` + +Parameters +################################################################################ + +Required +------------------------------------------------------------------------------- + +.. include:: ../options/h.rst + +Optional +------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/nzmg.rst.txt b/_sources/operations/projections/nzmg.rst.txt new file mode 100644 index 00000000..2e367fdf --- /dev/null +++ b/_sources/operations/projections/nzmg.rst.txt @@ -0,0 +1,17 @@ +.. _nzmg: + +******************************************************************************** +New Zealand Map Grid +******************************************************************************** + +.. figure:: ./images/nzmg.png + :width: 500 px + :align: center + :alt: New Zealand Map Grid + + proj-string: ``+proj=nzmg`` + +Parameters +################################################################################ + +.. note:: All standard projection parameters are hard-coded for this projection diff --git a/_sources/operations/projections/ob_tran.rst.txt b/_sources/operations/projections/ob_tran.rst.txt new file mode 100644 index 00000000..2ede2dd6 --- /dev/null +++ b/_sources/operations/projections/ob_tran.rst.txt @@ -0,0 +1,120 @@ +.. _ob_tran: + +******************************************************************************** +General Oblique Transformation +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | ob_tran | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/ob_tran.png + :width: 500 px + :align: center + :alt: General Oblique Transformation + + proj-string: ``+proj=ob_tran +o_proj=mill +o_lon_p=40 +o_lat_p=50 +lon_0=60`` + +Usage +################################################################################ + +All of the projections of spherical library can be used as an +oblique projection by means of the General Oblique Transformation. The user +performs the oblique transformation by selecting the oblique projection +``+proj=ob_tran``, specifying the translation factors, :option:`+o_lat_p`, and +:option:`+o_lon_p`, and the projection to be used, :option:`+o_proj`. In the +example of the Fairgrieve projection, the latitude and longitude of the North pole +of the unrotated geographic CRS, :math:`\alpha` and :math:`\beta` respectively, +expressed in the rotated geographic CRS, are to be placed +at 45°N and 90°W and the :ref:`moll` projection is used. Because the central meridian +of the translated coordinates will follow the :math:`\beta` meridian it is +necessary to translate the translated system so that the Greenwich meridian +will pass through the center of the projection by offsetting the central meridian. + +The final control for this projection is:: + + +proj=ob_tran +o_proj=moll +o_lat_p=45 +o_lon_p=-90 +lon_0=-90 + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. option:: +o_proj=<projection> + + Oblique projection. + +In addition to specifying an oblique projection, *how* to rotate the projection +should be specified. This is done in one of three ways: Define a new pole, +rotate the projection about a given point or define a new "equator" spanned by +two points on the sphere. See the details below. + +New pole +................................................................................ + +.. option:: +o_lat_p=<latitude> + + Latitude of the North pole of the unrotated source CRS, expressed in the rotated geographic CRS. + +.. option:: +o_lon_p=<longitude> + + Longitude of the North pole of the unrotated source CRS, expressed in the rotated geographic CRS. + +Rotate about point +................................................................................ + +.. option:: +o_alpha=<value> + + Angle to rotate the projection with. + +.. option:: +o_lon_c=<value> + + Longitude of the point the projection will be rotated about. + +.. option:: +o_lat_c=<value> + + Latitude of the point the projection will be rotated about. + +New "equator" points +................................................................................ + +.. option:: +o_lon_1=<value> + + Longitude of first point. + +.. option:: +o_lat_1=<value> + + Latitude of first point. + +.. option:: +o_lon_2=<value> + + Longitude of second point. + +.. option:: +o_lat_2=<value> + + Latitude of second point. + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/ocea.rst.txt b/_sources/operations/projections/ocea.rst.txt new file mode 100644 index 00000000..480dfd53 --- /dev/null +++ b/_sources/operations/projections/ocea.rst.txt @@ -0,0 +1,82 @@ +.. _ocea: + +******************************************************************************** +Oblique Cylindrical Equal Area +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | ocea | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/ocea.png + :width: 500 px + :align: center + :alt: Oblique Cylindrical Equal Area + + proj-string: ``+proj=ocea`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +For the Oblique Cylindrical Equal Area projection a pole of rotation is needed. +The pole can be defined in two ways: By a point and azimuth or by providing to +points that make up the pole. + +Point & azimuth +................................................................................ + +.. option:: +lonc=<value> + + Longitude of rotational pole point. + +.. option:: +alpha=<value> + + Angle of rotational pole. + +Two points +................................................................................ + +.. option:: +lon_1=<value> + + Longitude of first point. + +.. option:: +lat_1=<value> + + Latitude of first point. + +.. option:: +lon_2=<value> + + Longitude of second point. + +.. option:: +lat_2=<value> + + Latitude of second point. + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/k_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/oea.rst.txt b/_sources/operations/projections/oea.rst.txt new file mode 100644 index 00000000..a3db1722 --- /dev/null +++ b/_sources/operations/projections/oea.rst.txt @@ -0,0 +1,54 @@ +.. _oea: + +******************************************************************************** +Oblated Equal Area +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | oea | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/oea.png + :width: 500 px + :align: center + :alt: Oblated Equal Area + + proj-string: ``+proj=oea +m=1 +n=2`` + +Described in :cite:`Snyder1988`. + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. option:: +m=<value> + +.. option:: +n=<value> + +Optional +-------------------------------------------------------------------------------- + +.. option:: +theta=<value> + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/omerc.rst.txt b/_sources/operations/projections/omerc.rst.txt new file mode 100644 index 00000000..cf9a1af1 --- /dev/null +++ b/_sources/operations/projections/omerc.rst.txt @@ -0,0 +1,173 @@ +.. _omerc: + +******************************************************************************** +Oblique Mercator +******************************************************************************** + +The Oblique Mercator projection is a cylindrical map projection that closes the +gap between the Mercator and the Transverse Mercator projections. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conformal cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, but reasonably accurate only within 15 degrees | +| | of the oblique central line | ++---------------------+----------------------------------------------------------+ +| **Alias** | omerc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/omerc.png + :width: 500 px + :align: center + :alt: Oblique Mercator + + proj-string: ``+proj=omerc +lat_1=45 +lat_2=55`` + + +Figuratively, the cylinder used for developing the Mercator projection touches +the planet along the Equator, while that of the Transverse Mercator touches the +planet along a meridian, i.e. along a line perpendicular to the Equator. + +The cylinder for the Oblique Mercator, however, touches the planet along a line +at an arbitrary angle with the Equator. Hence, the Oblique Mercator projection +is useful for mapping areas having their greatest extent along a direction that +is neither north-south, nor east-west. + +The Mercator and the Transverse Mercator projections are both limiting forms of +the Oblique Mercator: The Mercator projection is equivalent to an Oblique Mercator +with central line along the Equator, while the Transverse Mercator is equivalent +to an Oblique Mercator with central line along a meridian. + +For the sphere, the construction of the Oblique Mercator projection can be +imagined as "tilting the cylinder of a plain Mercator projection", +so the cylinder, instead of touching the equator, touches an arbitrary great circle +on the sphere. The great circle is defined by the tilt angle of the central line, +hence putting land masses along that great circle near the centre of the map, +where the Equator would go in the plain Mercator case. + +The ellipsoidal case, developed by Hotine, and refined by Snyder :cite:`Snyder1987` +is more complex, involving initial steps projecting from the ellipsoid to another +curved surface, the "aposphere", then projection from the aposphere to the skew +uv-plane, before finally rectifying the skew uv-plane onto the map XY plane. + + +Usage +######## + +The tilt angle (azimuth) of the central line can be given in two different ways. +In the first case, the azimuth is given directly, using the option :option:`+alpha` +and defining the centre of projection using the options :option:`+lonc` and +:option:`+lat_0`. +In the second case, the azimuth is given indirectly by specifying two points on +the central line, using the options +:option:`+lat_1`, :option:`+lon_1`, :option:`+lat_2`, and :option:`+lon_2`. + +Example: Verify that the Mercator projection is a limiting form of the Oblique +Mercator + +:: + + $ echo 12 55 | proj +proj=merc +ellps=GRS80 + 1335833.89 7326837.71 + + $ echo 12 55 | proj +proj=omerc +lonc=0 +alpha=90 +ellps=GRS80 + 1335833.89 7326837.71 + +Example: Second case - indirectly given azimuth + +:: + + $ echo 12 55 | proj +proj=omerc +lon_1=-1 +lat_1=1 +lon_2=0 +lat_2=0 +ellps=GRS80 + 349567.57 6839490.50 + + +Example: An approximation of the Danish "System 34" from :cite:`Rittri2012` + +:: + + $ echo 10.536498003 56.229892362 | proj +proj=omerc +axis=wnu +lonc=9.46 +lat_0=56.13333333 +x_0=-266906.229 +y_0=189617.957 +k=0.9999537 +alpha=-0.76324 +gamma=0 +ellps=GRS80 + 200000.13 199999.89 + +The input coordinate represents the System 34 datum point "Agri Bavnehoj", with coordinates +(200000, 200000) by definition. So at the datum point, the approximation is off by about 17 cm. +This use case represents a datum shift from a cylinder projection on an old, slightly +misaligned datum, to a similar projection on a modern datum. + + +Parameters +################################################################################ + + +Central point and azimuth method +-------------------------------------------------------------------------------- + +.. option:: +alpha=<value> + + Azimuth of centerline clockwise from north at the center point of the line. + If :option:`+gamma` is not given then :option:`+alpha` determines the value of + :option:`+gamma`. + +.. option:: +gamma=<value> + + Azimuth of centerline clockwise from north of the rectified + bearing of centre line. If :option:`+alpha` is not given, then + :option:`+gamma` is used to determine :option:`+alpha`. + +.. option:: +lonc=<value> + + Longitude of the central point. + +.. option:: +lat_0=<value> + + Latitude of the central point. + +Two point method +-------------------------------------------------------------------------------- + +.. option:: +lon_1=<value> + + Longitude of first point. + +.. option:: +lat_1=<value> + + Latitude of first point. + +.. option:: +lon_2=<value> + + Longitude of second point. + +.. option:: +lat_2=<value> + + Latitude of second point. + +Optional +-------------------------------------------------------------------------------- + +.. option:: +no_rot + + No rectification (not "no rotation" as one may well assume). + Do not take the last step from the skew uv-plane to the map + XY plane. + + .. note:: This option is probably only marginally useful, but remains for (mostly) historical reasons. + +.. option:: +no_off + + Do not offset origin to center of projection. + +.. include:: ../options/k_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/ortel.rst.txt b/_sources/operations/projections/ortel.rst.txt new file mode 100644 index 00000000..f6fa5f3c --- /dev/null +++ b/_sources/operations/projections/ortel.rst.txt @@ -0,0 +1,42 @@ +.. _ortel: + +******************************************************************************** +Ortelius Oval +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | ortel | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/ortel.png + :width: 500 px + :align: center + :alt: Ortelius Oval + + proj-string: ``+proj=ortel`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/ortho.rst.txt b/_sources/operations/projections/ortho.rst.txt new file mode 100644 index 00000000..09107c9d --- /dev/null +++ b/_sources/operations/projections/ortho.rst.txt @@ -0,0 +1,57 @@ +.. _ortho: + +******************************************************************************** +Orthographic +******************************************************************************** + +The orthographic projection is a perspective azimuthal projection centered +around a given latitude and longitude. + ++---------------------+--------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+--------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+--------------------------------------------------------+ +| **Defined area** | Global, although only one hemisphere can be seen at a | +| | time | ++---------------------+--------------------------------------------------------+ +| **Alias** | ortho | ++---------------------+--------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+--------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+--------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+--------------------------------------------------------+ + +.. figure:: ./images/ortho.png + :width: 500 px + :align: center + :alt: Orthographic + + proj-string: ``+proj=ortho`` + + +.. note:: Before PROJ 7.2, only the spherical formulation was implemented. If + wanting to replicate PROJ < 7.2 results with newer versions, the + ellipsoid must be forced to a sphere, for example by adding a ``+f=0`` + parameter. + +This projection method corresponds to ``EPSG:9840``. + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/patterson.rst.txt b/_sources/operations/projections/patterson.rst.txt new file mode 100644 index 00000000..b68a14d0 --- /dev/null +++ b/_sources/operations/projections/patterson.rst.txt @@ -0,0 +1,46 @@ +.. _patterson: + +******************************************************************************** +Patterson +******************************************************************************** + +The Patterson projection is a cylindrical map projection designed for +general-purpose mapmaking. + +See :cite:`Patterson2014` + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | patterson | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ./images/patterson.png + :width: 500 px + :align: center + :alt: Patterson + + proj-string: ``+proj=patterson`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/pconic.rst.txt b/_sources/operations/projections/pconic.rst.txt new file mode 100644 index 00000000..8c486151 --- /dev/null +++ b/_sources/operations/projections/pconic.rst.txt @@ -0,0 +1,50 @@ +.. _pconic: + +******************************************************************************** +Perspective Conic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | pconic | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/pconic.png + :width: 500 px + :align: center + :alt: Perspective Conic + + proj-string: ``+proj=pconic +lat_1=25 +lat_2=75`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/peirce_q.rst.txt b/_sources/operations/projections/peirce_q.rst.txt new file mode 100644 index 00000000..57504032 --- /dev/null +++ b/_sources/operations/projections/peirce_q.rst.txt @@ -0,0 +1,119 @@ +.. _peirce_q: + +******************************************************************************** +Peirce Quincuncial +******************************************************************************** + +The Peirce Quincuncial projection is a conformal map projection +that transforms the circle of the northern hemisphere into a square, +and the southern hemisphere split into four triangles arranged +around the square to form a quincunx. The resulting projection +is a regular diamond shape or can be rotated to form a square. +The resulting tile can be infinitely tessellated. Though this implementation +defaults to a central meridian of 0, it is more common to use a central +meridian of around 25 to optimise the distortions. Peirce's original +published map from 1879 used a central meridian of approx -70. +The diamond and square versions can be produced using the +``+shape=diamond`` and ``+shape=square`` options respectively. +This implementation includes an alternative lateral projection +which places hemispheres side-by-side (``+shape=horizontal`` or +``+shape=vertical``). Combined with a general oblique transformation, +this can be used to produced a Grieger Triptychial projection +(see example below). + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | peirce_q | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/peirce_q_square.png + :width: 500 px + :align: center + :alt: Peirce Quincuncial (Square) + + proj-string: ``+proj=peirce_q +lon_0=25 +shape=square`` + +.. figure:: ./images/peirce_q_diamond.png + :width: 500 px + :align: center + :alt: Peirce Quincuncial (Diamond) + + proj-string: ``+proj=peirce_q +lon_0=25 +shape=diamond`` + +.. figure:: ./images/peirce_q_horizontal.png + :width: 500 px + :align: center + :alt: Peirce Quincuncial (Horizontal) + + proj-string: ``+proj=peirce_q +lon_0=25 +shape=horizontal`` + +.. figure:: ./images/grieger_triptychial.png + :width: 500 px + :align: center + :alt: Grieger Triptychial + + proj-string: ``+proj=pipeline +step +proj=ob_tran +o_proj=peirce_q +o_lat_p=-45 +o_lon_p=45 +o_type=horizontal +o_scrollx=-0.25 +step +proj=affine +s11=-1 +s12=0 +s21=0 +s22=-1`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. option:: +shape=square/diamond/horizontal/vertical/nhemisphere/shemisphere + + .. versionadded:: 9.0 + + *Defaults to diamond.* + + .. warning:: This option was wrongly introduced introduced in 8.2.1 with the + ``type`` name, which was inappropriate as it conflicted with + the ``+type=crs`` general hint. + + Indicates the shape of transformation applied to the southern hemisphere: + ``square`` and ``diamond`` represent the traditional quincuncial form suggested + by Peirce with the southern hemisphere divided into 4 triangles and reflected + outward from the northern hemisphere. The ``square`` shape is rotated by 45 + degrees to produce the conventional square presentation. The origin lies at + the centre of the square or diamond. + + By contrast, the ``horizontal`` and ``vertical`` forms reflect the southern + hemisphere laterally across the x or y axis respectively to produce a rectangular + form. The origin lies at the centre of the rectangle. + + The other two types, ``nhemisphere`` and ``shemisphere``, discard latitudes of less + than 0 or more than 0, respectively, to allow single hemispheres to be selected. + The origin lies at the centre of the square or diamond. + +.. option:: +scrollx=<value> + + For ``horizontal`` shape allows a scalar circular scroll of resulting x coordinates + to shift sections of the projection to the other horizontal side of the map. + + *Defaults to 0.0. Must be a scale between -1.0 and 1.0.* + +.. option:: +scrolly=<value> + + For ``vertical`` shape allows a scalar circular scroll of resulting y coordinates + to shift sections of the projection to the other vertical side of the map. + + *Defaults to 0.0. Must be a scale between -1.0 and 1.0.* + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/poly.rst.txt b/_sources/operations/projections/poly.rst.txt new file mode 100644 index 00000000..67815cca --- /dev/null +++ b/_sources/operations/projections/poly.rst.txt @@ -0,0 +1,44 @@ +.. _poly: + +******************************************************************************** +Polyconic (American) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudoconical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | poly | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/poly.png + :width: 500 px + :align: center + :alt: Polyconic (American) + + proj-string: ``+proj=poly`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp1.rst.txt b/_sources/operations/projections/putp1.rst.txt new file mode 100644 index 00000000..e621a3c7 --- /dev/null +++ b/_sources/operations/projections/putp1.rst.txt @@ -0,0 +1,42 @@ +.. _putp1: + +******************************************************************************** +Putnins P1 +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp1 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/putp1.png + :width: 500 px + :align: center + :alt: Putnins P1 + + proj-string: ``+proj=putp1`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Putnins P1 projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp2.rst.txt b/_sources/operations/projections/putp2.rst.txt new file mode 100644 index 00000000..c0f0648e --- /dev/null +++ b/_sources/operations/projections/putp2.rst.txt @@ -0,0 +1,42 @@ +.. _putp2: + +******************************************************************************** +Putnins P2 +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp2 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/putp2.png + :width: 500 px + :align: center + :alt: Putnins P2 + + proj-string: ``+proj=putp2`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp3.rst.txt b/_sources/operations/projections/putp3.rst.txt new file mode 100644 index 00000000..17fd4012 --- /dev/null +++ b/_sources/operations/projections/putp3.rst.txt @@ -0,0 +1,42 @@ +.. _putp3: + +******************************************************************************** +Putnins P3 +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp3 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/putp3.png + :width: 500 px + :align: center + :alt: Putnins P3 + + proj-string: ``+proj=putp3`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp3p.rst.txt b/_sources/operations/projections/putp3p.rst.txt new file mode 100644 index 00000000..0e3aed3c --- /dev/null +++ b/_sources/operations/projections/putp3p.rst.txt @@ -0,0 +1,42 @@ +.. _putp3p: + +******************************************************************************** +Putnins P3' +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp3p | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/putp3p.png + :width: 500 px + :align: center + :alt: Putnins P3' + + proj-string: ``+proj=putp3p`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp4p.rst.txt b/_sources/operations/projections/putp4p.rst.txt new file mode 100644 index 00000000..895c55e3 --- /dev/null +++ b/_sources/operations/projections/putp4p.rst.txt @@ -0,0 +1,41 @@ +.. _putp4p: + +******************************************************************************** +Putnins P4' +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp4p | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ./images/putp4p.png + :width: 500 px + :align: center + :alt: Putnins P4' + + proj-string: ``+proj=putp4p`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp5.rst.txt b/_sources/operations/projections/putp5.rst.txt new file mode 100644 index 00000000..511b570d --- /dev/null +++ b/_sources/operations/projections/putp5.rst.txt @@ -0,0 +1,42 @@ +.. _putp5: + +******************************************************************************** +Putnins P5 +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp5 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/putp5.png + :width: 500 px + :align: center + :alt: Putnins P5 + + proj-string: ``+proj=putp5`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp5p.rst.txt b/_sources/operations/projections/putp5p.rst.txt new file mode 100644 index 00000000..2150057d --- /dev/null +++ b/_sources/operations/projections/putp5p.rst.txt @@ -0,0 +1,42 @@ +.. _putp5p: + +******************************************************************************** +Putnins P5' +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp5p | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/putp5p.png + :width: 500 px + :align: center + :alt: Putnins P5' + + proj-string: ``+proj=putp5p`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp6.rst.txt b/_sources/operations/projections/putp6.rst.txt new file mode 100644 index 00000000..1ef7718f --- /dev/null +++ b/_sources/operations/projections/putp6.rst.txt @@ -0,0 +1,42 @@ +.. _putp6: + +******************************************************************************** +Putnins P6 +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp6 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/putp6.png + :width: 500 px + :align: center + :alt: Putnins P6 + + proj-string: ``+proj=putp6`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/putp6p.rst.txt b/_sources/operations/projections/putp6p.rst.txt new file mode 100644 index 00000000..1976bfd0 --- /dev/null +++ b/_sources/operations/projections/putp6p.rst.txt @@ -0,0 +1,42 @@ +.. _putp6p: + +******************************************************************************** +Putnins P6' +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | putp6p | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/putp6p.png + :width: 500 px + :align: center + :alt: Putnins P6' + + proj-string: ``+proj=putp6p`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/qsc.rst.txt b/_sources/operations/projections/qsc.rst.txt new file mode 100644 index 00000000..d7171fb4 --- /dev/null +++ b/_sources/operations/projections/qsc.rst.txt @@ -0,0 +1,174 @@ +.. _qsc: + +******************************************************************************** +Quadrilateralized Spherical Cube +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | qsc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +The purpose of the Quadrilateralized Spherical Cube (QSC) projection is to project +a sphere surface onto the six sides of a cube: + +.. image:: ../../../images/qsc_concept.jpg + :width: 500 px + :align: center + :alt: Quadrilateralized Spherical Cube + +For this purpose, other alternatives can be used, notably :ref:`gnom` or +:ref:`healpix`. However, QSC projection has the following favorable properties: + +It is an equal-area projection, and at the same time introduces only limited angular +distortions. It treats all cube sides equally, i.e. it does not use different +projections for polar areas and equatorial areas. These properties make QSC +projection a good choice for planetary-scale terrain rendering. Map data can be +organized in quadtree structures for each cube side. See :cite:`LambersKolb2012` for an example. + +The QSC projection was introduced by :cite:`ONeilLaubscher1976`, +building on previous work by :cite:`ChanONeil1975`. For clarity: The +earlier QSC variant described in :cite:`ChanONeil1975` became known as the COBE QSC since it +was used by the NASA Cosmic Background Explorer (COBE) project; it is an approximately +equal-area projection and is not the same as the QSC projection. + +See also :cite:`CalabrettaGreisen2002` Sec. 5.6.2 and 5.6.3 for a description of both and +some analysis. + +In this implementation, the QSC projection projects onto one side of a circumscribed +cube. The cube side is selected by choosing one of the following six projection centers: + ++-------------------------+--------------------+ +| ``+lat_0=0 +lon_0=0`` | front cube side | ++-------------------------+--------------------+ +| ``+lat_0=0 +lon_0=90`` | right cube side | ++-------------------------+--------------------+ +| ``+lat_0=0 +lon_0=180`` | back cube side | ++-------------------------+--------------------+ +| ``+lat_0=0 +lon_0=-90`` | left cube side | ++-------------------------+--------------------+ +| ``+lat_0=90`` | top cube side | ++-------------------------+--------------------+ +| ``+lat_0=-90`` | bottom cube side | ++-------------------------+--------------------+ + +Furthermore, this implementation allows the projection to be applied to ellipsoids. +A preceding shift to a sphere is performed automatically; see :cite:`LambersKolb2012` for details. + + +Usage +############################################################################### + +The following example uses QSC projection via GDAL to create the six cube side +maps from a world map for the WGS84 ellipsoid:: + + gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=0 +lon_0=0" \ + -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 \ + worldmap.tiff frontside.tiff + + gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=0 +lon_0=90" \ + -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 \ + worldmap.tiff rightside.tiff + + gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=0 +lon_0=180" \ + -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 \ + worldmap.tiff backside.tiff + + gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=0 +lon_0=-90" \ + -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 \ + worldmap.tiff leftside.tiff + + gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=90 +lon_0=0" \ + -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 \ + worldmap.tiff topside.tiff + + gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=-90 +lon_0=0" \ + -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 \ + worldmap.tiff bottomside.tiff + + +Explanation: + +* QSC projection is selected with ``+wktext +proj=qsc``. +* The WGS84 ellipsoid is specified with ``+ellps=WGS84``. +* The cube side is selected with ``+lat_0=... +lon_0=...``. +* The ``-wo`` options are necessary for GDAL to avoid holes in the output maps. +* The ``-te`` option limits the extends of the output map to the major axis diameter + (from -radius to +radius in both x and y direction). These are the dimensions of one side + of the circumscribing cube. + + +The resulting images can be laid out in a grid like below. + + +.. |topside| image:: ../../../images/qsc_topside.jpg + :scale: 50 % + :align: middle + :alt: Top side + +.. |leftside| image:: ../../../images/qsc_leftside.jpg + :scale: 50% + :align: middle + :alt: Left side + +.. |frontside| image:: ../../../images/qsc_frontside.jpg + :scale: 50% + :align: middle + :alt: Front side + +.. |rightside| image:: ../../../images/qsc_rightside.jpg + :scale: 50% + :align: middle + :alt: Right side + +.. |backside| image:: ../../../images/qsc_backside.jpg + :scale: 50% + :align: middle + :alt: Back side + +.. |bottomside| image:: ../../../images/qsc_bottomside.jpg + :scale: 50% + :align: middle + :alt: Bottom side + + ++------------+--------------+-------------+------------+ +| | |topside| | | | ++------------+--------------+-------------+------------+ +| |leftside| | |frontside| | |rightside| | |backside| | ++------------+--------------+-------------+------------+ +| | |bottomside| | | | ++------------+--------------+-------------+------------+ + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Further reading +################################################################################ + +#. `Wikipedia <https://en.wikipedia.org/wiki/Quadrilateralized_spherical_cube>`_ +#. `NASA <https://lambda.gsfc.nasa.gov/product/cobe/skymap_info_new.cfm>`_ diff --git a/_sources/operations/projections/qua_aut.rst.txt b/_sources/operations/projections/qua_aut.rst.txt new file mode 100644 index 00000000..67a5e5bf --- /dev/null +++ b/_sources/operations/projections/qua_aut.rst.txt @@ -0,0 +1,42 @@ +.. _qua_aut: + +******************************************************************************** +Quartic Authalic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | qua_aut | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/qua_aut.png + :width: 500 px + :align: center + :alt: Quartic Authalic + + proj-string: ``+proj=qua_aut`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Quartic Authalic projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/rhealpix.rst.txt b/_sources/operations/projections/rhealpix.rst.txt new file mode 100644 index 00000000..5a9b99b5 --- /dev/null +++ b/_sources/operations/projections/rhealpix.rst.txt @@ -0,0 +1,75 @@ +.. _rhealpix: + +******************************************************************************** +rHEALPix +******************************************************************************** ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | rhealpix | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. image:: ../../../images/rhealpix.png + :scale: 75% + :alt: rHEALPix + +rHEALPix is a projection based on the HEALPix projection. The implementation of +rHEALPix uses the HEALPix projection. The rHEALPix combines the peaks of the +HEALPix into a square. The square's position can be translated and rotated across +the x-axis which is a novel approach for the rHEALPix projection. The initial +intention of using rHEALPix in the Spatial Computation Engine Science Collaboration +Environment (SCENZGrid). + +Usage +############################################################################### + +To run a rHEALPix projection on a WGS84 ellipsoidal model, use the following +command:: + + proj +proj=rhealpix -f '%.2f' +ellps=WGS84 +south_square=0 +north_square=2 -E << EOF + > 55 12 + > EOF + 55 12 6115727.86 1553840.13 + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. option:: +north_square + + Position of the north polar square. Valid inputs are 0--3. + + *Defaults to 0.0.* + +.. option:: +south_square + + Position of the south polar square. Valid inputs are 0--3. + + *Defaults to 0.0.* + + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Further reading +################################################################################ + +#. `NASA <http://healpix.jpl.nasa.gov/>`_ +#. `Wikipedia <https://en.wikipedia.org/wiki/HEALPix>`_ diff --git a/_sources/operations/projections/robin.rst.txt b/_sources/operations/projections/robin.rst.txt new file mode 100644 index 00000000..5ebdf5e5 --- /dev/null +++ b/_sources/operations/projections/robin.rst.txt @@ -0,0 +1,42 @@ +.. _robin: + +******************************************************************************** +Robinson +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | robin | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/robin.png + :width: 500 px + :align: center + :alt: Robinson + + proj-string: ``+proj=robin`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/rouss.rst.txt b/_sources/operations/projections/rouss.rst.txt new file mode 100644 index 00000000..08fc6e36 --- /dev/null +++ b/_sources/operations/projections/rouss.rst.txt @@ -0,0 +1,44 @@ +.. _rouss: + +******************************************************************************** +Roussilhe Stereographic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | rouss | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/rouss.png + :width: 500 px + :align: center + :alt: Roussilhe Stereographic + + proj-string: ``+proj=rouss`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/rpoly.rst.txt b/_sources/operations/projections/rpoly.rst.txt new file mode 100644 index 00000000..eee66c5e --- /dev/null +++ b/_sources/operations/projections/rpoly.rst.txt @@ -0,0 +1,44 @@ +.. _rpoly: + +******************************************************************************** +Rectangular Polyconic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudoconical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | rpoly | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/rpoly.png + :width: 500 px + :align: center + :alt: Rectangular Polyconic + + proj-string: ``+proj=rpoly`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lat_ts.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/s2.rst.txt b/_sources/operations/projections/s2.rst.txt new file mode 100644 index 00000000..46ae715e --- /dev/null +++ b/_sources/operations/projections/s2.rst.txt @@ -0,0 +1,120 @@ +.. _s2: + +******************************************************************************** +S2 +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | s2 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. versionadded:: 8.2 + +The S2 projection, like the Quadrilateralized Spherical Cube (QSC) projection, projects +a sphere surface onto the six sides of a cube: + +.. image:: ../../../images/qsc_concept.jpg + :width: 500 px + :align: center + :alt: Quadrilateralized Spherical Cube + +S2 was created by Google to represent geographic data on the whole earth. The documentation can be found +at `S2 Geometry <https://s2geometry.io/>`_ It works by first +projecting a point on the sphere to a face of the cube. These are called u,v-coordinates, and they are in [-1,1] x [-1,1]. +This step is followed by a non-linear transformation to normalize the area of rectangles on the sphere. There are three +different choices available for this transformation, meaning that S2 is a family of projections. The final output is in +s,t-coordinates, which are in [0,1] x [0,1]. +See the comments in `S2 Code <https://github.com/google/s2geometry/blob/0c4c460bdfe696da303641771f9def900b3e440f/src/s2/s2coords.h#L226>`_ +for an explanation of the tradeoff between speed and area-preservation. Note that the projection is azimuthal when "none" or +"linear" is selected for the area-normalization, but it is not azimuthal when "quadratic" or "tangent" is chosen. See +S2's `Earthcube page <https://s2geometry.io/resources/earthcube>`_ +to visualize the unfolded cube and the orientation of each face. + +In this implementation, the cube side is selected by choosing one of the following six projection centers: + ++-------------------------+--------------------+ +| ``+lat_0=0 +lon_0=0`` | front cube side | ++-------------------------+--------------------+ +| ``+lat_0=0 +lon_0=90`` | right cube side | ++-------------------------+--------------------+ +| ``+lat_0=0 +lon_0=180`` | back cube side | ++-------------------------+--------------------+ +| ``+lat_0=0 +lon_0=-90`` | left cube side | ++-------------------------+--------------------+ +| ``+lat_0=90`` | top cube side | ++-------------------------+--------------------+ +| ``+lat_0=-90`` | bottom cube side | ++-------------------------+--------------------+ + +The specific transformation can be chosen with the UVtoST parameter: + ++-------------------------+-----------------------------+ +| ``+UVtoST=linear`` | fastest, no normalization | ++-------------------------+-----------------------------+ +| ``+UVtoST=quadratic`` | fast, good normalization | ++-------------------------+-----------------------------+ +| ``+UVtoST=tangent`` | slowest, best normalization | ++-------------------------+-----------------------------+ +| ``+UVtoST=none`` | returns u,v-coordinates | ++-------------------------+-----------------------------+ + +Furthermore, this implementation allows the projection to be applied to ellipsoids. +A preceding shift to a sphere is performed automatically; see :cite:`LambersKolb2012` for details. +The output of the projection is in s,t-coordinates ([0,1] x [0,1]), so only the +eccentricity of the ellipse is taken into account: the absolute value of the axes does +not affect the output. + + +Usage +############################################################################### + +The following example uses S2 on the right face:: + + echo 90 0 | ../bin/proj +proj=s2 +lat_0=0 +lon_0=90 +ellps=WGS84 +UVtoST=linear + + 0.5 0.5 + +Explanation: + +* S2 projection is selected with ``+proj=s2``. +* The WGS84 ellipsoid is specified with ``+ellps=WGS84``. +* The cube side is selected with ``+lat_0=... +lon_0=...``. +* The normalization transformation is selected with ``+UVtoST=...``. + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. option:: +UVtoST=<value> + + The area-normalization transformation. Choose from {linear, quadratic, tangent, none} + + *Defaults to "quadratic".* + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Further reading +################################################################################ + +#. `S2's Website <https://s2geometry.io/>`_ diff --git a/_sources/operations/projections/sch.rst.txt b/_sources/operations/projections/sch.rst.txt new file mode 100644 index 00000000..f987d75d --- /dev/null +++ b/_sources/operations/projections/sch.rst.txt @@ -0,0 +1,65 @@ +.. _sch: + +******************************************************************************** +Spherical Cross-track Height +******************************************************************************** ++---------------------+--------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+--------------------------------------------------------+ +| **Available forms** | Forward and inverse. | ++---------------------+--------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+--------------------------------------------------------+ +| **Alias** | sch | ++---------------------+--------------------------------------------------------+ +| **Domain** | 3D | ++---------------------+--------------------------------------------------------+ +| **Input type** | 3D coordinates | ++---------------------+--------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+--------------------------------------------------------+ + + proj-string: ``+proj=sch +plat_0=XX +plon_0=XX +phdg_0=XX`` + +The SCH coordinate system is a sensor aligned coordinate system developed at +JPL (Jet Propulsion Laboratory) for radar mapping missions. + +See :cite:`Hensley2002` + + +Parameters +################################################################################ + +Required +------------------------------------------------------------------------------- + +.. option:: +plat_0=<value> + + Peg latitude (in degree) + +.. option:: +plon_0=<value> + + Peg longitude (in degree) + +.. option:: +phdg_0=<value> + + Peg heading (in degree) + +Optional +------------------------------------------------------------------------------- + +.. option:: +h_0=<value> + + Average height (in metre) + + *Defaults to 0.0.* + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst diff --git a/_sources/operations/projections/sinu.rst.txt b/_sources/operations/projections/sinu.rst.txt new file mode 100644 index 00000000..6bd059fb --- /dev/null +++ b/_sources/operations/projections/sinu.rst.txt @@ -0,0 +1,56 @@ +.. _sinu: + +******************************************************************************** +Sinusoidal (Sanson-Flamsteed) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | sinu | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/sinu.png + :width: 500 px + :align: center + :alt: Sinusoidal (Sanson-Flamsteed) + + proj-string: ``+proj=sinu`` + +MacBryde and Thomas developed generalized formulas for several of the +pseudocylindricals with sinusoidal meridians: + +.. math:: + + x = C\lambda(m+cos\theta) / ( m + 1) + +.. math:: + y = C\theta + +.. math:: + + C = \sqrt { (m + 1 ) / n } + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Sinusoidal projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/somerc.rst.txt b/_sources/operations/projections/somerc.rst.txt new file mode 100644 index 00000000..f8530d70 --- /dev/null +++ b/_sources/operations/projections/somerc.rst.txt @@ -0,0 +1,30 @@ +.. _somerc: + +******************************************************************************** +Swiss Oblique Mercator +******************************************************************************** + +.. figure:: ./images/somerc.png + :width: 500 px + :align: center + :alt: Swiss Oblique Mercator + + proj-string: ``+proj=somerc`` + + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/k_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/stere.rst.txt b/_sources/operations/projections/stere.rst.txt new file mode 100644 index 00000000..06d77f94 --- /dev/null +++ b/_sources/operations/projections/stere.rst.txt @@ -0,0 +1,56 @@ +.. _stere: + +******************************************************************************** +Stereographic +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | stere | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/stere.png + :width: 500 px + :align: center + :alt: Stereographic + + proj-string: ``+proj=stere +lat_0=90 +lat_ts=75`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lat_0.rst + +.. option:: +lat_ts=<value> + + Defines the latitude where scale is not distorted. It is only taken into + account for Polar Stereographic formulations (``+lat_0`` = +/- 90 ), and + then defaults to the ``+lat_0`` value. + If set to a value different from +/- 90, it takes precedence over ``+k_0`` + if both options are used together. + +.. include:: ../options/k_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/sterea.rst.txt b/_sources/operations/projections/sterea.rst.txt new file mode 100644 index 00000000..80666d06 --- /dev/null +++ b/_sources/operations/projections/sterea.rst.txt @@ -0,0 +1,46 @@ +.. _sterea: + +******************************************************************************** +Oblique Stereographic Alternative +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | sterea | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/sterea.png + :width: 500 px + :align: center + :alt: Oblique Stereographic Alternative + + proj-string: ``+proj=sterea +lat_0=90`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/tcc.rst.txt b/_sources/operations/projections/tcc.rst.txt new file mode 100644 index 00000000..3c5fe8eb --- /dev/null +++ b/_sources/operations/projections/tcc.rst.txt @@ -0,0 +1,42 @@ +.. _tcc: + +******************************************************************************** +Transverse Central Cylindrical +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | tcc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/tcc.png + :width: 500 px + :align: center + :alt: Transverse Central Cylindrical + + proj-string: ``+proj=tcc`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/tcea.rst.txt b/_sources/operations/projections/tcea.rst.txt new file mode 100644 index 00000000..028e5c32 --- /dev/null +++ b/_sources/operations/projections/tcea.rst.txt @@ -0,0 +1,44 @@ +.. _tcea: + +******************************************************************************** +Transverse Cylindrical Equal Area +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | tcea | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/tcea.png + :width: 500 px + :align: center + :alt: Transverse Cylindrical Equal Area + + proj-string: ``+proj=tcea`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/k_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/times.rst.txt b/_sources/operations/projections/times.rst.txt new file mode 100644 index 00000000..33e12148 --- /dev/null +++ b/_sources/operations/projections/times.rst.txt @@ -0,0 +1,43 @@ +.. _times: + +******************************************************************************** +Times +******************************************************************************** + +See :cite:`Snyder1993`, p.213-214. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | times | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ./images/times.png + :width: 500 px + :align: center + :alt: Times + + proj-string: ``+proj=times`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/tissot.rst.txt b/_sources/operations/projections/tissot.rst.txt new file mode 100644 index 00000000..814fa637 --- /dev/null +++ b/_sources/operations/projections/tissot.rst.txt @@ -0,0 +1,33 @@ +.. _tissot: + +******************************************************************************** +Tissot +******************************************************************************** + +.. figure:: ./images/tissot.png + :width: 500 px + :align: center + :alt: Tissot + + proj-string: ``+proj=tissot +lat_1=60 +lat_2=65`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/tmerc.rst.txt b/_sources/operations/projections/tmerc.rst.txt new file mode 100644 index 00000000..576ad327 --- /dev/null +++ b/_sources/operations/projections/tmerc.rst.txt @@ -0,0 +1,412 @@ +.. _tmerc: + +******************************************************************************** +Transverse Mercator +******************************************************************************** + +The transverse Mercator projection in its various forms is the most widely used projected coordinate system for world topographical and offshore mapping. +It is a conformal projection in which a chosen meridian projects to a +straight line at constant scale. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Transverse and oblique cylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical and ellipsoidal | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, with full accuracy within 3900 km | +| | of the central meridian | ++---------------------+----------------------------------------------------------+ +| **Alias** | tmerc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + + +.. figure:: ./images/tmerc.png + :width: 500 px + :align: center + :alt: Transverse Mercator + + proj-string: ``+proj=tmerc`` + +Usage +##### + + +Prior to the development of the Universal Transverse Mercator coordinate system, several European nations demonstrated the utility of grid-based conformal maps by mapping their territory during the interwar period. +Calculating the distance between two points on these maps could be performed more easily in the field (using the Pythagorean theorem) than was possible using the trigonometric formulas required under the graticule-based system of latitude and longitude. +In the post-war years, these concepts were extended into the Universal Transverse Mercator/Universal Polar Stereographic (UTM/UPS) coordinate system, which is a global (or universal) system of grid-based maps. + +The following table gives special cases of the Transverse Mercator projection. + ++-------------------------------------+-----------------------------------------------------+--------------------------------+-------------------------------------------+--------------+ +| Projection Name | Areas | Central meridian | Zone width | Scale Factor | ++=====================================+=====================================================+================================+===========================================+==============+ +| Transverse Mercator | World wide | Various | less than 1000 km | Various | ++-------------------------------------+-----------------------------------------------------+--------------------------------+-------------------------------------------+--------------+ +| Transverse Mercator south oriented | Southern Africa | 2° intervals E of 11°E | 2° | 1.000 | ++-------------------------------------+-----------------------------------------------------+--------------------------------+-------------------------------------------+--------------+ +| UTM North hemisphere | World wide equator to 84°N | 6° intervals E & W of 3° E & W | Usually 6°, wider for Norway and Svalbard | 0.9996 | ++-------------------------------------+-----------------------------------------------------+--------------------------------+-------------------------------------------+--------------+ +| UTM South hemisphere | World wide north of 80°S to equator | 6° intervals E & W of 3° E & W | Always 6° | 0.9996 | ++-------------------------------------+-----------------------------------------------------+--------------------------------+-------------------------------------------+--------------+ +| Gauss-Kruger | Former USSR, Yugoslavia, Germany, S. America, China | Various, according to area | Usually less than 6°, often less than 4° | 1.0000 | ++-------------------------------------+-----------------------------------------------------+--------------------------------+-------------------------------------------+--------------+ +| Gauss Boaga | Italy | Various, according to area | 6° | 0.9996 | ++-------------------------------------+-----------------------------------------------------+--------------------------------+-------------------------------------------+--------------+ + + + +Example using Gauss-Kruger on Germany area (aka EPSG:31467) :: + + $ echo 9 51 | proj +proj=tmerc +lat_0=0 +lon_0=9 +k_0=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m + 3500000.00 5651505.56 + +Example using Gauss Boaga on Italy area (EPSG:3004) :: + + $ echo 15 42 | proj +proj=tmerc +lat_0=0 +lon_0=15 +k_0=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m + 2520000.00 4649858.60 + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. option:: +approx + + .. versionadded:: 6.0.0 + + Use the Evenden-Snyder algorithm described below under "Legacy + ellipsoidal form". It is faster than the default algorithm, but is + less accurate and diverges beyond 3° from the central meridian. + +.. option:: +algo=auto/evenden_snyder/poder_engsager + + .. versionadded:: 7.1 + + Selects the algorithm to use. The hardcoded value and the one defined in + :ref:`proj-ini` default to ``poder_engsager``; that is the most precise + one. + + When using auto, a heuristics based on the input coordinate to transform + is used to determine if the faster Evenden-Snyder method can be used, for + faster computation, without causing an error greater than 0.1 mm (for an + ellipsoid of the size of Earth) + + Note that :option:`+approx` and :option:`+algo` are mutually exclusive. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/k_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Mathematical definition +####################### + +The formulation given here for the Transverse Mercator projection is due +to Krüger :cite:`Krueger1912` who gave the series expansions accurate to +:math:`n^4`, where :math:`n = (a-b)/(a+b)` is the third flattening. +These series were extended to sixth order by Engsager and Poder in +:cite:`Poder1998` and :cite:`Engsager2007`. This gives full +double-precision accuracy within 3900 km of the central meridian (about +57% of the surface of the earth) :cite:`Karney2011tm`. The error is +less than 0.1 mm within 7000 km of the central meridian (about 89% of +the surface of the earth). + +This formulation consists of three steps: a conformal projection from +the ellipsoid to a sphere, the spherical transverse Mercator +projection, rectifying this projection to give constant scale on the +central meridian. + +The scale on the central meridian is :math:`k_0` and is set by ``+k_0``. + +Option :option:`+lon_0` sets the central meridian; in the formulation +below :math:`\lambda` is the longitude relative to the central meridian. + +Options :option:`+lat_0`, :option:`+x_0`, and :option:`+y_0` serve to +translate the projected coordinates so that at :math:`(\phi, \lambda) = +(\phi_0, \lambda_0)`, the projected coordinates are :math:`(x,y) = +(x_0,y_0)`. To simplify the formulas below, these options are set to +zero (their default values). + +Because the projection is conformal, the formulation is most +conveniently given in terms of complex numbers. In particular, the +unscaled projected coordinates :math:`\eta` (proportional to the +easting, :math:`x`) and :math:`\xi` (proportional to the northing, +:math:`y`) are combined into the single complex quantity :math:`\zeta = +\xi + i\eta`, where :math:`i=\sqrt{-1}`. Then any analytic function +:math:`f(\zeta)` defines a conformal mapping (this follows from the +Cauchy-Riemann conditions). + +Spherical form +************** + +Because the full (ellipsoidal) projection includes the spherical +projection as one of the components, we present the spherical form first +with the coordinates tagged with primes, :math:`\phi'`, +:math:`\lambda'`, :math:`\zeta' = \xi' + i\eta'`, :math:`x'`, +:math:`y'`, so that they can be distinguished from the corresponding +ellipsoidal coordinates (without the primes). The projected coordinates +for the sphere are given by + +.. math:: + + x' = k_0 R \eta';\qquad y' = k_0 R \xi' + +Forward projection +================== + +.. math:: + + \xi' = \tan^{-1}\biggl(\frac{\tan\phi'}{\cos\lambda'}\biggr) + +.. math:: + + \eta' = \sinh^{-1}\biggl(\frac{\sin\lambda'} + {\sqrt{\tan^2\phi' + \cos^2\lambda'}}\biggr) + + +Inverse projection +================== + +.. math:: + + \phi' = \tan^{-1}\biggl(\frac{\sin\xi'} + {\sqrt{\sinh^2\eta' + \cos^2\xi'}}\biggr) + +.. math:: + + \lambda' = \tan^{-1}\biggl(\frac{\sinh\eta'}{\cos\xi'}\biggr) + + +Ellipsoidal form +**************** + +The projected coordinates are given by + +.. math:: + + \zeta = \xi + i\eta;\qquad x = k_0 A \eta;\qquad y = k_0 A \xi + +.. math:: + + A = \frac a{1+n}\biggl(1 + \frac14 n^2 + \frac1{64} n^4 + + \frac1{256}n^6\biggr) + +The series for conversion between ellipsoidal and spherical geographic +coordinates and ellipsoidal and spherical projected coordinates are +given in matrix notation where :math:`\mathbf S(\theta)` and +:math:`\mathbf N` are the row and column vectors of length 6 + +.. math:: + + \mathbf S(\theta) = \begin{pmatrix} + \sin 2\theta & + \sin 4\theta & + \sin 6\theta & + \sin 8\theta & + \sin 10\theta & + \sin 12\theta + \end{pmatrix} + +.. math:: + + \mathbf N = \begin{pmatrix} + n \\ n^2 \\ n^3\\ n^4 \\ n^5 \\ n^6 + \end{pmatrix} + +and :math:`\mathsf C_{\alpha,\beta}` are upper triangular +:math:`6\times6` matrices. + +Relation between geographic coordinates +======================================= + +.. math:: + + \lambda' = \lambda + +.. math:: + + \phi' = \tan^{-1}\sinh\bigl(\sinh^{-1}\tan\phi + - e \tanh^{-1}(e\sin\phi)\bigr) + +Instead of using this analytical formula for :math:`\phi'`, the +conversions between :math:`\phi` and :math:`\phi'` use the series +approximations: + +.. math:: + + \phi' = \phi + \mathbf S(\phi) \cdot \mathsf C_{\chi,\phi} \cdot \mathbf N + +.. math:: + + \phi = \phi' + \mathbf S(\phi') \cdot \mathsf C_{\phi,\chi} \cdot \mathbf N + +.. math:: + + \mathsf C_{\chi,\phi} = \begin{pmatrix} + -2& \frac{2}{3}& \frac{4}{3}& -\frac{82}{45}& \frac{32}{45}& \frac{4642}{4725} \\ + & \frac{5}{3}& -\frac{16}{15}& -\frac{13}{9}& \frac{904}{315}& -\frac{1522}{945} \\ + & & -\frac{26}{15}& \frac{34}{21}& \frac{8}{5}& -\frac{12686}{2835} \\ + & & & \frac{1237}{630}& -\frac{12}{5}& -\frac{24832}{14175} \\ + & & & & -\frac{734}{315}& \frac{109598}{31185} \\ + & & & & & \frac{444337}{155925} \\ + \end{pmatrix} + +.. math:: + + \mathsf C_{\phi,\chi} = \begin{pmatrix} + 2& -\frac{2}{3}& -2& \frac{116}{45}& \frac{26}{45}& -\frac{2854}{675} \\ + & \frac{7}{3}& -\frac{8}{5}& -\frac{227}{45}& \frac{2704}{315}& \frac{2323}{945} \\ + & & \frac{56}{15}& -\frac{136}{35}& -\frac{1262}{105}& \frac{73814}{2835} \\ + & & & \frac{4279}{630}& -\frac{332}{35}& -\frac{399572}{14175} \\ + & & & & \frac{4174}{315}& -\frac{144838}{6237} \\ + & & & & & \frac{601676}{22275} \\ + \end{pmatrix} + +Here :math:`\phi'` is the conformal latitude (sometimes denoted by +:math:`\chi`) and :math:`\mathsf C_{\chi,\phi}` and :math:`\mathsf +C_{\phi,\chi}` are the coefficients in the trigonometric series for +converting between :math:`\phi` and :math:`\chi`. + +Relation between projected coordinates +====================================== + +.. math:: + + \zeta = \zeta' + \mathbf S(\zeta') \cdot \mathsf C_{\mu,\chi} \cdot \mathbf N + +.. math:: + + \zeta' = \zeta + \mathbf S(\zeta) \cdot \mathsf C_{\chi,\mu} \cdot \mathbf N + +.. math:: + + \mathsf C_{\mu,\chi} = \begin{pmatrix} + \frac{1}{2}& -\frac{2}{3}& \frac{5}{16}& \frac{41}{180}& -\frac{127}{288}& \frac{7891}{37800} \\ + & \frac{13}{48}& -\frac{3}{5}& \frac{557}{1440}& \frac{281}{630}& -\frac{1983433}{1935360} \\ + & & \frac{61}{240}& -\frac{103}{140}& \frac{15061}{26880}& \frac{167603}{181440} \\ + & & & \frac{49561}{161280}& -\frac{179}{168}& \frac{6601661}{7257600} \\ + & & & & \frac{34729}{80640}& -\frac{3418889}{1995840} \\ + & & & & & \frac{212378941}{319334400} \\ + \end{pmatrix} + +.. math:: + + \mathsf C_{\chi,\mu} = \begin{pmatrix} + -\frac{1}{2}& \frac{2}{3}& -\frac{37}{96}& \frac{1}{360}& \frac{81}{512}& -\frac{96199}{604800} \\ + & -\frac{1}{48}& -\frac{1}{15}& \frac{437}{1440}& -\frac{46}{105}& \frac{1118711}{3870720} \\ + & & -\frac{17}{480}& \frac{37}{840}& \frac{209}{4480}& -\frac{5569}{90720} \\ + & & & -\frac{4397}{161280}& \frac{11}{504}& \frac{830251}{7257600} \\ + & & & & -\frac{4583}{161280}& \frac{108847}{3991680} \\ + & & & & & -\frac{20648693}{638668800} \\ + \end{pmatrix} + +On the central meridian (:math:`\lambda = \lambda' = 0`), :math:`\zeta' += \phi'` is the conformal latitude :math:`\chi` and :math:`\zeta` plays +the role of the rectifying latitude (sometimes denoted by :math:`\mu`). +:math:`\mathsf C_{\mu,\chi}` and :math:`\mathsf C_{\chi,\mu}` are the +coefficients in the trigonometric series for converting between +:math:`\chi` and :math:`\mu`. + +Legacy ellipsoidal form +*********************** + +The formulas below describe the algorithm used when giving the +:option:`+approx` option. They are originally from :cite:`Snyder1987`, +but here quoted from :cite:`Evenden1995` and :cite:`Evenden2005`. These +are less accurate that the formulation above and are only valid within +about 5 degrees of the central meridian. Here :math:`M(\phi)` is the +meridional distance. + + +Forward projection +================== + +.. math:: + + N = \frac{k_0}{(1 - e^2 \sin^2\phi)^{1/2}} + +.. math:: + + R = \frac{k_0(1-e^2)}{(1-e^2 \sin^2\phi)^{3/2}} + +.. math:: + + t = \tan\phi + +.. math:: + + \eta = \frac{e^2}{1-e^2} \cos^2\phi + +.. math:: + + x &= k_0 \lambda \cos \phi \\ + &+ \frac{k_0 \lambda^3 \cos^3\phi}{3!}(1-t^2+\eta^2) \\ + &+ \frac{k_0 \lambda^5 \cos^5\phi}{5!}(5-18t^2+t^4+14\eta^2-58t^2\eta^2) \\ + &+\frac{k_0 \lambda^7 \cos^7\phi}{7!}(61-479t^2+179t^4-t^6) + +.. math:: + + y &= M(\phi) \\ + &+ \frac{k_0 \lambda^2 \sin\phi \cos \phi}{2!} \\ + &+ \frac{k_0 \lambda^4 \sin\phi \cos^3\phi}{4!}(5-t^2+9\eta^2+4\eta^4) \\ + &+ \frac{k_0 \lambda^6 \sin\phi \cos^5\phi}{6!}(61-58t^2+t^4+270\eta^2-330t^2\eta^2) \\ + &+ \frac{k_0 \lambda^8 \sin\phi \cos^7\phi}{8!}(1385-3111t^2+543t^4-t^6) + +Inverse projection +================== + +.. math:: + + \phi_1 = M^{-1}(y) + +.. math:: + + N_1 = \frac{k_0}{1 - e^2 \sin^2\phi_1)^{1/2}} + +.. math:: + + R_1 = \frac{k_0(1-e^2)}{(1-e^2 \sin^2\phi_1)^{3/2}} + +.. math:: + + t_1 = \tan(\phi_1) + +.. math:: + + \eta_1 = \frac{e^2}{1-e^2} \cos^2\phi_1 + +.. math:: + + \phi &= \phi_1 \\ + &- \frac{t_1 x^2}{2! R_1 N_1} \\ + &+ \frac{t_1 x^4}{4! R_1 N_1^3}(5+3t_1^2+\eta_1^2-4\eta_1^4-9\eta_1^2t_1^2) \\ + &- \frac{t_1 x^6}{6! R_1 N_1^5}(61+90t_1^2+46\eta_1^2+45t_1^4-252t_1^2\eta_1^2) \\ + &+ \frac{t_1 x^8}{8! R_1 N_1^7}(1385+3633t_1^2+4095t_1^4+1575t_1^6) + +.. math:: + + \lambda &= \frac{x}{\cos \phi N_1} \\ + &- \frac{x^3}{3! \cos \phi N_1^3}(1+2t_1^2+\eta_1^2) \\ + &+ \frac{x^5}{5! \cos \phi N_1^5}(5+6\eta_1^2+28t_1^2-3\eta_1^2+8t_1^2\eta_1^2) \\ + &- \frac{x^7}{7! \cos \phi N_1^7}(61+662t_1^2+1320t_1^4+720t_1^6) + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Transverse_Mercator_projection>`_ diff --git a/_sources/operations/projections/tobmerc.rst.txt b/_sources/operations/projections/tobmerc.rst.txt new file mode 100644 index 00000000..7bc5cb95 --- /dev/null +++ b/_sources/operations/projections/tobmerc.rst.txt @@ -0,0 +1,100 @@ +.. _tobmerc: + +******************************************************************************** +Tobler-Mercator +******************************************************************************** + +.. versionadded:: 6.0.0 + +Equal area cylindrical projection with the same latitudinal spacing as +Mercator projection. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical equal area | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical only | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global, conventionally truncated at about 80 degrees | +| | north and south | ++---------------------+----------------------------------------------------------+ +| **Alias** | tobmerc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ./images/tobmerc.png + :width: 500 px + :align: center + :alt: Tobler-Mercator + + proj-string: ``+proj=tobmerc`` + +Usage +##### + +The inappropriate use of the Mercator projection has declined but still +occasionally occurs. One method of contrasting the Mercator projection is to +present an alternative in the form of an equal area projection. The map +projection derived here is thus not simply a pretty Christmas tree ornament: +it is instead a complement to Mercator's conformal navigation anamorphosis +and can be displayed as an alternative. The equations for the new map +projection preserve the latitudinal stretching of the Mercator while +adjusting the longitudinal spacing. This allows placement of the new map +adjacent to that of Mercator. The surface area, while drastically warped, +maintains the correct magnitude. + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional. + +.. include:: ../options/k_0.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +.. include:: ../options/R.rst + +Mathematical definition +####################### + +The formulas describing the Tobler-Mercator are taken from Waldo Tobler's +article :cite:`Tobler2018` + +Spherical form +************** +For the spherical form of the projection we introduce the scaling factor: + +.. math:: + + k_0 = \cos^2 \phi_{ts} + +Forward projection +================== + +.. math:: + + x = k_0 \lambda + +.. math:: + + y = k_0 \ln \left[ \tan \left(\frac{\pi}{4} + \frac{\phi}{2} \right) \right] + + +Inverse projection +================== + +.. math:: + + \lambda = \frac{x}{k_0} + +.. math:: + + \phi = \frac{\pi}{2} - 2 \arctan \left[ e^{-y/k_0} \right] diff --git a/_sources/operations/projections/tpeqd.rst.txt b/_sources/operations/projections/tpeqd.rst.txt new file mode 100644 index 00000000..fb75a7b1 --- /dev/null +++ b/_sources/operations/projections/tpeqd.rst.txt @@ -0,0 +1,56 @@ +.. _tpeqd: + +******************************************************************************** +Two Point Equidistant +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | tpeqd | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/tpeqd.png + :width: 500 px + :align: center + :alt: Two Point Equidistant + + proj-string: ``+proj=tpeqd +lat_1=60 +lat_2=65`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. option:: +lon_1=<value> + + Longitude of first point. + +.. option:: +lat_1=<value> + + Latitude of first point. + +.. option:: +lon_2=<value> + + Longitude of second point. + +.. option:: +lat_2=<value> + + Latitude of second point. + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/tpers.rst.txt b/_sources/operations/projections/tpers.rst.txt new file mode 100644 index 00000000..9dd73805 --- /dev/null +++ b/_sources/operations/projections/tpers.rst.txt @@ -0,0 +1,70 @@ +.. _tpers: + +******************************************************************************** +Tilted perspective +******************************************************************************** ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | tpers | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + + +.. figure:: ./images/tpers.png + :width: 500 px + :align: center + :alt: Tilted perspective + + proj-string: ``+proj=tpers +h=5500000 +lat_0=40`` + +Tilted Perspective is similar to :ref:`nsper` (``nsper``) in that it simulates a +perspective view from a height. Where ``nsper`` projects onto a plane tangent to +the surface, Tilted Perspective orients the plane towards the direction of the +view. Thus, extra parameters specifying azimuth and tilt are required beyond +`nsper``'s ``h``. As with ``nsper``, ``lat_0`` & ``lon_0`` are +also required for satellite position. + +Parameters +################################################################################ + +Required +------------------------------------------------------------------------------- + +.. include:: ../options/h.rst + +Optional +------------------------------------------------------------------------------- + +.. option:: +azi=<value> + + Bearing in degrees away from north. + + *Defaults to 0.0.* + +.. option:: +tilt=<value> + + Angle in degrees away from nadir. + + *Defaults to 0.0.* + +.. include:: ../options/lon_0.rst + +.. include:: ../options/lat_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + diff --git a/_sources/operations/projections/ups.rst.txt b/_sources/operations/projections/ups.rst.txt new file mode 100644 index 00000000..b652b563 --- /dev/null +++ b/_sources/operations/projections/ups.rst.txt @@ -0,0 +1,31 @@ +.. _ups: + +******************************************************************************** +Universal Polar Stereographic +******************************************************************************** + +.. figure:: ./images/ups.png + :width: 500 px + :align: center + :alt: Universal Polar Stereographic + + proj-string: ``+proj=ups`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. option:: +south + + South polar aspect. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/urm5.rst.txt b/_sources/operations/projections/urm5.rst.txt new file mode 100644 index 00000000..4d2dd557 --- /dev/null +++ b/_sources/operations/projections/urm5.rst.txt @@ -0,0 +1,41 @@ +.. _urm5: + +******************************************************************************** +Urmaev V +******************************************************************************** + +.. figure:: ./images/urm5.png + :width: 500 px + :align: center + :alt: Urmaev V + + proj-string: ``+proj=urm5 +n=0.9 +alpha=2 +q=4`` + +Parameters +################################################################################ + +Required parameters +-------------------------------------------------------------------------------- +.. option:: +n=<value> + + Set the :math:`n` constant. Value between 0 and 1. + +Optional parameters +-------------------------------------------------------------------------------- +.. option:: +q=<value> + + Set the :math:`q` constant. + +.. option:: +alpha=<value> + + Set the :math:`\alpha` constant. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/ellps.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/urmfps.rst.txt b/_sources/operations/projections/urmfps.rst.txt new file mode 100644 index 00000000..b1f39b28 --- /dev/null +++ b/_sources/operations/projections/urmfps.rst.txt @@ -0,0 +1,29 @@ +.. _urmfps: + +******************************************************************************** +Urmaev Flat-Polar Sinusoidal +******************************************************************************** + +.. figure:: ./images/urmfps.png + :width: 500 px + :align: center + :alt: Urmaev Flat-Polar Sinusoidal + + proj-string: ``+proj=urmfps +n=0.5`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. option:: +n=<value> + + Set the :math:`n` constant. Value between 0 and 1. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/utm.rst.txt b/_sources/operations/projections/utm.rst.txt new file mode 100644 index 00000000..2367cbad --- /dev/null +++ b/_sources/operations/projections/utm.rst.txt @@ -0,0 +1,99 @@ +.. _utm: + +******************************************************************************** +Universal Transverse Mercator (UTM) +******************************************************************************** + +The Universal Transverse Mercator is a system of map projections divided into +sixty zones across the globe, with each zone corresponding to 6 degrees of +longitude. + ++---------------------+----------------------------------------------------------+ +| **Classification** | Transverse cylindrical, conformal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, ellipsoidal only | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Within the used zone, but transformations of coordinates | +| | in adjacent zones can be expected to be accurate as well | ++---------------------+----------------------------------------------------------+ +| **Alias** | utm | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + +.. figure:: ../../../images/utm_zones.png + :alt: Universal Transverse Mercator (UTM) zones + :figwidth: 100% + :align: center + + UTM zones. + +UTM projections are really the :ref:`Transverse Mercator<tmerc>` +to which specific parameters, such as central meridians, have been applied. +The Earth is divided into 60 zones each generally 6° wide in longitude. +Bounding meridians are evenly divisible by 6°, and zones are +numbered from 1 to 60 proceeding east from the 180th meridian from Greenwich +with minor exceptions :cite:`Snyder1987`. + +Usage +##### + +Convert geodetic coordinate to UTM Zone 32 on the northern hemisphere:: + + $ echo 12 56 | proj +proj=utm +zone=32 + 687071.44 6210141.33 + +Convert geodetic coordinate to UTM Zone 59 on the southern hemisphere:: + + $ echo 174 -44 | proj +proj=utm +zone=59 +south + 740526.32 5123750.87 + +Parameters +################################################################################ + +Required +------------------------------------------------------------------------------- + +.. option:: +zone=<value> + + Select which UTM zone to use. Can be a value between 1-60. + + +Optional +------------------------------------------------------------------------------- + +.. option:: +south + + Add this flag when using the UTM on the southern hemisphere. + +.. option:: +approx + + .. versionadded:: 6.0.0 + + Use faster, less accurate algorithm for the Transverse Mercator. + +.. option:: +algo=auto/evenden_snyder/poder_engsager + + .. versionadded:: 7.1 + + Selects the algorithm to use. The hardcoded value and the one defined in + :ref:`proj-ini` default to ``poder_engsager``, that is the most precise + one. + + When using auto, a heuristics based on the input coordinate to transform + is used to determine if the faster Evenden-Snyder method can be used, for + faster computation, without causing an error greater than 0.1 mm (for an + ellipsoid of the size of Earth) + + Note that :option:`+approx` and :option:`+algo` are mutually exclusive. + +.. include:: ../options/ellps.rst + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system>`_ diff --git a/_sources/operations/projections/vandg.rst.txt b/_sources/operations/projections/vandg.rst.txt new file mode 100644 index 00000000..32366534 --- /dev/null +++ b/_sources/operations/projections/vandg.rst.txt @@ -0,0 +1,42 @@ +.. _vandg: + +******************************************************************************** +van der Grinten (I) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | vandg | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/vandg.png + :width: 500 px + :align: center + :alt: van der Grinten (I) + + proj-string: ``+proj=vandg`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/vandg2.rst.txt b/_sources/operations/projections/vandg2.rst.txt new file mode 100644 index 00000000..dee18774 --- /dev/null +++ b/_sources/operations/projections/vandg2.rst.txt @@ -0,0 +1,42 @@ +.. _vandg2: + +******************************************************************************** +van der Grinten II +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | vandg2 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/vandg2.png + :width: 500 px + :align: center + :alt: van der Grinten II + + proj-string: ``+proj=vandg2`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/vandg3.rst.txt b/_sources/operations/projections/vandg3.rst.txt new file mode 100644 index 00000000..9f57f320 --- /dev/null +++ b/_sources/operations/projections/vandg3.rst.txt @@ -0,0 +1,42 @@ +.. _vandg3: + +******************************************************************************** +van der Grinten III +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | vandg3 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/vandg3.png + :width: 500 px + :align: center + :alt: van der Grinten III + + proj-string: ``+proj=vandg3`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/vandg4.rst.txt b/_sources/operations/projections/vandg4.rst.txt new file mode 100644 index 00000000..e2215c91 --- /dev/null +++ b/_sources/operations/projections/vandg4.rst.txt @@ -0,0 +1,42 @@ +.. _vandg4: + +******************************************************************************** +van der Grinten IV +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Miscellaneous | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | vandg4 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/vandg4.png + :width: 500 px + :align: center + :alt: van der Grinten IV + + proj-string: ``+proj=vandg4`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/vitk1.rst.txt b/_sources/operations/projections/vitk1.rst.txt new file mode 100644 index 00000000..c2baf2bf --- /dev/null +++ b/_sources/operations/projections/vitk1.rst.txt @@ -0,0 +1,50 @@ +.. _vitk1: + +******************************************************************************** +Vitkovsky I +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Conical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | vitk1 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/vitk1.png + :width: 500 px + :align: center + :alt: Vitkovsky I + + proj-string: ``+proj=vitk1 +lat_1=45 +lat_2=55`` + +Parameters +################################################################################ + +Required +-------------------------------------------------------------------------------- + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lat_2.rst + +Optional +-------------------------------------------------------------------------------- + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wag1.rst.txt b/_sources/operations/projections/wag1.rst.txt new file mode 100644 index 00000000..72c65ab2 --- /dev/null +++ b/_sources/operations/projections/wag1.rst.txt @@ -0,0 +1,44 @@ +.. _wag1: + +******************************************************************************** +Wagner I (Kavrayskiy VI) +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wag1 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wag1.png + :width: 500 px + :align: center + :alt: Wagner I (Kavrayskiy VI) + + proj-string: ``+proj=wag1`` + +.. note:: This projection name may also be transliterated as Kavraisky VI. + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wag2.rst.txt b/_sources/operations/projections/wag2.rst.txt new file mode 100644 index 00000000..60fa7789 --- /dev/null +++ b/_sources/operations/projections/wag2.rst.txt @@ -0,0 +1,50 @@ +.. _wag2: + +******************************************************************************** +Wagner II +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wag2 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wag2.png + :width: 500 px + :align: center + :alt: Wagner II + + proj-string: ``+proj=wag2`` + +.. math:: + + x &= 0.92483 \lambda \cos \theta + + y &= 1.38725\theta + + \sin \theta &= 0.88022 \sin(0.8855\phi) + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wag3.rst.txt b/_sources/operations/projections/wag3.rst.txt new file mode 100644 index 00000000..6f3dcbb6 --- /dev/null +++ b/_sources/operations/projections/wag3.rst.txt @@ -0,0 +1,50 @@ +.. _wag3: + +******************************************************************************** +Wagner III +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wag3 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wag3.png + :width: 500 px + :align: center + :alt: Wagner III + + proj-string: ``+proj=wag3`` + +.. math:: + + x &= [\cos\phi_{ts} / \cos ( 2\phi_{ts} / 3)] \lambda \cos (2\phi /3) + + y = \phi + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lat_ts.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wag4.rst.txt b/_sources/operations/projections/wag4.rst.txt new file mode 100644 index 00000000..a709acfa --- /dev/null +++ b/_sources/operations/projections/wag4.rst.txt @@ -0,0 +1,42 @@ +.. _wag4: + +******************************************************************************** +Wagner IV +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wag4 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wag4.png + :width: 500 px + :align: center + :alt: Wagner IV + + proj-string: ``+proj=wag4`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wag5.rst.txt b/_sources/operations/projections/wag5.rst.txt new file mode 100644 index 00000000..083b5ec6 --- /dev/null +++ b/_sources/operations/projections/wag5.rst.txt @@ -0,0 +1,42 @@ +.. _wag5: + +******************************************************************************** +Wagner V +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wag5 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wag5.png + :width: 500 px + :align: center + :alt: Wagner V + + proj-string: ``+proj=wag5`` + +Parameters +################################################################################ + +.. note:: All parameters are optional. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wag6.rst.txt b/_sources/operations/projections/wag6.rst.txt new file mode 100644 index 00000000..db7c7421 --- /dev/null +++ b/_sources/operations/projections/wag6.rst.txt @@ -0,0 +1,42 @@ +.. _wag6: + +******************************************************************************** +Wagner VI +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wag6 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wag6.png + :width: 500 px + :align: center + :alt: Wagner VI + + proj-string: ``+proj=wag6`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the Wagner VI projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wag7.rst.txt b/_sources/operations/projections/wag7.rst.txt new file mode 100644 index 00000000..bf99d85b --- /dev/null +++ b/_sources/operations/projections/wag7.rst.txt @@ -0,0 +1,29 @@ +.. _wag7: + +******************************************************************************** +Wagner VII +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Azimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wag7 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wag7.png + :width: 500 px + :align: center + :alt: Wagner VII + + proj-string: ``+proj=wag7`` diff --git a/_sources/operations/projections/webmerc.rst.txt b/_sources/operations/projections/webmerc.rst.txt new file mode 100644 index 00000000..55199b24 --- /dev/null +++ b/_sources/operations/projections/webmerc.rst.txt @@ -0,0 +1,100 @@ +.. _webmerc: + +******************************************************************************** +Web Mercator / Pseudo Mercator +******************************************************************************** + +.. versionadded:: 5.1.0 + +The Web Mercator / Pseudo Mercator projection is a cylindrical map projection. +This is a variant of the regular :ref:`merc` projection, except that the computation +is done on a sphere, using the semi-major axis of the ellipsoid. + +From `Wikipedia <https://en.wikipedia.org/wiki/Web_Mercator>`_: + + This projection is widely used by the Web Mercator, Google Web Mercator, + Spherical Mercator, WGS 84 Web Mercator[1] or WGS 84/Pseudo-Mercator is a + variant of the Mercator projection and is the de facto standard for Web + mapping applications. [...] + It is used by virtually all major online map providers [...] + Its official EPSG identifier is EPSG:3857, although others have been used + historically. + + ++---------------------+----------------------------------------------------------+ +| **Classification** | Cylindrical (non conformant if used with ellipsoid) | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | webmerc | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +Usage +######## + +Example:: + + $ echo 2 49 | proj +proj=webmerc +datum=WGS84 + 222638.98 6274861.39 + +Parameters +################################################################################ + +.. note:: All parameters for the projection are optional, except the ellipsoid + definition, which is WGS84 for the typical use case of EPSG:3857. + In which case, the other parameters are set to their default 0 value. + +.. include:: ../options/ellps.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst + +Mathematical definition +####################### + +The formulas describing the Mercator projection are all taken from G. Evenden's libproj manuals :cite:`Evenden2005`. + +Forward projection +================== + +.. math:: + + x = \lambda + +.. math:: + + y = \ln \left[ \tan \left(\frac{\pi}{4} + \frac{\phi}{2} \right) \right] + + +Inverse projection +================== + +.. math:: + + \lambda = {x} + +.. math:: + + \phi = \frac{\pi}{2} - 2 \arctan \left[ e^{-y} \right] + + + +Further reading +############### + +#. `Wikipedia <https://en.wikipedia.org/wiki/Web_Mercator>`_ + + + diff --git a/_sources/operations/projections/weren.rst.txt b/_sources/operations/projections/weren.rst.txt new file mode 100644 index 00000000..6c7afdad --- /dev/null +++ b/_sources/operations/projections/weren.rst.txt @@ -0,0 +1,42 @@ +.. _weren: + +******************************************************************************** +Werenskiold I +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | weren | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/weren.png + :width: 500 px + :align: center + :alt: Werenskiold I + + proj-string: ``+proj=weren`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wink1.rst.txt b/_sources/operations/projections/wink1.rst.txt new file mode 100644 index 00000000..801bfad2 --- /dev/null +++ b/_sources/operations/projections/wink1.rst.txt @@ -0,0 +1,44 @@ +.. _wink1: + +******************************************************************************** +Winkel I +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wink1 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wink1.png + :width: 500 px + :align: center + :alt: Winkel I + + proj-string: ``+proj=wink1`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lat_ts.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wink2.rst.txt b/_sources/operations/projections/wink2.rst.txt new file mode 100644 index 00000000..059a7efa --- /dev/null +++ b/_sources/operations/projections/wink2.rst.txt @@ -0,0 +1,44 @@ +.. _wink2: + +******************************************************************************** +Winkel II +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudocylindrical | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward and inverse, spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wink2 | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wink2.png + :width: 500 px + :align: center + :alt: Winkel II + + proj-string: ``+proj=wink2`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lat_ts.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst diff --git a/_sources/operations/projections/wintri.rst.txt b/_sources/operations/projections/wintri.rst.txt new file mode 100644 index 00000000..8534c92c --- /dev/null +++ b/_sources/operations/projections/wintri.rst.txt @@ -0,0 +1,44 @@ +.. _wintri: + +******************************************************************************** +Winkel Tripel +******************************************************************************** + ++---------------------+----------------------------------------------------------+ +| **Classification** | Pseudoazimuthal | ++---------------------+----------------------------------------------------------+ +| **Available forms** | Forward spherical projection | ++---------------------+----------------------------------------------------------+ +| **Defined area** | Global | ++---------------------+----------------------------------------------------------+ +| **Alias** | wintri | ++---------------------+----------------------------------------------------------+ +| **Domain** | 2D | ++---------------------+----------------------------------------------------------+ +| **Input type** | Geodetic coordinates | ++---------------------+----------------------------------------------------------+ +| **Output type** | Projected coordinates | ++---------------------+----------------------------------------------------------+ + + +.. figure:: ./images/wintri.png + :width: 500 px + :align: center + :alt: Winkel Tripel + + proj-string: ``+proj=wintri`` + +Parameters +################################################################################ + +.. note:: All parameters are optional for the projection. + +.. include:: ../options/lat_1.rst + +.. include:: ../options/lon_0.rst + +.. include:: ../options/R.rst + +.. include:: ../options/x_0.rst + +.. include:: ../options/y_0.rst |
