aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2019-02-24 14:03:44 +0100
committerGitHub <noreply@github.com>2019-02-24 14:03:44 +0100
commit49280e58edc3100359ac184d91fcea98d58fe2f7 (patch)
tree9405d74c7a88c66039affba07c5fec156bc873d9
parent140c64713b451db3456287e338e1ce297a52d047 (diff)
parent55cbf65df79dfa2616aeb337aafcc95afa73273a (diff)
downloadPROJ-49280e58edc3100359ac184d91fcea98d58fe2f7.tar.gz
PROJ-49280e58edc3100359ac184d91fcea98d58fe2f7.zip
Merge pull request #1285 from rouault/doc_patterson
Doc: add minimal documentation for patterson, compact miller, misrsom, natearth2, sch and times projections
-rw-r--r--docs/plot/plotdefs.json11
-rw-r--r--docs/source/operations/projections/comill.rst46
-rw-r--r--docs/source/operations/projections/images/times.pngbin0 -> 421132 bytes
-rw-r--r--docs/source/operations/projections/index.rst6
-rw-r--r--docs/source/operations/projections/misrsom.rst36
-rw-r--r--docs/source/operations/projections/natearth2.rst49
-rw-r--r--docs/source/operations/projections/patterson.rst46
-rw-r--r--docs/source/operations/projections/sch.rst65
-rw-r--r--docs/source/operations/projections/times.rst43
-rw-r--r--docs/source/references.bib38
-rw-r--r--src/projections/sch.cpp2
11 files changed, 341 insertions, 1 deletions
diff --git a/docs/plot/plotdefs.json b/docs/plot/plotdefs.json
index daaf2ef8..8d763f0c 100644
--- a/docs/plot/plotdefs.json
+++ b/docs/plot/plotdefs.json
@@ -1233,6 +1233,17 @@
"type": "line"
},
{
+ "filename": "times.png",
+ "latmax": 90,
+ "latmin": -90,
+ "lonmax": 180,
+ "lonmin": -180,
+ "name": "times",
+ "projstring": "+proj=times",
+ "res": "low",
+ "type": "poly"
+ },
+ {
"filename": "tissot.png",
"latmax": 90,
"latmin": -90,
diff --git a/docs/source/operations/projections/comill.rst b/docs/source/operations/projections/comill.rst
new file mode 100644
index 00000000..94b2695c
--- /dev/null
+++ b/docs/source/operations/projections/comill.rst
@@ -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:`Jenny2014`
+
++---------------------+----------------------------------------------------------+
+| **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/docs/source/operations/projections/images/times.png b/docs/source/operations/projections/images/times.png
new file mode 100644
index 00000000..b7d9c481
--- /dev/null
+++ b/docs/source/operations/projections/images/times.png
Binary files differ
diff --git a/docs/source/operations/projections/index.rst b/docs/source/operations/projections/index.rst
index e6ec9076..c5b249c9 100644
--- a/docs/source/operations/projections/index.rst
+++ b/docs/source/operations/projections/index.rst
@@ -31,6 +31,7 @@ Projections map the spherical 3D space to a flat 2D space.
cea
chamb
collg
+ comill
crast
denoy
eck1
@@ -83,11 +84,13 @@ Projections map the spherical 3D space to a flat 2D space.
merc
mil_os
mill
+ misrsom
moll
murd1
murd2
murd3
natearth
+ natearth2
nell
nell_h
nicol
@@ -99,6 +102,7 @@ Projections map the spherical 3D space to a flat 2D space.
omerc
ortel
ortho
+ patterson
pconic
poly
putp1
@@ -115,6 +119,7 @@ Projections map the spherical 3D space to a flat 2D space.
robin
rouss
rpoly
+ sch
sinu
somerc
stere
@@ -122,6 +127,7 @@ Projections map the spherical 3D space to a flat 2D space.
gstmerc
tcc
tcea
+ times
tissot
tmerc
tobmerc
diff --git a/docs/source/operations/projections/misrsom.rst b/docs/source/operations/projections/misrsom.rst
new file mode 100644
index 00000000..bb738fa0
--- /dev/null
+++ b/docs/source/operations/projections/misrsom.rst
@@ -0,0 +1,36 @@
+.. _misrsom:
+
+********************************************************************************
+Space oblique for MISR
+********************************************************************************
+
+.. 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/docs/source/operations/projections/natearth2.rst b/docs/source/operations/projections/natearth2.rst
new file mode 100644
index 00000000..ec33141d
--- /dev/null
+++ b/docs/source/operations/projections/natearth2.rst
@@ -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:`Savric2016`
+
+
+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/docs/source/operations/projections/patterson.rst b/docs/source/operations/projections/patterson.rst
new file mode 100644
index 00000000..11211a5f
--- /dev/null
+++ b/docs/source/operations/projections/patterson.rst
@@ -0,0 +1,46 @@
+.. _patterson:
+
+********************************************************************************
+Patterson
+********************************************************************************
+
+The Patterson projection is a cylindrical map projection designed for
+general-purpose mapmaking.
+
+See :cite:`Patterson2015`
+
++---------------------+----------------------------------------------------------+
+| **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/docs/source/operations/projections/sch.rst b/docs/source/operations/projections/sch.rst
new file mode 100644
index 00000000..f987d75d
--- /dev/null
+++ b/docs/source/operations/projections/sch.rst
@@ -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/docs/source/operations/projections/times.rst b/docs/source/operations/projections/times.rst
new file mode 100644
index 00000000..33e12148
--- /dev/null
+++ b/docs/source/operations/projections/times.rst
@@ -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/docs/source/references.bib b/docs/source/references.bib
index b36e1e2d..8a0de291 100644
--- a/docs/source/references.bib
+++ b/docs/source/references.bib
@@ -140,6 +140,24 @@
Doi = {10.5281/zenodo.32050}
}
+@Article{Hensley2002,
+ Title = {Improved Processing of AIRSAR Data Based on the GeoSAR Processor},
+ Author = {Scott Hensley and Elaine Chapin and Adam Freedman and Thierry Michel},
+ Journal = {Airsar earth science and applications workshop},
+ Year = {2002},
+ Url = {https://airsar.jpl.nasa.gov/documents/workshop2002/papers/T3.pdf}
+}
+
+@Article{Jenny2014,
+ Title = {A compromise aspect-adaptive cylindrical projection for world maps},
+ Author = {Bernhard Jenny, Bojan Šavrič, Tom Patterson},
+ Journal = {International Journal of Geographical Information Science},
+ Year = {2014},
+
+ Doi = {10.1080/13658816.2014.997734},
+ Url = {http://www.cartography.oregonstate.edu/pdf/2015_Jenny_etal_ACompromiseAspect-adaptiveCylindricalProjectionForWorldMaps.pdf}
+}
+
@Article{Karney2013,
Title = {Algorithms for geodesics},
Author = {C. F. F. Karney},
@@ -197,6 +215,16 @@
Url = {https://archive.org/details/DTIC_ADA026294}
}
+@Article{Patterson2015,
+ Title = {Introducing the Patterson Cylindrical Projection},
+ Author = {Tom Patterson, Bojan Šavrič, Bernhard Jenny},
+ Journal = {Cartographic Perspectives},
+ Year = {2015},
+ Number = {78},
+
+ Doi = {10.14714/CP78.1270}
+}
+
@article{Ruffhead2016,
author = {A. C. Ruffhead},
title = {Introduction to multiple regression equations in datum transformations and their reversibility},
@@ -216,6 +244,16 @@
Year = {1993}
}
+@Article{Savric2016,
+ Title = {The Natural Earth II world map projection},
+ Author = {Bojan Šavrič, Tom Patterson, Bernhard Jenny},
+ Journal = {International Journal of Geographical Information Science},
+ Year = {2016},
+
+ Doi = {10.1080/23729333.2015.1093312},
+ Url = {http://berniejenny.info/pdf/2016_Savric_etal_NaturalEarthII.pdf}
+}
+
@Article{Savric2018,
Author = {B. Šavrič and T. Patterson and B. Jenny},
Title = {The Equal Earth map projection},
diff --git a/src/projections/sch.cpp b/src/projections/sch.cpp
index f4c66688..c6fb6145 100644
--- a/src/projections/sch.cpp
+++ b/src/projections/sch.cpp
@@ -215,7 +215,7 @@ PJ *PROJECTION(sch) {
return pj_default_destructor(P, PJD_ERR_FAILED_TO_FIND_PROJ);
}
- /* Check if peg latitude is defined */
+ /* Check if peg heading is defined */
if (pj_param(P->ctx, P->params, "tphdg_0").i)
Q->phdg = pj_param(P->ctx, P->params, "rphdg_0").f;
else {