- calc_vincenty_inverse(lat1, lon1, lat2, lon2, a=6378137.0, f=0.0033528106647474805)¶
Vincenty Inverse Solution of Geodesics on the Ellipsoid.
Computes the distance between two geographic points on the WGS84 ellipsoid and the forward and backward azimuths between these points.
- lat1 Latitude of point A in degrees (positive for northern, negative for southern hemisphere)
- lon1 Longitude of point A in degrees (positive for eastern, negative for western hemisphere)
- lat2 Latitude of point B in degrees (positive for northern, negative for southern hemisphere)
- lon2 Longitude of point B in degrees (positive for eastern, negative for western hemisphere)
- a Radius of Earth in m. Uses the value for WGS84 by default.
- f Flattening of Earth. Uses the value for WGS84 by default.
(Great circle distance in m, azimuth A->B in degrees, azimuth B->A in degrees)
This method may have no solution between two nearly antipodal points; an iteration limit traps this case and a StopIteration exception will be raised.
This code is based on an implementation incorporated in Matplotlib Basemap Toolkit 0.9.5 http://sourceforge.net/projects/matplotlib/files/matplotlib-toolkits/basemap-0.9.5/ (matplotlib/toolkits/basemap/greatcircle.py)
Algorithm from Geocentric Datum of Australia Technical Manual.
Computations on the Ellipsoid There are a number of formulae that are available to calculate accurate geodetic positions, azimuths and distances on the ellipsoid. Vincenty's formulae (Vincenty, 1975) may be used for lines ranging from a few cm to nearly 20,000 km, with millimetre accuracy. The formulae have been extensively tested for the Australian region, by comparison with results from other formulae (Rainsford, 1955 & Sodano, 1965). * Inverse problem: azimuth and distance from known latitudes and longitudes * Direct problem: Latitude and longitude from known position, azimuth and distance.