ad_map_access
Classes | Enumerations | Functions | Variables
ad::map::route::planning Namespace Reference

provides route planning capabilities on the road network of the map More...

Classes

class  Route
 Implements routing on the lane network. More...
 
class  RouteAstar
 Implements routing on the lane network. More...
 
struct  RouteAstarScore
 cost data for route calculation More...
 
class  RouteExpander
 Implements routing support functionality on the lane network. More...
 
class  RoutePrediction
 Implements route prediction on the lane network. More...
 
struct  RoutePredictionScore
 
struct  RoutingParaPoint
 routing para point More...
 

Enumerations

enum  FilterDuplicatesMode { FilterDuplicatesMode::Off, FilterDuplicatesMode::OnlyEqual, FilterDuplicatesMode::SubRoutesPreferShorterOnes, FilterDuplicatesMode::SubRoutesPreferLongerOnes }
 mode for filtering duplicates in prediction More...
 
enum  CompareRouteResult { CompareRouteResult::Equal, CompareRouteResult::Shorter, CompareRouteResult::Longer, CompareRouteResult::Differ }
 result for comparing two routes with each other More...
 
enum  RoutingDirection { RoutingDirection::DONT_CARE, RoutingDirection::POSITIVE, RoutingDirection::NEGATIVE }
 direction at the para point in respect to the lane orientation More...
 

Functions

RoutingParaPoint createRoutingPoint (lane::LaneId const &laneId, physics::ParametricValue const &parametricOffset, RoutingDirection const &routingDirection=RoutingDirection::DONT_CARE)
 create a RoutingParaPoint More...
 
RoutingParaPoint createRoutingPoint (point::ParaPoint const &paraPoint, RoutingDirection const &routingDirection=RoutingDirection::DONT_CARE)
 create a RoutingParaPoint More...
 
RoutingParaPoint createRoutingPoint (match::LaneOccupiedRegion const &occupiedRegion, RoutingDirection const &routingDirection=RoutingDirection::DONT_CARE)
 create a RoutingParaPoint More...
 
RoutingParaPoint createRoutingPoint (point::ParaPoint const &paraPoint, point::ENUHeading const &heading)
 create a RoutingParaPoint More...
 
RoutingParaPoint createRoutingPoint (match::LaneOccupiedRegion const &occupiedRegion, point::ENUHeading const &heading)
 create a RoutingParaPoint More...
 
route::FullRoute planRoute (const RoutingParaPoint &start, const RoutingParaPoint &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
route::FullRoute planRoute (const point::ParaPoint &start, const point::ParaPoint &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
route::FullRoute planRoute (const point::ParaPoint &start, point::ENUHeading const &startHeading, const point::ParaPoint &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
route::FullRoute planRoute (const point::ParaPoint &start, point::ENUHeading const &startHeading, const point::ParaPoint &dest, point::ENUHeading const &destHeading, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
route::FullRoute planRoute (const RoutingParaPoint &start, const point::GeoPoint &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
route::FullRoute planRoute (const RoutingParaPoint &start, const point::ENUPoint &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
route::FullRoute planRoute (const point::ParaPoint &start, const point::GeoPoint &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
route::FullRoute planRoute (const point::ParaPoint &start, point::ENUHeading const &startHeading, const point::GeoPoint &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
FullRoute planRoute (const point::ParaPoint &start, const config::PointOfInterest &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points. More...
 
FullRoute planRoute (const RoutingParaPoint &start, const std::vector< point::GeoPoint > &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points considering supporting points on the way. More...
 
FullRoute planRoute (const RoutingParaPoint &start, const std::vector< point::ENUPoint > &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points considering supporting points on the way. More...
 
FullRoute planRoute (const RoutingParaPoint &start, std::vector< RoutingParaPoint > const &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points considering supporting points on the way. More...
 
route::FullRoute planRoute (const point::ParaPoint &start, point::ENUHeading const &startHeading, const std::vector< point::GeoPoint > &dest, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection)
 Calculates route between two points considering supporting points on the way. More...
 
std::vector< route::FullRoutepredictRoutesOnDuration (const RoutingParaPoint &start, physics::Duration const &predictionDuration, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection, FilterDuplicatesMode const filterMode=FilterDuplicatesMode::SubRoutesPreferLongerOnes, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 perform route based prediction restricted by the prediction duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again. More...
 
std::vector< route::FullRoutepredictRoutesOnDistance (const RoutingParaPoint &start, physics::Distance const &predictionDistance, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection, FilterDuplicatesMode const filterMode=FilterDuplicatesMode::SubRoutesPreferLongerOnes, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 perform route based prediction restricted by the prediction distance. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again. More...
 
std::vector< route::FullRoutepredictRoutes (const RoutingParaPoint &start, physics::Distance const &predictionDistance, physics::Duration const &predictionDuration, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection, FilterDuplicatesMode const filterMode=FilterDuplicatesMode::SubRoutesPreferLongerOnes, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 perform route based prediction restricted by the prediction distance and duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again. More...
 
std::vector< route::FullRoutepredictRoutesOnDuration (const match::MapMatchedObjectBoundingBox &start, physics::Duration const &predictionDuration, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection, FilterDuplicatesMode const filterMode=FilterDuplicatesMode::SubRoutesPreferLongerOnes, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 perform route based prediction restricted by the prediction duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again. More...
 
std::vector< route::FullRoutepredictRoutesOnDistance (const match::MapMatchedObjectBoundingBox &start, physics::Distance const &predictionDistance, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection, FilterDuplicatesMode const filterMode=FilterDuplicatesMode::SubRoutesPreferLongerOnes, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 perform route based prediction restricted by the prediction distance. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again. More...
 
std::vector< route::FullRoutepredictRoutes (const match::MapMatchedObjectBoundingBox &start, physics::Distance const &predictionDistance, physics::Duration const &predictionDuration, RouteCreationMode const routeCreationMode=RouteCreationMode::SameDrivingDirection, FilterDuplicatesMode const filterMode=FilterDuplicatesMode::SubRoutesPreferLongerOnes, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 perform route based prediction restricted by the prediction distance and duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again. More...
 
std::vector< route::FullRoutepredictRoutesDirectionless (const point::ParaPoint &start, physics::Distance const &predictionDistance, physics::Duration const &predictionDuration, RouteCreationMode const routeCreationMode=RouteCreationMode::AllRoutableLanes, FilterDuplicatesMode const filterMode=FilterDuplicatesMode::SubRoutesPreferLongerOnes, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 perform route based prediction restricted by the prediction distance and duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again. More...
 
FullRouteList filterDuplicatedRoutes (const FullRouteList fullRoutes, FilterDuplicatesMode const filterMode)
 Filter duplicated routes from a list of routes. More...
 
std::ostream & operator<< (std::ostream &os, CompareRouteResult const &value)
 
CompareRouteResult compareRoutesOnIntervalLevel (FullRoute const &left, FullRoute const &right)
 Compare two routes on interval level. More...
 
ConnectingRoute calculateConnectingRoute (const match::Object &startObject, const match::Object &destObject, physics::Distance const &maxDistance, physics::Duration const &maxDuration, std::vector< route::FullRoute > const &startObjectPredictionHints=std::vector< route::FullRoute >(), std::vector< route::FullRoute > const &destObjectPredictionHints=std::vector< route::FullRoute >(), ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 Calculate the connecting route between the the two objects. More...
 
ConnectingRoute calculateConnectingRoute (const match::Object &startObject, const match::Object &destObject, physics::Distance const &maxDistance, std::vector< route::FullRoute > const &startObjectPredictionHints=std::vector< route::FullRoute >(), std::vector< route::FullRoute > const &destObjectPredictionHints=std::vector< route::FullRoute >(), ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 Calculate the connecting route between the the two objects. More...
 
ConnectingRoute calculateConnectingRoute (const match::Object &startObject, const match::Object &destObject, physics::Duration const &maxDuration, std::vector< route::FullRoute > const &startObjectPredictionHints=std::vector< route::FullRoute >(), std::vector< route::FullRoute > const &destObjectPredictionHints=std::vector< route::FullRoute >(), ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet())
 Calculate the connecting route between the the two objects. More...
 
void updateRoutePlanningCounters (route::FullRoute &route)
 update route planning counters of the route More...
 
FullRoute createFullRoute (const Route::RawRoute &rawRoute, RouteCreationMode const routeCreationMode, lane::LaneIdSet const &relevantLanes)
 helper function to create a full route More...
 
std::ostream & operator<< (std::ostream &os, Route::RawRoute const &value)
 
RoutingParaPoint createRoutingParaPoint (lane::LaneId const &laneId, physics::ParametricValue const &parametricOffset, RoutingDirection const &routingDirection=RoutingDirection::DONT_CARE)
 create a RoutingParaPoint More...
 

Variables

static const physics::Distance cMinimumNeighborDistance {0.1}
 
static const physics::Duration cMinimumNeighborDuration {0.05}
 
static const physics::Speed cMinimumSpeed {10.}
 

Detailed Description

provides route planning capabilities on the road network of the map

Enumeration Type Documentation

◆ CompareRouteResult

result for comparing two routes with each other

Enumerator
Equal 

equal

Shorter 

shorter

Longer 

longer

Differ 

differ

◆ FilterDuplicatesMode

mode for filtering duplicates in prediction

Enumerator
Off 

no filtering at all

OnlyEqual 

filter routes that are exactly equal

SubRoutesPreferShorterOnes 

filter real sub-routes, prefer shorter ones

SubRoutesPreferLongerOnes 

filter real sub-routes, prefer longer ones

◆ RoutingDirection

direction at the para point in respect to the lane orientation

Enumerator
DONT_CARE 

Vehicle direction is not relevant.

POSITIVE 

Vehicle direction is same as Lane orientation.

NEGATIVE 

Vehicle direction is opposite of Lane orientation.

Function Documentation

◆ calculateConnectingRoute() [1/3]

ConnectingRoute ad::map::route::planning::calculateConnectingRoute ( const match::Object startObject,
const match::Object destObject,
physics::Distance const &  maxDistance,
physics::Duration const &  maxDuration,
std::vector< route::FullRoute > const &  startObjectPredictionHints = std::vector< route::FullRoute >(),
std::vector< route::FullRoute > const &  destObjectPredictionHints = std::vector< route::FullRoute >(),
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

Calculate the connecting route between the the two objects.

For route calculations the route type core::Route::Type::SHORTEST_IGNORE_DIRECTION is used. The prediction hints are taken into account if no direct connecting route can be found in search of a merge route. If no prediction hints are given, respective route predictions are calculated internally.

Parameters
[in]startObjectobject at starting position
[in]destObjectobject at destination position
[in]maxDistancedistance when the search can be stopped.
[in]maxDurationduration when the search can be stopped.
[in]startObjectPredictionHintsroute prediction hints for start object (optional)
[in]destObjectPredictionHintsroute prediction hints for dest object (optional)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes

◆ calculateConnectingRoute() [2/3]

ConnectingRoute ad::map::route::planning::calculateConnectingRoute ( const match::Object startObject,
const match::Object destObject,
physics::Distance const &  maxDistance,
std::vector< route::FullRoute > const &  startObjectPredictionHints = std::vector< route::FullRoute >(),
std::vector< route::FullRoute > const &  destObjectPredictionHints = std::vector< route::FullRoute >(),
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

Calculate the connecting route between the the two objects.

For route calculations the route type core::Route::Type::SHORTEST_IGNORE_DIRECTION is used. The prediction hints are taken into account if no direct connecting route can be found in search of a merge route. If no prediction hints are given, respective route predictions are calculated internally.

Parameters
[in]startObjectobject at starting position
[in]destObjectobject at destination position
[in]maxDistancedistance when the search can be stopped.
[in]startObjectPredictionHintsroute prediction hints for start object (optional)
[in]destObjectPredictionHintsroute prediction hints for dest object (optional)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes

◆ calculateConnectingRoute() [3/3]

ConnectingRoute ad::map::route::planning::calculateConnectingRoute ( const match::Object startObject,
const match::Object destObject,
physics::Duration const &  maxDuration,
std::vector< route::FullRoute > const &  startObjectPredictionHints = std::vector< route::FullRoute >(),
std::vector< route::FullRoute > const &  destObjectPredictionHints = std::vector< route::FullRoute >(),
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

Calculate the connecting route between the the two objects.

For route calculations the route type core::Route::Type::SHORTEST_IGNORE_DIRECTION is used. The prediction hints are taken into account if no direct connecting route can be found in search of a merge route. If no prediction hints are given, respective route predictions are calculated internally.

Parameters
[in]startObjectobject at starting position
[in]destObjectobject at destination position
[in]maxDurationduration when the search can be stopped.
[in]startObjectPredictionHintsroute prediction hints for start object (optional)
[in]destObjectPredictionHintsroute prediction hints for dest object (optional)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes

◆ compareRoutesOnIntervalLevel()

CompareRouteResult ad::map::route::planning::compareRoutesOnIntervalLevel ( FullRoute const &  left,
FullRoute const &  right 
)

Compare two routes on interval level.

Returns
CompareRouteResult of the comparison
Return values
CompareRouteResult::Equalleft route and right route are considered equal on interval level
CompareRouteResult::Shorterleft route is a real sub-route of the right route, therefore left route is considered shorter
CompareRouteResult::Longerright route is a real sub-route of the left route, therefore left route is considered longer
CompareRouteResult::Differleft route and right route are considered different on interval level

◆ createFullRoute()

FullRoute ad::map::route::planning::createFullRoute ( const Route::RawRoute rawRoute,
RouteCreationMode const  routeCreationMode,
lane::LaneIdSet const &  relevantLanes 
)

helper function to create a full route

mainly used internally.

◆ createRoutingParaPoint()

RoutingParaPoint ad::map::route::planning::createRoutingParaPoint ( lane::LaneId const &  laneId,
physics::ParametricValue const &  parametricOffset,
RoutingDirection const &  routingDirection = RoutingDirection::DONT_CARE 
)
inline

create a RoutingParaPoint

Parameters
[in]laneIdthe lane id
[in]parametricOffsetthe parametric offset
[in]routingDirectionthe routing direction in respect to the lane orientation Be aware: this might be different from the nominal driving direction!

◆ createRoutingPoint() [1/5]

RoutingParaPoint ad::map::route::planning::createRoutingPoint ( lane::LaneId const &  laneId,
physics::ParametricValue const &  parametricOffset,
RoutingDirection const &  routingDirection = RoutingDirection::DONT_CARE 
)

create a RoutingParaPoint

Parameters
[in]laneIdthe lane id
[in]parametricOffsetthe parametric offset
[in]routingDirectionthe routing direction in respect to the lane orientation Be aware: this might be different from the nominal driving direction!

◆ createRoutingPoint() [2/5]

RoutingParaPoint ad::map::route::planning::createRoutingPoint ( match::LaneOccupiedRegion const &  occupiedRegion,
point::ENUHeading const &  heading 
)

create a RoutingParaPoint

We select the routing point by either taking the maximum or minimum of the occupied region Since occupied regions span over a certain area, the point is selected in a way, that it is ensured that any other point within the region can be reached by routing with the given routing direction

Parameters
[in]occupiedRegionthe occupied region
[in]headingthe heading to be respected

◆ createRoutingPoint() [3/5]

RoutingParaPoint ad::map::route::planning::createRoutingPoint ( match::LaneOccupiedRegion const &  occupiedRegion,
RoutingDirection const &  routingDirection = RoutingDirection::DONT_CARE 
)

create a RoutingParaPoint

We select the routing point by either taking the maximum or minimum of the occupied region Since occupied regions span over a certain area, the point is selected in a way, that it is ensured that any other point within the region can be reached by routing with the given routing direction

Parameters
[in]occupiedRegionthe occupied region
[in]routingDirectionthe routing direction in respect to the lane orientation Be aware: this might be different from the nominal driving direction!

◆ createRoutingPoint() [4/5]

RoutingParaPoint ad::map::route::planning::createRoutingPoint ( point::ParaPoint const &  paraPoint,
point::ENUHeading const &  heading 
)

create a RoutingParaPoint

Parameters
[in]paraPointthe parametric point
[in]headingthe heading to be respected

◆ createRoutingPoint() [5/5]

RoutingParaPoint ad::map::route::planning::createRoutingPoint ( point::ParaPoint const &  paraPoint,
RoutingDirection const &  routingDirection = RoutingDirection::DONT_CARE 
)

create a RoutingParaPoint

Parameters
[in]paraPointthe parametric point
[in]routingDirectionthe routing direction in respect to the lane orientation Be aware: this might be different from the nominal driving direction!

◆ filterDuplicatedRoutes()

FullRouteList ad::map::route::planning::filterDuplicatedRoutes ( const FullRouteList  fullRoutes,
FilterDuplicatesMode const  filterMode 
)

Filter duplicated routes from a list of routes.

If one of the routes is a real sub-route of the other, the longer version of the route is kept, the shorter dropped

Parameters
[in]fullRouteslist of full routes to be filtered
[in]filterModethe mode for filtering the routes
Returns
the filtered list of routes according to the provided filterMode

◆ planRoute() [1/13]

FullRoute ad::map::route::planning::planRoute ( const point::ParaPoint start,
const config::PointOfInterest dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)
inline

Calculates route between two points.

Parameters
[in]startStart point.
[in]destDestination point as point of interest.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [2/13]

route::FullRoute ad::map::route::planning::planRoute ( const point::ParaPoint start,
const point::GeoPoint dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)
inline

Calculates route between two points.

Parameters
[in]startStart point.
[in]destDestination point as geo point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [3/13]

route::FullRoute ad::map::route::planning::planRoute ( const point::ParaPoint start,
const point::ParaPoint dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)
inline

Calculates route between two points.

Orientation at start/dest are not considered.

Parameters
[in]startStart point.
[in]destDestination point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [4/13]

route::FullRoute ad::map::route::planning::planRoute ( const point::ParaPoint start,
point::ENUHeading const &  startHeading,
const point::GeoPoint dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)
inline

Calculates route between two points.

Parameters
[in]startStart point.
[in]startHeadingHeading at start point.
[in]destDestination point as geo point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [5/13]

route::FullRoute ad::map::route::planning::planRoute ( const point::ParaPoint start,
point::ENUHeading const &  startHeading,
const point::ParaPoint dest,
point::ENUHeading const &  destHeading,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)
inline

Calculates route between two points.

Parameters
[in]startStart point.
[in]startHeadingHeading at start point.
[in]destDestination point.
[in]destHeadingHeading at dest point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [6/13]

route::FullRoute ad::map::route::planning::planRoute ( const point::ParaPoint start,
point::ENUHeading const &  startHeading,
const point::ParaPoint dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)
inline

Calculates route between two points.

Orientation at dest is not considered.

Parameters
[in]startStart point.
[in]startHeadingHeading at start point.
[in]destDestination point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [7/13]

route::FullRoute ad::map::route::planning::planRoute ( const point::ParaPoint start,
point::ENUHeading const &  startHeading,
const std::vector< point::GeoPoint > &  dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)
inline

Calculates route between two points considering supporting points on the way.

Parameters
[in]startStart point.
[in]startHeadingHeading at start point.
[in]destVector with supporting points as geo points to be visited on the route. Last point in the list is the actual destination point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [8/13]

route::FullRoute ad::map::route::planning::planRoute ( const RoutingParaPoint start,
const point::ENUPoint dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)

Calculates route between two points.

Parameters
[in]startStart point as RoutingParaPoint (Be aware: routing direction in respect to lane orientation!).
[in]destDestination point as ENU point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [9/13]

route::FullRoute ad::map::route::planning::planRoute ( const RoutingParaPoint start,
const point::GeoPoint dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)

Calculates route between two points.

Parameters
[in]startStart point as RoutingParaPoint (Be aware: routing direction in respect to lane orientation!).
[in]destDestination point as geo point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [10/13]

route::FullRoute ad::map::route::planning::planRoute ( const RoutingParaPoint start,
const RoutingParaPoint dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)

Calculates route between two points.

Parameters
[in]startStart point as RoutingParaPoint (Be aware: routing direction in respect to lane orientation!).
[in]destDestination point as RoutingParaPoint (Be aware: routing direction in respect to lane orientation!).
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ planRoute() [11/13]

FullRoute ad::map::route::planning::planRoute ( const RoutingParaPoint start,
const std::vector< point::ENUPoint > &  dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)

Calculates route between two points considering supporting points on the way.

Parameters
[in]startStart point.
[in]destVector with supporting points as ENU points to be visited on the route. Last point in the list is the actual destination point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

Be aware: Supporting points providing multiple map maptched positions (i.e. the ones located within intersections) are discarded to ensure the proper route is taken.

◆ planRoute() [12/13]

FullRoute ad::map::route::planning::planRoute ( const RoutingParaPoint start,
const std::vector< point::GeoPoint > &  dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)

Calculates route between two points considering supporting points on the way.

Parameters
[in]startStart point.
[in]destVector with supporting points as geo points to be visited on the route. Last point in the list is the actual destination point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

Be aware: Supporting points providing multiple map maptched positions (i.e. the ones located within intersections) are discarded to ensure the proper route is taken.

◆ planRoute() [13/13]

FullRoute ad::map::route::planning::planRoute ( const RoutingParaPoint start,
std::vector< RoutingParaPoint > const &  dest,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection 
)

Calculates route between two points considering supporting points on the way.

Parameters
[in]startStart point.
[in]destVector with supporting points to be visited on the route. Last point in the list is the actual destination point.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)

◆ predictRoutes() [1/2]

std::vector<route::FullRoute> ad::map::route::planning::predictRoutes ( const match::MapMatchedObjectBoundingBox start,
physics::Distance const &  predictionDistance,
physics::Duration const &  predictionDuration,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection,
FilterDuplicatesMode const  filterMode = FilterDuplicatesMode::SubRoutesPreferLongerOnes,
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

perform route based prediction restricted by the prediction distance and duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startstart point as map matched bounding box.
[in]predictionDistancedistance when the prediction can be stopped.
[in]predictionDurationduration when the prediction can be stopped.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)
[in]filterModethe mode for filtering the routes (default: FilterDuplicatesMode::SubRoutesPreferLongerOnes)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes
Returns
vector with all possible predicted routes.

◆ predictRoutes() [2/2]

std::vector<route::FullRoute> ad::map::route::planning::predictRoutes ( const RoutingParaPoint start,
physics::Distance const &  predictionDistance,
physics::Duration const &  predictionDuration,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection,
FilterDuplicatesMode const  filterMode = FilterDuplicatesMode::SubRoutesPreferLongerOnes,
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

perform route based prediction restricted by the prediction distance and duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startstart point.
[in]predictionDistancedistance when the prediction can be stopped.
[in]predictionDurationduration when the prediction can be stopped.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)
[in]filterModethe mode for filtering the routes (default: FilterDuplicatesMode::SubRoutesPreferLongerOnes)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes
Returns
vector with all possible predicted routes.

◆ predictRoutesDirectionless()

std::vector<route::FullRoute> ad::map::route::planning::predictRoutesDirectionless ( const point::ParaPoint start,
physics::Distance const &  predictionDistance,
physics::Duration const &  predictionDuration,
RouteCreationMode const  routeCreationMode = RouteCreationMode::AllRoutableLanes,
FilterDuplicatesMode const  filterMode = FilterDuplicatesMode::SubRoutesPreferLongerOnes,
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

perform route based prediction restricted by the prediction distance and duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

This variant of route prediction allows to travel in either road directions. Therefore, the start orientation is irrelevant (considered to be RoutingDirection::DONT_CARE).

Parameters
[in]startstart point as parametric point.
[in]predictionDistancedistance when the prediction can be stopped.
[in]predictionDurationduration when the prediction can be stopped.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::AllRoutableLanes) Be aware: selecting a routeCreationMode of RouteCreationMode::SameDrivingDirection will lead to incomplete FullRoutes since the routes starting in wrong direction cannot be presented by this!
[in]filterModethe mode for filtering the routes (default: FilterDuplicatesMode::SubRoutesPreferLongerOnes)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes
Returns
vector with all possible predicted routes.

◆ predictRoutesOnDistance() [1/2]

std::vector<route::FullRoute> ad::map::route::planning::predictRoutesOnDistance ( const match::MapMatchedObjectBoundingBox start,
physics::Distance const &  predictionDistance,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection,
FilterDuplicatesMode const  filterMode = FilterDuplicatesMode::SubRoutesPreferLongerOnes,
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

perform route based prediction restricted by the prediction distance. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startstart point as map matched bounding box.
[in]predictionDistancedistance when the prediction can be stopped.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)
[in]filterModethe mode for filtering the routes (default: FilterDuplicatesMode::SubRoutesPreferLongerOnes)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes
Returns
vector with all possible predicted routes.

◆ predictRoutesOnDistance() [2/2]

std::vector<route::FullRoute> ad::map::route::planning::predictRoutesOnDistance ( const RoutingParaPoint start,
physics::Distance const &  predictionDistance,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection,
FilterDuplicatesMode const  filterMode = FilterDuplicatesMode::SubRoutesPreferLongerOnes,
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

perform route based prediction restricted by the prediction distance. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startstart point.
[in]predictionDistancedistance when the prediction can be stopped.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)
[in]filterModethe mode for filtering the routes (default: FilterDuplicatesMode::SubRoutesPreferLongerOnes)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes
Returns
vector with all possible predicted routes.

◆ predictRoutesOnDuration() [1/2]

std::vector<route::FullRoute> ad::map::route::planning::predictRoutesOnDuration ( const match::MapMatchedObjectBoundingBox start,
physics::Duration const &  predictionDuration,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection,
FilterDuplicatesMode const  filterMode = FilterDuplicatesMode::SubRoutesPreferLongerOnes,
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

perform route based prediction restricted by the prediction duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startstart point as map matched bounding box.
[in]predictionDurationduration when the prediction can be stopped.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)
[in]filterModethe mode for filtering the routes (default: FilterDuplicatesMode::SubRoutesPreferLongerOnes)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes
Returns
vector with all possible predicted routes.

◆ predictRoutesOnDuration() [2/2]

std::vector<route::FullRoute> ad::map::route::planning::predictRoutesOnDuration ( const RoutingParaPoint start,
physics::Duration const &  predictionDuration,
RouteCreationMode const  routeCreationMode = RouteCreationMode::SameDrivingDirection,
FilterDuplicatesMode const  filterMode = FilterDuplicatesMode::SubRoutesPreferLongerOnes,
::ad::map::lane::LaneIdSet const &  relevantLanes = ::ad::map::lane::LaneIdSet() 
)

perform route based prediction restricted by the prediction duration. Note: Route predictions will not stop in the middle of an intersection. They continue until the intersection is left again.

Parameters
[in]startstart point.
[in]predictionDurationduration when the prediction can be stopped.
[in]routeCreationModethe mode of creating the route (default: RouteCreationMode::SameDrivingDirection)
[in]filterModethe mode for filtering the routes (default: FilterDuplicatesMode::SubRoutesPreferLongerOnes)
[in]relevantLanesif not empty, the function restricts the prediction to the given set of lanes
Returns
vector with all possible predicted routes.

◆ updateRoutePlanningCounters()

void ad::map::route::planning::updateRoutePlanningCounters ( route::FullRoute route)

update route planning counters of the route

mainly used internally.