[Proj] Distance calculations
ovv at hetnet.nl
Sun Oct 19 07:46:20 EDT 2008
----- Original Message -----
From: "Irwin Scollar" <al001 at uni-koeln.de>
To: <proj at lists.maptools.org>
Sent: Saturday, October 18, 2008 10:46 AM
Subject: [Proj] Distance calculations
> The Zhang Xue-Lian method of distance calculation was implemented in C in
> the NIMA/MUSE DTCC4 program for the forward and inverse cases as distazm.h
> and distazm.c. I converted the inverse implementation to Pascal for use
> in a dll which is freely available
> The DTCC4 suite and the web links are no longer available. If anyone needs
> help with this, please ask off-line.
> Irwin Scollar
Recently I obtained a copy of the DTCC4 code from mr. Scollar (thanks!).
I compared the inverse (this is from two lat/lons to dist/azi) with the NGS
Vincenty version and the Saito 1979 examples.
* NGS Vincenty: http://www.ngs.noaa.gov/PC_PROD/Inv_Fwd/
* Saito 1979: Tsutomu Saito, The computation of long geodesics on the
Gaussian quadrature, Bull. Geod. 53 (1979), pp. 165-177
* DTCC4 ask Irwin Scollar
Superficially the DTCC4 method looks the same as the Simgear method,
There are hardly any differences in the results from the DTCC4 method or the
Vincenty method. As long as the lat/lons do not lie in difficult regions.
In difficult regions (see for instance the Saito paper, Examples 7,8,9) the
DTCC4 code does not always converge and is pretty useless.
The Vincenty method gives a distance which is off, and completely wrong
For the difficult regions Saito gives separate algorithms. The 'regular'
code is excellent, but the 'special' algorithms seem to suffer from errors
in the paper - for instance perhaps the sin(sigma) for beta1.beta2>0, on
How silly are the 'difficult regions'? See for yourself.
For instance, Saito Example 7:
Ellipsoid: axis_a = 6378388 m; flattening = 1/297;
lat1 = 30d 19m 54.95367s; lon1 = 0;
lat2 = -30d 11m 50.15681s; lon2 = 179d 58m 17.84244s;
Saito paper: dist = 19989590.5480 m, azi1 = 2d 23m 52.108130s, azi2 = 177d
-> DTCC4 geo_inverse: no convergence
-> Vincenty NGS:
dist = 19934085.484195, azi1 = 288d 06m 04.5934s, azi2 = 71d 39m 40.3207s
Oscar van Vlijmen
More information about the Proj