From 742d8913037464b484c45c40c7d14a216599f834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Komsta?= <22728459+luqqe@users.noreply.github.com> Date: Tue, 21 Nov 2017 17:40:21 +0100 Subject: Central conic projection (gnomonic) implementation (as 'proj=ccon') (#662) Central conic projection implemented as 'ccon'. --- docs/source/projections/ccon.rst | 118 ++++++++++++++++++++++++++++++++ docs/source/projections/images/ccon.png | Bin 0 -> 205856 bytes docs/source/projections/index.rst | 1 + docs/source/references.rst | 6 ++ 4 files changed, 125 insertions(+) create mode 100644 docs/source/projections/ccon.rst create mode 100644 docs/source/projections/images/ccon.png (limited to 'docs/source') diff --git a/docs/source/projections/ccon.rst b/docs/source/projections/ccon.rst new file mode 100644 index 00000000..6197f061 --- /dev/null +++ b/docs/source/projections/ccon.rst @@ -0,0 +1,118 @@ +.. _ccon: + +******************************************************************************** +Central Conic +******************************************************************************** + +.. image:: ./images/ccon.png + :scale: 50% + :alt: Central Conic + +This is central (centrographic) projection on cone tangent at ``lat_0`` latitude, +identical with ``conic()`` projection from ``mapproj`` R package. + +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 [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 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000 + +For more information see [Komsta2016]_ and [Verey2017]_. + + +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 +datum=WGS84 +no_defs + 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 +datum=WGS84 +no_defs +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/docs/source/projections/images/ccon.png b/docs/source/projections/images/ccon.png new file mode 100644 index 00000000..ccc0ec9e Binary files /dev/null and b/docs/source/projections/images/ccon.png differ diff --git a/docs/source/projections/index.rst b/docs/source/projections/index.rst index ae8ef1ee..5ccf0045 100644 --- a/docs/source/projections/index.rst +++ b/docs/source/projections/index.rst @@ -20,6 +20,7 @@ Projections calcofi cass cc + ccon cea chamb collg diff --git a/docs/source/references.rst b/docs/source/references.rst index 26c4da08..31100ded 100644 --- a/docs/source/references.rst +++ b/docs/source/references.rst @@ -26,3 +26,9 @@ References .. [ONeilLaubscher1976] E.M. O'Neill and R.E. Laubscher, 1976, "Extended Studies of a Quadrilateralized Spherical Cube Earth Data Base". Tech. Rep. NEPRF 3-76 (CSC), Naval Environmental Prediction Research Facility. .. [LambersKolb2012] M. Lambers and A. Kolb, 2012, "Ellipsoidal Cube Maps for Accurate Rendering of Planetary-Scale Terrain Data", Proc. Pacfic Graphics (Short Papers). + +.. [Zajac1978] A. Zajac, 1978, "Atlas of distribution of vascular plants in Poland (ATPOL)". Taxon 27(5/6), 481–484. + +.. [Komsta2016] L. Komsta, 2016, `ATPOL geobotanical grid revisited – a proposal of coordinate conversion algorithms `__. Annales UMCS Sectio E Agricultura 71(1), 31-37. + +.. [Verey2017] M. Verey, 2017, `Theoretical analysis and practical consequences of adopting an ATPOL grid model as a conical projection, defining the conversion of plane coordinates to the WGS - 84 ellipsoid `__. Fragmenta Floristica et Geobotanica Polonica (preprint submitted). -- cgit v1.2.3