Code covered by the BSD License  

Highlights from
Geodesics on an ellipsoid of revolution

5.0

5.0 | 2 ratings Rate this file 74 Downloads (last 30 days) File Size: 26.1 KB File ID: #39108
image thumbnail

Geodesics on an ellipsoid of revolution

by

 

20 Nov 2012 (Updated )

Solutions of the direct and inverse geodesic problems

| Watch this File

File Information
Description

This package includes three routines GEODDISTANCE, GEODRECKON, and
GEODAREA which solve various problems involving geodesics on the surface
of an ellipsoid of revolution. These are based on the paper
  C. F. F. Karney, Algorithms for geodesics,
  J. Geodesy 87, 43-55 (2013);
  http://dx.doi.org/10.1007/s00190-012-0578-z
  Addenda: http://geographiclib.sf.net/geod-addenda.html
which, in turn, is based on the classic solution of the geodesic
problems pioneered by Legendre (1806), Bessel (1825), and Helmert
(1880).
GEODRECKON solves the direct geodesic problem (determining an end point
given a starting point, range, and bearing). GEODDISTANCE solves the
inverse geodesic problem (determining the shortest distance between two
points). GEODAREA determines the area of a polygon whose edges are
geodesics.
  * The routines are accurate to round off for abs(f) < 1/50. For
    example, for the WGS84 ellipsoid, the error in the distance returned
    by GEODDISTANCE is less then 15 nanometers.
  * The routines work for prolate (as well as oblate) ellipsoids.
  * GEODDISTANCE converges for all inputs.
  * Differential and integral properties of the geodesics are computed.
  * GEODAREA is accurate regardless of the length of the edges of the
    polygon.

Also provided are 3 auxiliary routines, DEFAULTELLIPSOID, ECC2FLAT, and
FLAT2ECC.

This package is used by the MATLAB File Exchange packages "Geodesic
projections for an ellipsoid",

  http://www.mathworks.com/matlabcentral/fileexchange/39366

and "Great ellipses",

  http://www.mathworks.com/matlabcentral/fileexchange/47898

Use GEODDOC to obtain a more detailed description.

Acknowledgements

This file inspired Great Ellipses and Geodesic Projections For An Ellipsoid.

Required Products MATLAB
MATLAB release MATLAB 8.1 (R2013a)
MATLAB Search Path
/
/geographiclib-matlab
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (3)
29 Oct 2014 Charles Karney

There's a bad bug in the area calculation in the Matlab routine
geodreckon. Probably, most people calculate areas as part of the
solution of inverse problem using geoddistance; this might explain why
this bug has gone unnoticed for so long. Here is the fix which will be
included in the next release of GeographicLib.

--- old/geographiclib-matlab/geodreckon.m 2014-10-02 08:08:46.000000000 -0400
+++ new/geographiclib-matlab/geodreckon.m 2014-10-28 18:02:05.000000000 -0400
@@ -225,7 +225,7 @@

if areap
C4x = C4coeff(n);
- C4a = C4f(eps, C4x);
+ C4a = C4f(epsi, C4x);
A4 = (a^2 * e2) * calp0 .* salp0;
B41 = SinCosSeries(false, ssig1, csig1, C4a);
B42 = SinCosSeries(false, ssig2, csig2, C4a);

21 Dec 2013 Ryan

This... is absolutely wonderful. I spent ages looking for a toolbox that would calculate geodesic areas. I figured that my only two options would be to purchase the MATLAB mapping toolbox or write a routine myself. I'm so glad I finally found this. Thank you kindly, sir.

03 Feb 2013 littyer

nice

Updates
03 Dec 2012

Synchronize files with GeographicLib 1.27.

11 Dec 2012

Update to GeographicLib 1.28. Fixes 2 bugs: (1) incorrect area returned in certain obscure cases; (2) m12 incorrect for meridional geodesics.

16 Jan 2013

Update journal reference.

02 Jul 2013

Minor improvements to the calculation of short geodesics and the computation of areas.

02 Oct 2014

Synchronize with GeographicLib 1.38.
Minor documentation changes only.

11 Nov 2014

Synchronize with GeographicLib 1.39. Fix the bug in geodreckon
noted on 2014-10-29. Provide the option to prevent the longitude
returned in geodreckon from being reduced to [-180,180).

12 Nov 2014

Uncheck toolbox

21 Nov 2014

Offer as toolbox.

Contact us