strategy::distance::haversine

| Home | Libraries | People | FAQ | More

#### strategy::distance::haversine

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

###### Synopsis

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

###### Template parameter(s)

Parameter | Default | Description
--- | --- | ---
typename RadiusType |  | numeric type for radius (of sphere, earth)
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(RadiusType const & radius = 1.0)

Constructor.

RadiusType const &: radius: radius of the sphere, defaults to 1.0 for the unit sphere

###### Member Function(s)

Function | Description | Parameters | Returns
--- | --- | --- | ---

    template<typename Point1, typename Point2>
    calculation_type< Point1, Point2 >::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)

    RadiusType radius()

access to radius value

the radius

###### Header

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

###### See also

distance (with strategy)