Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

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)


PrevUpHomeNext