obspy.geodetics.base.calc_vincenty_inverse

calc_vincenty_inverse(lat1, lon1, lat2, lon2, a=6378137.0, f=0.0033528106647474805)[source]

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.

Parameters:
  • 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.

Returns:

(Great circle distance in m, azimuth A->B in degrees, azimuth B->A in degrees)

Raises:

This method may have no solution between two nearly antipodal points; an iteration limit traps this case and a StopIteration exception will be raised.

Note

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.

It states:

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.