[PROJ] Arc length of an ellipse

Charles Karney charles at karney.com
Mon Jan 20 06:16:57 PST 2020


Wikipedia gives exact formulas, involving the incomplete elliptic
integral of the second kind, E(phi, k), for the meridian arc length
measured from the equator.  You can use these.  Perhaps you're asking
how to compute E(k, phi)?  I recommend Carlson (1995)

   https://doi.org/10.1007/BF02198293

which allows E(k, phi) to be computed to arbitrary precision.  The
EllipticFunction class in GeographicLib uses Carlson's methods:

https://geographiclib.sourceforge.io/html/classGeographicLib_1_1EllipticFunction.html

You also mentioned computing the Fourier coefficients for transverse
Mercator to higher order.  You will find the coefficients accurate to
f^30 (f = flattening) in

   https://geographiclib.sourceforge.io/html/tmseries30.html

These are the Fourier coefficients from conversion between conformal and
rectifying latitudes.

Finally, I note that you can use 128-bit floats with boost's
boost::multiprecision::float128 type.  This depends on the GCC's
libquadmath library and so is available on vanilla Linux systems.

   --Charles

On 1/20/20 8:34 AM, Pierre Abbat wrote:
> I'd like to make a separate transmer program which will compute the Fourier
> series coefficients for transverse Mercator with greater precision than the
> transmer program in Bezitopo does. To do this, I need to compute the arc
> length from the equator to any point along the meridian of an ellipsoid.
> Wikipedia says that elliptic integrals came from computing the arc length of
> an ellipse, but doesn't explain how to compute the arc length using elliptic
> functions. Do you know how to do this?
> 
> I won't get around to doing this until late March at the earliest. I'm going
> to present at the MAA sectional, and to compute in 16-byte floats I need a
> Power9 box, which I don't have yet.
> 
> Pierre
> 

-- 
Charles Karney <charles at karney.com>
Princeton, NJ


More information about the PROJ mailing list