| Home | Libraries | People | FAQ | More

#### strategy::distance::haversine

Distance calculation for spherical coordinates on a perfect sphere using haversine.

###### Synopsis

    template<typename Point1, typename Point2, typename CalculationType>
    class strategy::distance::haversine
    {
      // ...
    };

###### Template parameter(s)

Parameter | Default | Description
--- | --- | ---
typename Point1 |  | point type
typename Point2 | Point1 | second point type
typename CalculationType | void | numeric type for calculation (e.g. high precision); if void then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point

###### Constructor(s)

Function | Description | Parameters
--- | --- | ---
    haversine(calculation_type const & radius = 1.0)
| Constructor. | calculation_type const &: radius: radius of the sphere, defaults to 1.0 for the unit sphere

###### Member Function(s)

Function | Description | Parameters | Returns
--- | --- | --- | ---
    calculation_type apply(Point1 const & p1, Point2 const & p2)
| applies the distance calculation | Point1 const &: p1: first point Point2 const &: p2: second point | the calculated distance (including multiplying with radius)
    calculation_type radius()
| access to radius value |  | the radius

###### Header

`#include <boost/geometry/strategies/spherical/distance_haversine.hpp>`

###### See also

distance (with strategy)