(Geodesics on the WGS84-ellipsoid - V.5)

(refs: T.Vincenty, C.Karney)

Enter DEGREES with decimals:

North and East = positive, South and West = negative.

**GEODESIC-Program or GREAT-CIRCLE Navigation**

This program calculates the shortest distance (geodesic) between two points on the EARTH given in terms of latitude and longitude.
Three models of the earth are considered: EARTH_WGS84 is a rotational ellipsoid, which is todays standard model of the earth
having major axis a = 6378.137 km and minor axis (to the poles) b = 6356.752 km (reciprocal of flattening: 1/f = 298.25723).
[Source: https://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf] (United Nations Office for Outer Space Affairs).

The second model is a simple SPHERE
with radius r =6371.0 km as mean volumetric radius [Source 2021: https://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html],
and the third model is the classical NAUTIC spherical model, where the perimeter of the earth is given as 21600 nautical miles,
and by definition 1 nm = 1.852 km (see below). From this an earth radius r_naut= 6366.707 km is concluded.
The practical sailor tends to use model NAUTIC, as he can interpret differences between latitudes in arc-minutes directly as nautical miles.

**Usage**
Enter the values for the two latitudes and longitudes in decimal form as degrees ( e.g.: 125.09847), north and east positive, south and west negative.
Then klick CALCULATE.
The results for the three models are then shown. The angle α1 is the angle of the geodesic at point 1 in forward direction,
the angle α2 is the angle at point 2 seen in backward direction.

**Description**
The SPHERE model and the NAUTIC model are just simple formulas from spherical trigonometry. The shortest trajectory between
two points are simply great-circles through these two points.
Much more complicated is the case for the non-spherical rotational ellipsoid forming the WGS84-model,
which is also the basis for position determination by GPS.
To find the shortest path means mathematically to solve a variational problem. Most of that work was accomplished in the 19-th century.
The solution here is due to Thaddeus Vincenty from 1975, and 1975b, including formulas for computers.
[https://en.wikipedia.org/wiki/Vincenty%27s_formulae ].
Furthermore our program contains improvements -as addressed by Charles Karney- to give convergence also near antipodal points.
If the second point P2 is close to the antipodal of the first point P1 (like south pole opposite to north pole),
the original Vincenty-algorithm fails to converge, but the present code is working. Distances are precise by <1 meter, angles by <1 arcsecond.
An even more precise evaluation is provided by Charles Karney, who gives C-programs and Fortran-programs for a full calculation
[Source: "C. Karney, Algorithms for geodesics, J.Geodesy 87 (1), 43, (2013)". - https://geographiclib.sourceforge.io/1.44/].
To verify, try the following inputs: P1(Lat=-0.4, Lon=0), P2(Lat=0.5, Lon=179.9). Result: Distance=19992.082 km,
Azimuths: α1 =8.1738 deg; α2 =351.8261 deg from north.
Note finally that there is a small difference of 0.4 ±0.1 m to the actual astronomical value for earth-radius
[Source (2021): https://asa.hmnao.com/SecK/Constants.html], as compared to the WGS84 model.
We stay with the WGS84-values, as they are being kept constant by definition for longer periods of time, and differences
compared to the most recent astronomical data for the present purposes are somewhere in the last digits.

(Nautical Mile: Formally, the nautical mile is not anymore an official measure related to the international SI-units.
While in the brochure of the BIPM [= Bureau International des Poids et Mesures] 8th edition 2006 in table 8
the nautical mile is defined as 1 nm = 1.852 km exactly,
this definition is not contained in the last edition 9 of 2019.)

**Copyright**

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the license or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License
(www.gnu.org/licenses/) for more details.
*If errors are encountered, kindly inform: info@ocean-navigation.de
- Last update 12. may. 2023.*