Intersection analysis occupy in osrm::extractor::intersection namespace and guidance code osrm::guidance
38 lines
1.3 KiB
C++
38 lines
1.3 KiB
C++
#ifndef OSRM_EXTRACTOR_INTERSECTION_CONSTANTS_HPP_
|
|
#define OSRM_EXTRACTOR_INTERSECTION_CONSTANTS_HPP_
|
|
|
|
namespace osrm
|
|
{
|
|
namespace extractor
|
|
{
|
|
namespace intersection
|
|
{
|
|
|
|
// what angle is interpreted as going straight
|
|
const double constexpr STRAIGHT_ANGLE = 180.;
|
|
const double constexpr ORTHOGONAL_ANGLE = 90.;
|
|
// if a turn deviates this much from going straight, it will be kept straight
|
|
const double constexpr MAXIMAL_ALLOWED_NO_TURN_DEVIATION = 3.;
|
|
// angle that lies between two nearly indistinguishable roads
|
|
const double constexpr NARROW_TURN_ANGLE = 40.;
|
|
const double constexpr GROUP_ANGLE = 60;
|
|
// angle difference that can be classified as straight, if its the only narrow turn
|
|
const double constexpr FUZZY_ANGLE_DIFFERENCE = 25.;
|
|
|
|
// Road priorities give an idea of how obvious a turn is. If two priorities differ greatly (e.g.
|
|
// service road over a primary road, the better priority can be seen as obvious due to its road
|
|
// category).
|
|
const double constexpr PRIORITY_DISTINCTION_FACTOR = 1.75;
|
|
|
|
// the lane width we assume for a single lane
|
|
const auto constexpr ASSUMED_LANE_WIDTH = 3.25;
|
|
|
|
// how far apart can roads be at the most, when thinking about merging them?
|
|
const auto constexpr MERGABLE_ANGLE_DIFFERENCE = 95.0;
|
|
|
|
} // namespace intersection
|
|
} // namespace extractor
|
|
} // namespace osrm
|
|
|
|
#endif // OSRM_EXTRACTOR_INTERSECTION_CONSTANTS_HPP_
|