# [Proj] Accurate algorithm for geodesic calculations

support.mn at elisanet.fi support.mn at elisanet.fi
Mon Mar 2 03:36:14 EST 2009

```Ok,

I am assuming that this calculates the elliptic path (on some reference ellipsoid)
between any 2 points, without elevation? Yes?

Can sombody post  same for a direct "laser line" between any two points and
with elevation on both ends. This must be a more common problem when doing
shorter ground measurements.

Actually there might be some use for all those versions...

I know that they correct GPS signals about 30 m at the equator max. due to earth
rotation (Sagnac term). If using a laser, should one do the same adjustment? What
would that measure then be (at the equator)?

Janne.

--------------------------------------------

Charles Karney [ckarney at sarnoff.com] kirjoitti:
> I've implemented an algorithm for geodesic calculations for an ellipsoid
> with the following features:
>
>  * It uses expansions accurate to 8th order in the ellipsoid flattening.
>    This gives 12 nm accuracy using doubles and 6 pm accuracy using long
>    doubles.
>  * The direct calculation uses a reverted series and is therefore
>    non-iterative.  A mechanism is provided to do a series of direct
>    calculations on a single geodesic which is faster by a factor of 2.5.
>  * The inverse calculation uses Newton's method to determine the
>    azimuth.  This typically converges in 3 iterations.  I haven't found
>    any cases where it fails to converge.
>  * I provide a large test set geodesics for the WGS84 ellipsoid which is
>    accurate to 0.1 pm and 10^-18 degree.  Thus was generated by Maxima
>    using 20th order expansions (approximately accurate to 1 part in
>    10^50).
>
> Further information is available at
>
>     http://charles.karney.info/geographic/geodesic.html
>
> The code itself (C++ classes and a program for doing geodesic
> calculations) is available at
>
>     http://charles.karney.info/geographic
>
> This compiles with g++ and Visual Studio 2005.
>
> Still to do:
>
>  * Reduce the order of the expansions to match precision available with
>    doubles.
>  * Improve the starting guesses for Newton's method to reduce to number
>    of iterations in some cases.
>  * More documentation on the method.
>  * Provide Maxima code to generate the expansions.
>
> --
> Charles Karney <ckarney at sarnoff.com>
> Sarnoff Corporation, Princeton, NJ 08543-5300
>
> URL: http://charles.karney.info
> Tel: +1 609 734 2312
> Fax: +1 609 734 2662
> _______________________________________________
> Proj mailing list
> Proj at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/proj
>

```