|
| RoutingResult | CalculateRouteViaCoords (RoutingProfile &profile, const std::vector< GeoCoord > &via, const Distance &radius, const RoutingParameter ¶meter) |
| | Calculate a route going through all the via points.
|
| |
| void | Close () |
| | Close the routing service.
|
| |
| void | DumpStatistics () |
| |
| RoutePositionResult | GetClosestRoutableNode (const GeoCoord &coord, const RoutingProfile &profile, const Distance &radius) const |
| | Returns the closest routable object (area or way) relative to the given coordinate.
|
| |
| RoutePositionResult | GetClosestRoutableNode (const GeoCoord &coord, const RoutingProfile &profile, const Distance &radius, RouteEndpoint endpoint) const |
| | The closest routable way the position can be attached to for the given end of a route.
|
| |
| ClosestRoutableObjectResult | GetClosestRoutableObject (const GeoCoord &location, Vehicle vehicle, const Distance &maxRadius) |
| | Returns the closest routeable object (area or way) relative to the given coordinate.
|
| |
| std::map< DatabaseId, std::string > | GetDatabaseMapping () const override |
| | Get current mapping of DatabaseId to db path than be used later for lookup objects in description.
|
| |
| RoutePositionResult | GetRoutableNode (const ObjectFileRef &objRef, const RoutingProfile &profile) const |
| | Return routable node on specific object, when this object is routable and usable by provided profile.
|
| |
| TypeConfigRef | GetTypeConfig () const |
| | Returns the type configuration of the underlying db instance.
|
| |
| bool | IsOpen () const |
| | Returns true, if the routing service has been successfully opened, else false.
|
| |
| bool | Open () |
| | Opens the routing service.
|
| |
| | SimpleRoutingService (const DatabaseRef &database, const RouterParameter ¶meter, const std::string &filenamebase) |
| | Create a new instance of the routing service.
|
| |
| | ~SimpleRoutingService () override |
| |
| | AbstractRoutingService (const RouterParameter ¶meter) |
| |
| RoutingResult | CalculateRoute (RoutingProfile &state, const RoutePosition &start, const RoutePosition &target, const std::optional< osmscout::Bearing > &bearing, const RoutingParameter ¶meter) |
| | Calculate a route.
|
| |
| RoutePointsResult | TransformRouteDataToPoints (const RouteData &data) |
| | Transforms the route into a list of points.
|
| |
| RouteDescriptionResult | TransformRouteDataToRouteDescription (const RouteData &data) |
| | Transform the route into a RouteDescription.
|
| |
| RouteWayResult | TransformRouteDataToWay (const RouteData &data) |
| | Transforms the route into a Way (with empty type)
|
| |
| | ~AbstractRoutingService () override |
| |
| | RoutingService () |
| |
| virtual | ~RoutingService () |
| |
|
| bool | CanUse (const RoutingProfile &profile, DatabaseId database, const RouteNode &routeNode, size_t pathIndex) override |
| |
| bool | CanUseBackward (const RoutingProfile &profile, const DatabaseId &database, const WayRef &way) override |
| |
| bool | CanUseForward (const RoutingProfile &profile, const DatabaseId &database, const WayRef &way) override |
| |
| bool | GetAreaByOffset (const DBFileOffset &offset, AreaRef &area) override |
| |
| bool | GetAreasByOffset (const std::set< DBFileOffset > &areaOffsets, std::unordered_map< DBFileOffset, AreaRef > &areaMap) override |
| |
| double | GetCostLimit (const RoutingProfile &profile, DatabaseId database, const Distance &targetDistance) override |
| |
| double | GetCosts (const RoutingProfile &profile, DatabaseId database, const RouteNode &routeNode, size_t inPathIndex, size_t outPathIndex) override |
| |
| double | GetCosts (const RoutingProfile &profile, DatabaseId database, const WayRef &way, const Distance &wayLength) override |
| |
| std::string | GetCostString (const RoutingProfile &profile, DatabaseId database, double cost) const override |
| |
| double | GetEstimateCosts (const RoutingProfile &profile, DatabaseId database, const Distance &targetDistance) override |
| |
| std::vector< DBId > | GetNodeTwins (const RoutingProfile &state, DatabaseId database, Id id) override |
| |
| bool | GetRouteNode (const DBId &id, RouteNodeRef &node) override |
| | Return the route node for the given db offset.
|
| |
| bool | GetRouteNodes (const std::set< DBId > &routeNodeIds, std::unordered_map< DBId, RouteNodeRef > &routeNodeMap) override |
| |
| double | GetUTurnCost (const RoutingProfile &profile, const DatabaseId databaseId) override |
| |
| Vehicle | GetVehicle (const RoutingProfile &profile) override |
| |
| bool | GetWayByOffset (const DBFileOffset &offset, WayRef &way) override |
| |
| bool | GetWaysByOffset (const std::set< DBFileOffset > &wayOffsets, std::unordered_map< DBFileOffset, WayRef > &wayMap) override |
| |
| bool | IsEndpointAttachable (const RoutingProfile &profile, const WayRef &way, size_t nodeIndex, RouteEndpoint endpoint) const |
| | Whether a position at nodeIndex of way can be attached to the routing network for endpoint.
|
| |
| bool | ResolveRouteDataJunctions (RouteData &route) override |
| |
| void | AddNodes (RouteData &route, DatabaseId database, Id startNodeId, size_t startNodeIndex, const ObjectFileRef &object, size_t idCount, bool oneway, size_t targetNodeIndex) |
| |
| bool | GetRNode (const RoutingProfile &state, const RoutePosition &position, const WayRef &way, size_t routeNodeIndex, const RouteNodeRef &routeNode, const GeoCoord &startCoord, const GeoCoord &targetCoord, RNodeRef &node) |
| |
| void | GetStartBackwardRouteNode (const RoutingProfile &state, const DatabaseId &database, const WayRef &way, size_t nodeIndex, RouteNodeRef &routeNode, size_t &routeNodeIndex) |
| |
| void | GetStartForwardRouteNode (const RoutingProfile &state, const DatabaseId &database, const WayRef &way, size_t nodeIndex, RouteNodeRef &routeNode, size_t &routeNodeIndex) |
| |
| bool | GetStartNodes (const RoutingProfile &state, const RoutePosition &position, GeoCoord &startCoord, const GeoCoord &targetCoord, RouteNodeRef &forwardRouteNode, RouteNodeRef &backwardRouteNode, RNodeRef &forwardRNode, RNodeRef &backwardRNode) |
| | The start position is at the given position defined by an object and the index of the node within the object.
|
| |
| void | GetTargetBackwardRouteNode (const RoutingProfile &state, const DatabaseId &database, const WayRef &way, size_t nodeIndex, RouteNodeRef &routeNode) |
| | Return the route node that allows navigating to the given node in backward direction.
|
| |
| void | GetTargetForwardRouteNode (const RoutingProfile &state, const DatabaseId &database, const WayRef &way, size_t nodeIndex, RouteNodeRef &routeNode) |
| | Return the route node that allows navigating to the given node in forward direction.
|
| |
| bool | GetTargetNodes (const RoutingProfile &state, const RoutePosition &position, GeoCoord &targetCoord, RouteNodeRef &forwardNode, RouteNodeRef &backwardNode) |
| | The target position is at the given position defined by an object and the index of the node within the object.
|
| |
| bool | GetWayStartNodes (const RoutingProfile &state, const RoutePosition &position, GeoCoord &startCoord, const GeoCoord &targetCoord, RouteNodeRef &forwardRouteNode, RouteNodeRef &backwardRouteNode, RNodeRef &forwardRNode, RNodeRef &backwardRNode) |
| | The start position is at the given way and the index of the node within the object.
|
| |
| bool | GetWayTargetNodes (const RoutingProfile &state, const RoutePosition &position, GeoCoord &targetCoord, RouteNodeRef &forwardNode, RouteNodeRef &backwardNode) |
| | The target position is at the given position defined by an object and the index of the node within the object.
|
| |
| void | ResolveRNodeChainToList (const RNode &finalRouteNode, const ClosedSet &closedSet, std::list< VNode > &nodes) |
| |
| bool | ResolveRNodesToRouteData (const RoutingProfile &state, const std::list< VNode > &nodes, const RoutePosition &start, const RoutePosition &target, RouteData &route) |
| |
| bool | RestrictInitialUTurn (const RoutingProfile &state, const Bearing &vehicleBearing, const RoutePosition &start, RNodeRef startForwardNode, RNodeRef startBackwardNode) |
| |
| virtual bool | WalkPaths (const RoutingProfile &state, RNodeRef ¤t, RouteNodeRef ¤tRouteNode, OpenList &openList, OpenMap &openMap, ClosedSet &closedSet, RoutingResult &result, const RoutingParameter ¶meter, const GeoCoord &targetCoord, const Vehicle &vehicle, size_t &nodesIgnoredCount, Distance ¤tMaxDistance, const Distance &overallDistance, const double &costLimit) |
| |
| virtual bool | WalkToOtherDatabases (const RoutingProfile &state, RNodeRef ¤t, RouteNodeRef ¤tRouteNode, OpenList &openList, OpenMap &openMap, const ClosedSet &closedSet) |
| |
The RoutingService implements functionality in the context of routing.
The following functions are available:
- Calculation of a route from a start node to a target node
- Transformation of the resulting route to a Way
- Transformation of the resulting route to a simple list of points
- Transformation of the resulting route to a routing description with is the base for further transformations to a textual or visual description of the route
- Returning the closest route-able node to given geolocation
Whether a position at nodeIndex of way can be attached to the routing network for endpoint.
GetWayStartNodes and GetWayTargetNodes attach a position by looking for a route node on the position's way: the attach index itself first, then along the way in the direction(s) the profile permits for that end. The two ends search opposite halves of the way – the start forward from the attach index, the target backward from it – so a position can attach as one end of a route and not as the other on a direction-restricted way (a one-way street, a slip road). A way the position cannot be attached to cannot carry it: taking it as the closest routable way makes the whole calculation fail in GetWayStartNodes / GetWayTargetNodes, although a way a little further away can carry the position.
The gates and the index ranges are the ones of the four search functions in AbstractRoutingService (GetStartForwardRouteNode, GetStartBackwardRouteNode, GetTargetForwardRouteNode, GetTargetBackwardRouteNode). Those are not const and this selection is, so the route node is read through RoutingDatabase::GetRouteNode rather than through the service's own lookup. Keep the ranges in step with those four functions.
References osmscout::RoutingProfile::CanUseBackward(), osmscout::RoutingProfile::CanUseForward(), osmscout::RoutingDatabase::GetRouteNode(), osmscout::Start, and osmscout::Unspecified.
Referenced by GetClosestRoutableNode().