[/============================================================================
  Boost.Geometry (aka GGL, Generic Geometry Library)

  Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands.
  Copyright (c) 2008-2013 Bruno Lalande, Paris, France.
  Copyright (c) 2009-2013 Mateusz Loskot, London, UK.

  Use, modification and distribution is subject to the Boost Software License,
  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]


[/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
[/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine.xml]
[section:strategy_distance_haversine strategy::distance::haversine]

'''<indexterm><primary>strategy</primary></indexterm><indexterm><primary>distance</primary></indexterm><indexterm><primary>haversine</primary></indexterm>'''
Distance calculation for spherical coordinates on a perfect sphere using haversine. 

[heading Synopsis]
``template<typename RadiusTypeOrSphere, typename CalculationType>
class strategy::distance::haversine
{
  // ...
};
``

[heading Template parameter(s)]
[table
[[Parameter] [Default] [Description]]
[[typename RadiusTypeOrSphere] [double] [numeric type for radius (of sphere, earth) or sphere model ]]
[[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 ]]
]

[heading Constructor(s)]
[table
[[Function] [Description] [Parameters] ]
[[``haversine()``

] [Default constructor, radius set to 1.0 for the unit sphere. ] [

]]
[[``template<typename RadiusOrSphere>
haversine(RadiusOrSphere const & radius_or_sphere)``

] [Constructor. ] [[* RadiusOrSphere const &]: ['radius_or_sphere]:  radius of the sphere or sphere model 



]]
]

[heading Member Function(s)]
[table
[[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) 

]
]
[[``radius_type radius()``

] [access to radius value ] [

][
the radius 

]
]
]

[heading Header]
`#include <boost/geometry/strategies/spherical/distance_haversine.hpp>`

[heading See also]
[link geometry.reference.algorithms.distance.distance_3_with_strategy distance (with strategy)]

[endsect]

