diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-11-20 11:26:32 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-20 11:26:32 +0100 |
| commit | 2f2c150a52acd21cc23962d618b451a517c44948 (patch) | |
| tree | e081c677fcf7a7cbd5b6546b857e7859958a7249 | |
| parent | 0510077777f6f04d6e8207b4a67f362fc1cc803e (diff) | |
| parent | f93250223349d8e31c7f78fe9db8010fd8cfd64b (diff) | |
| download | PROJ-2f2c150a52acd21cc23962d618b451a517c44948.tar.gz PROJ-2f2c150a52acd21cc23962d618b451a517c44948.zip | |
Merge pull request #2951 from OSGeo/backport-2922-to-8.2
[Backport 8.2] Docs: Add new Ellipsoids page to explain ellipsoidal parameters.
| -rw-r--r-- | docs/images/general_ellipsoid.png | bin | 0 -> 79502 bytes | |||
| -rw-r--r-- | docs/images/general_ellipsoid.svg | 227 | ||||
| -rw-r--r-- | docs/source/operations/options/R.rst | 6 | ||||
| -rw-r--r-- | docs/source/operations/options/ellps.rst | 5 | ||||
| -rw-r--r-- | docs/source/usage/ellipsoids.rst | 159 | ||||
| -rw-r--r-- | docs/source/usage/index.rst | 1 | ||||
| -rw-r--r-- | src/ell_set.cpp | 2 |
7 files changed, 396 insertions, 4 deletions
diff --git a/docs/images/general_ellipsoid.png b/docs/images/general_ellipsoid.png Binary files differnew file mode 100644 index 00000000..f6191d46 --- /dev/null +++ b/docs/images/general_ellipsoid.png 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) |
