aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrendan Jurd <direvus@gmail.com>2021-11-20 18:58:13 +1100
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2021-11-20 07:58:48 +0000
commitf93250223349d8e31c7f78fe9db8010fd8cfd64b (patch)
treee081c677fcf7a7cbd5b6546b857e7859958a7249
parent0510077777f6f04d6e8207b4a67f362fc1cc803e (diff)
downloadPROJ-f93250223349d8e31c7f78fe9db8010fd8cfd64b.tar.gz
PROJ-f93250223349d8e31c7f78fe9db8010fd8cfd64b.zip
Docs: Add new Ellipsoids page to explain ellipsoidal parameters (#2922)
Co-authored-by: Rohit <rohitpingale103@gmail.com> Co-authored-by: Brendan Jurd <brendan.jurd@geoplex.com.au> Co-authored-by: Mike Taves <mwtoews@gmail.com>
-rw-r--r--docs/images/general_ellipsoid.pngbin0 -> 79502 bytes
-rw-r--r--docs/images/general_ellipsoid.svg227
-rw-r--r--docs/source/operations/options/R.rst6
-rw-r--r--docs/source/operations/options/ellps.rst5
-rw-r--r--docs/source/usage/ellipsoids.rst159
-rw-r--r--docs/source/usage/index.rst1
-rw-r--r--src/ell_set.cpp2
7 files changed, 396 insertions, 4 deletions
diff --git a/docs/images/general_ellipsoid.png b/docs/images/general_ellipsoid.png
new file mode 100644
index 00000000..f6191d46
--- /dev/null
+++ b/docs/images/general_ellipsoid.png
Binary files differ
diff --git a/docs/images/general_ellipsoid.svg b/docs/images/general_ellipsoid.svg
new file mode 100644
index 00000000..d9e69b71
--- /dev/null
+++ b/docs/images/general_ellipsoid.svg
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="297mm"
+ height="210mm"
+ viewBox="0 0 297 210"
+ version="1.1"
+ id="svg8"
+ inkscape:version="1.0.2 (e86c8708, 2021-01-15)"
+ sodipodi:docname="general_ellipsoid.svg"
+ inkscape:export-filename="general_ellipsoid.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <title
+ id="title957">Global and local fitting of an ellipsoid</title>
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.031875"
+ inkscape:cx="374.70624"
+ inkscape:cy="396.85039"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="false"
+ inkscape:window-width="1598"
+ inkscape:window-height="1027"
+ inkscape:window-x="1856"
+ inkscape:window-y="35"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Global and local fitting of an ellipsoid</dc:title>
+ <cc:license
+ rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:date>2021-11-05</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Brendan Jurd</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Github user RohitPingale</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:none;stroke:#999999;stroke-width:0.750858;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.50172, 0.75085800000000003;stroke-dashoffset:0;stroke-opacity:0.40080971"
+ d="M 156.44319,186.24994 V 117.82622"
+ id="path1482" />
+ <path
+ style="fill:none;stroke:#999999;stroke-width:0.896;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.792, 0.89600000000000002;stroke-dashoffset:0;stroke-opacity:0.40080971"
+ d="m 58.96348,118.22975 h 97.33606"
+ id="path935" />
+ <ellipse
+ style="fill:none;fill-rule:evenodd;stroke:#1a1a1a;stroke-width:2.065;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path28"
+ cx="156.44319"
+ cy="118.22974"
+ rx="97.51786"
+ ry="69.16964" />
+ <path
+ style="fill:none;stroke:#999999;stroke-width:0.750858;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.50172, 0.750858;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 156.44319,117.82622 V 49.402501"
+ id="path853" />
+ <path
+ style="fill:none;stroke:#999999;stroke-width:0.895554;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.79111, 0.895554;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 156.29954,118.22975 H 253.6356"
+ id="path855" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;line-height:1.25;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.112651"
+ x="159.34363"
+ y="83.696701"
+ id="text859"><tspan
+ sodipodi:role="line"
+ id="tspan857"
+ x="159.34363"
+ y="83.696701"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.112651">Semi-minor axis (<tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.112651"
+ id="tspan879">b</tspan>)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;line-height:1.25;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.112651"
+ x="181.45177"
+ y="124.99306"
+ id="text885"><tspan
+ sodipodi:role="line"
+ x="181.45177"
+ y="124.99306"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.112651"
+ id="tspan887">Semi-major axis (a)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.147382"
+ x="158.15302"
+ y="21.362297"
+ id="text895"><tspan
+ sodipodi:role="line"
+ id="tspan901"
+ x="158.15302"
+ y="21.362297"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.147382">Ellipsoid with global</tspan><tspan
+ sodipodi:role="line"
+ id="tspan903"
+ x="158.15302"
+ y="28.417847"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.147382">best fit to the geoid</tspan></text>
+ <path
+ id="ellipse899"
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:2.065;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 250.57205,126.24012 c 0,10.3563 0.79642,22.95383 -4.95439,31.77405 -6.79906,10.42796 -24.54555,8.97677 -37.34928,15.81511 -9.05328,4.83528 -21.79692,12.89112 -32.91197,15.26472 -27.66481,4.68453 -59.11518,-19.7509 -86.905434,-16.78315 -8.578355,1.27119 -8.339518,-7.31997 -9.983362,-11.76181 -3.87888,-10.48113 -13.772177,-10.54553 -20.07239,-18.16709 -8.475237,-10.25276 -2.858896,-6.47896 -2.858896,-19.22274 0,-2.23965 -2.00657,-5.68681 -1.713176,-7.87195 0.870667,-6.48458 3.619707,-12.4 6.838529,-18.237452 3.249123,-5.892404 4.215749,-16.320907 9.496636,-21.298025 5.233032,-4.932017 25.546827,-5.654431 32.420623,-9.436334 8.50097,-4.677165 7.64672,-15.157132 18.05385,-17.647255 9.7928,-2.343133 31.06499,3.472825 41.97223,3.472825 10.55663,0 18.25676,-4.355842 27.77783,-2.154984 18.79452,4.344476 20.90825,11.704407 32.74723,22.55346 5.8064,5.320891 20.10592,8.263235 25.90809,15.42057 6.94991,8.573135 1.53388,29.596795 1.53388,38.280055 z"
+ sodipodi:nodetypes="sssccsssssssssssss" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.147382"
+ x="251.19659"
+ y="68.192177"
+ id="text912"><tspan
+ sodipodi:role="line"
+ id="tspan910"
+ x="251.19659"
+ y="68.192177"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.147382">The geoid</tspan></text>
+ <ellipse
+ style="fill:#d40000;fill-opacity:0.360704;stroke:#d40000;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path918"
+ cx="-40.997208"
+ cy="134.36771"
+ rx="41.438278"
+ ry="27.882259"
+ transform="rotate(-54.737323)" />
+ <path
+ style="fill:none;stroke:#0000ff;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 53.766668,94.819757 36.67779,94.620025"
+ id="path920" />
+ <path
+ style="fill:none;stroke:#0000ff;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 53.573102,147.37655 36.484224,147.17682"
+ id="path922" />
+ <path
+ id="path924"
+ style="fill:none;stroke:#0000ff;stroke-width:0.600001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 36.601427,114.28374 0.0702,-19.701134" />
+ <path
+ id="path936"
+ style="fill:none;stroke:#0000ff;stroke-width:0.600001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 36.484224,147.17682 0.07988,-22.41775" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.147382"
+ x="16.566299"
+ y="120.85104"
+ id="text930"><tspan
+ sodipodi:role="line"
+ id="tspan928"
+ x="16.566299"
+ y="120.85104"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.147382">Local region</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:1.25;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.147382"
+ x="81.438286"
+ y="23.518936"
+ id="text945"><tspan
+ sodipodi:role="line"
+ id="tspan943"
+ x="81.438286"
+ y="23.518936"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.147382">Ellipsoid with best fit</tspan><tspan
+ sodipodi:role="line"
+ x="81.438286"
+ y="30.574486"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'Linux Libertine Display O';-inkscape-font-specification:'Linux Libertine Display O, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.147382"
+ id="tspan949">to the local region</tspan></text>
+ <path
+ style="fill:none;stroke:#d40000;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 102.52722,34.488045 92.360198,72.383272"
+ id="path951"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#1a1a1a;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 168.15066,31.407132 -3.6971,14.480289"
+ id="path953"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#0000ff;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 255.34049,72.691364 -3.6971,14.480289"
+ id="path955"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>
diff --git a/docs/source/operations/options/R.rst b/docs/source/operations/options/R.rst
index 6d1b597e..40ccc384 100644
--- a/docs/source/operations/options/R.rst
+++ b/docs/source/operations/options/R.rst
@@ -1,4 +1,6 @@
.. option:: +R=<value>
- Radius of the sphere given in meters. If used in conjunction with ``+ellps``,
- ``+R`` takes precedence.
+ Radius of the sphere, given in meters. If used in conjunction with
+ ``+ellps``, :option:`+R` takes precedence.
+
+ See :ref:`ellipsoid_size_parameters` for more information.
diff --git a/docs/source/operations/options/ellps.rst b/docs/source/operations/options/ellps.rst
index b754f741..9fda547f 100644
--- a/docs/source/operations/options/ellps.rst
+++ b/docs/source/operations/options/ellps.rst
@@ -1,5 +1,8 @@
.. option:: +ellps=<value>
- See :option:`proj -le` for a list of available ellipsoids.
+ The name of a built-in ellipsoid definition.
+
+ See :ref:`ellipsoids` for more information, or execute
+ :option:`proj -le` for a list of built-in ellipsoid names.
*Defaults to "GRS80".*
diff --git a/docs/source/usage/ellipsoids.rst b/docs/source/usage/ellipsoids.rst
new file mode 100644
index 00000000..cd4b0c43
--- /dev/null
+++ b/docs/source/usage/ellipsoids.rst
@@ -0,0 +1,159 @@
+.. _ellipsoids:
+
+================================================================================
+Ellipsoids
+================================================================================
+An ellipsoid is a mathematically defined surface which approximates the *geoid*:
+the surface of the Earth's gravity field, which is approximately the same as
+mean sea level.
+
+
+.. figure:: ../../images/general_ellipsoid.png
+ :width: 500 px
+ :align: center
+ :alt: Global and local fitting of the ellipsoid
+
+ Global and local fitting of the ellipsoid
+
+
+A complete ellipsoid definition comprises a size (primary) and a shape (secondary)
+parameter.
+
+.. _ellipsoid_size_parameters:
+
+Ellipsoid size parameters
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. option:: +R=<value>
+
+ Radius of the sphere, :math:`R`.
+
+.. option:: +a=<value>
+
+ Semi-major axis of the ellipsoid, :math:`a`.
+
+.. _ellipsoid_shape_parameters:
+
+Ellipsoid shape parameters
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. option:: +rf=<value>
+
+ Reverse flattening of the ellipsoid, :math:`1/f`.
+
+.. option:: +f=<value>
+
+ Flattening of the ellipsoid, :math:`f`.
+
+.. option:: +es=<value>
+
+ Eccentricity squared, :math:`e^2`.
+
+.. option:: +e=<value>
+
+ Eccentricity, :math:`e`.
+
+.. option:: +b=<value>
+
+ Semi-minor axis, :math:`b`.
+
+The ellipsoid definition may be augmented with a spherification flag, turning
+the ellipsoid into a sphere with features defined by the ellipsoid.
+
+.. _ellipsoid_spherification_parameters:
+
+Ellipsoid spherification parameters
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. option:: +R_A=<value>
+
+ A sphere with the same surface area as the ellipsoid.
+
+.. option:: +R_V=<value>
+
+ A sphere with the same volume as the ellipsoid.
+
+.. option:: +R_a=<value>
+
+ A sphere with :math:`R = (a + b)/2` (arithmetic mean).
+
+.. option:: +R_g=<value>
+
+ A sphere with :math:`R = \sqrt{ab}` (geometric mean).
+
+.. option:: +R_h=<value>
+
+ A sphere with :math:`R = 2ab/(a+b)` (harmonic mean).
+
+.. option:: +R_lat_a=<phi>
+
+ A sphere with :math:`R` being the arithmetic mean of the corresponding
+ ellipsoid at latitude :math:`\phi`.
+
+.. option:: +R_lat_g=<phi>
+
+ A sphere with :math:`R` being the geometric mean of the corresponding
+ ellipsoid at latitude :math:`\phi`.
+
+If :option:`+R` is given as size parameter, any shape and spherification
+parameters given are ignored.
+
+.. _ellipsoid_definitions:
+
+Built-in ellipsoid definitions
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+The ``ellps=xxx`` parameter provides both size and shape for a number of
+built-in ellipsoid definitions.
+
+ ============ ================================= ============================
+ ellps Parameters Datum name
+ ============ ================================= ============================
+ GRS80 a=6378137.0 rf=298.257222101 GRS 1980(IUGG, 1980)
+ airy a=6377563.396 b=6356256.910 Airy 1830
+ bessel a=6377397.155 rf=299.1528128 Bessel 1841
+ clrk66 a=6378206.4 b=6356583.8 Clarke 1866
+ intl a=6378388.0 rf=297. International 1909 (Hayford)
+ WGS60 a=6378165.0 rf=298.3 WGS 60
+ WGS66 a=6378145.0 rf=298.25 WGS 66
+ WGS72 a=6378135.0 rf=298.26 WGS 72
+ WGS84 a=6378137.0 rf=298.257223563 WGS 84
+ sphere a=6370997.0 b=6370997.0 Normal Sphere (r=6370997)
+ ============ ================================= ============================
+
+If size and shape are given as ``ellps=xxx``, later shape and size parameters
+are are taken into account as modifiers for the built-in ellipsoid definition.
+
+While this may seem strange, it is in accordance with historical PROJ
+behavior. It can e.g. be used to define coordinates on the ellipsoid
+scaled to unit semimajor axis by specifying ``+ellps=xxx +a=1``
+
+.. _ellipsoid_transformation_examples:
+
+Transformation examples
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Spherical earth with radius 7000km:
+
+::
+
+ proj=laton R=7000000
+
+Using the GRS80 ellipsoid:
+
+::
+
+ proj=laton ellps=GRS80
+
+Expressing ellipsoid by semi-major axis and reverse flattening (:math:`1/f`):
+
+::
+
+ proj=laton a=6378137.0 rf=298.25
+
+Spherical earth based on volume of ellipsoid
+
+::
+
+ proj=laton a=6378137.0 rf=298.25 +R_V
+
diff --git a/docs/source/usage/index.rst b/docs/source/usage/index.rst
index a074b18b..4bb75121 100644
--- a/docs/source/usage/index.rst
+++ b/docs/source/usage/index.rst
@@ -15,6 +15,7 @@ command line applications or the C API that is a part of the software package.
quickstart
projections
transformation
+ ellipsoids
environmentvars
differences
network
diff --git a/src/ell_set.cpp b/src/ell_set.cpp
index f6599b9e..f86bf65a 100644
--- a/src/ell_set.cpp
+++ b/src/ell_set.cpp
@@ -51,7 +51,7 @@ int pj_ellipsoid (PJ *P) {
Spherification parameters supported are:
R_A, which gives a sphere with the same surface area as the ellipsoid
- R_A, which gives a sphere with the same volume as the ellipsoid
+ R_V, which gives a sphere with the same volume as the ellipsoid
R_a, which gives a sphere with R = (a + b)/2 (arithmetic mean)
R_g, which gives a sphere with R = sqrt(a*b) (geometric mean)