| Home | Libraries | People | FAQ | More

#### strategy::distance::cross_track

Strategy functor for distance point to segment calculation.

###### Description

Class which calculates the distance of a point to a segment, for points on a sphere or globe

###### Synopsis

    template<typename CalculationType, typename Strategy>
    class strategy::distance::cross_track
    {
      // ...
    };

###### Template parameter(s)

Parameter | Default | Description
--- | --- | ---
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
typename Strategy | haversine<double, CalculationType> | underlying point-point distance strategy, defaults to haversine

###### Constructor(s)

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

    cross_track()

    cross_track(typename Strategy::radius_type const & r)

typename Strategy::radius_type const &: r:

    cross_track(Strategy const & s)

Strategy const &: s:

###### Member Function(s)

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

    template<typename Point, typename PointOfSegment>
    auto apply(Point const & p, PointOfSegment const & sp1, PointOfSegment const & sp2)

Point const &: p:

PointOfSegment const &: sp1:

PointOfSegment const &: sp2:

    template<typename T1, typename T2>
    radius_type vertical_or_meridian(T1 lat1, T2 lat2)

T1: lat1:

T2: lat2:

    Strategy::radius_type radius()

###### Header

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

###### See also

distance (with strategy)