| 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)