libosmscout  1.1.1
Public Member Functions | Protected Member Functions | List of all members
osmscout::SimpleRoutingService Class Reference

#include <libosmscout/include/osmscout/routing/SimpleRoutingService.h>

Inheritance diagram for osmscout::SimpleRoutingService:
Inheritance graph
[legend]
Collaboration diagram for osmscout::SimpleRoutingService:
Collaboration graph
[legend]

Public Member Functions

 SimpleRoutingService (const DatabaseRef &database, const RouterParameter &parameter, const std::string &filenamebase)
 
 ~SimpleRoutingService () override
 
bool Open ()
 
bool IsOpen () const
 
void Close ()
 
TypeConfigRef GetTypeConfig () const
 
RoutingResult CalculateRouteViaCoords (RoutingProfile &profile, const std::vector< GeoCoord > &via, const Distance &radius, const RoutingParameter &parameter)
 
RoutePositionResult GetClosestRoutableNode (const GeoCoord &coord, const RoutingProfile &profile, const Distance &radius) const
 
ClosestRoutableObjectResult GetClosestRoutableObject (const GeoCoord &location, Vehicle vehicle, const Distance &maxRadius)
 
std::map< DatabaseId, std::string > GetDatabaseMapping () const override
 
void DumpStatistics ()
 
- Public Member Functions inherited from osmscout::AbstractRoutingService< RoutingProfile >
 AbstractRoutingService (const RouterParameter &parameter)
 
 ~AbstractRoutingService () override
 
RoutingResult CalculateRoute (RoutingProfile &state, const RoutePosition &start, const RoutePosition &target, const RoutingParameter &parameter)
 
RouteDescriptionResult TransformRouteDataToRouteDescription (const RouteData &data)
 
RoutePointsResult TransformRouteDataToPoints (const RouteData &data)
 
RouteWayResult TransformRouteDataToWay (const RouteData &data)
 
- Public Member Functions inherited from osmscout::RoutingService
 RoutingService ()
 
virtual ~RoutingService ()
 

Protected Member Functions

Vehicle GetVehicle (const RoutingProfile &profile) override
 
bool CanUse (const RoutingProfile &profile, DatabaseId database, const RouteNode &routeNode, size_t pathIndex) override
 
bool CanUseForward (const RoutingProfile &profile, const DatabaseId &database, const WayRef &way) override
 
bool CanUseBackward (const RoutingProfile &profile, const DatabaseId &database, const WayRef &way) 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
 
double GetEstimateCosts (const RoutingProfile &profile, DatabaseId database, const Distance &targetDistance) override
 
double GetCostLimit (const RoutingProfile &profile, DatabaseId database, const Distance &targetDistance) override
 
std::string GetCostString (const RoutingProfile &profile, DatabaseId database, double cost) const override
 
bool GetRouteNodes (const std::set< DBId > &routeNodeIds, std::unordered_map< DBId, RouteNodeRef > &routeNodeMap) override
 
bool GetRouteNode (const DBId &id, RouteNodeRef &node) override
 
bool GetWayByOffset (const DBFileOffset &offset, WayRef &way) override
 
bool GetWaysByOffset (const std::set< DBFileOffset > &wayOffsets, std::unordered_map< DBFileOffset, WayRef > &wayMap) override
 
bool GetAreaByOffset (const DBFileOffset &offset, AreaRef &area) override
 
bool GetAreasByOffset (const std::set< DBFileOffset > &areaOffsets, std::unordered_map< DBFileOffset, AreaRef > &areaMap) override
 
bool ResolveRouteDataJunctions (RouteData &route) override
 
std::vector< DBIdGetNodeTwins (const RoutingProfile &state, DatabaseId database, Id id) override
 
- Protected Member Functions inherited from osmscout::AbstractRoutingService< RoutingProfile >
void ResolveRNodeChainToList (DBId finalRouteNode, const ClosedSet &closedSet, const ClosedSet &closedRestrictedSet, std::list< VNode > &nodes)
 
void GetStartForwardRouteNode (const RoutingProfile &state, const DatabaseId &database, const WayRef &way, size_t nodeIndex, RouteNodeRef &routeNode, size_t &routeNodeIndex)
 
void GetStartBackwardRouteNode (const RoutingProfile &state, const DatabaseId &database, const WayRef &way, size_t nodeIndex, RouteNodeRef &routeNode, size_t &routeNodeIndex)
 
void GetTargetForwardRouteNode (const RoutingProfile &state, const DatabaseId &database, const WayRef &way, size_t nodeIndex, RouteNodeRef &routeNode)
 
void GetTargetBackwardRouteNode (const RoutingProfile &state, const DatabaseId &database, const WayRef &way, size_t nodeIndex, RouteNodeRef &routeNode)
 
bool GetStartNodes (const RoutingProfile &state, const RoutePosition &position, GeoCoord &startCoord, const GeoCoord &targetCoord, RouteNodeRef &forwardRouteNode, RouteNodeRef &backwardRouteNode, RNodeRef &forwardRNode, RNodeRef &backwardRNode)
 
bool GetWayTargetNodes (const RoutingProfile &state, const RoutePosition &position, GeoCoord &targetCoord, RouteNodeRef &forwardNode, RouteNodeRef &backwardNode)
 
bool GetTargetNodes (const RoutingProfile &state, const RoutePosition &position, GeoCoord &targetCoord, RouteNodeRef &forwardNode, RouteNodeRef &backwardNode)
 
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 AddNodes (RouteData &route, DatabaseId database, Id startNodeId, size_t startNodeIndex, const ObjectFileRef &object, size_t idCount, bool oneway, size_t targetNodeIndex)
 
bool GetWayStartNodes (const RoutingProfile &state, const RoutePosition &position, GeoCoord &startCoord, const GeoCoord &targetCoord, RouteNodeRef &forwardRouteNode, RouteNodeRef &backwardRouteNode, RNodeRef &forwardRNode, RNodeRef &backwardRNode)
 
bool ResolveRNodesToRouteData (const RoutingProfile &state, const std::list< VNode > &nodes, const RoutePosition &start, const RoutePosition &target, RouteData &route)
 
virtual bool WalkToOtherDatabases (const RoutingProfile &state, RNodeRef &current, RouteNodeRef &currentRouteNode, OpenList &openList, OpenMap &openMap, const ClosedSet &closedSet, const ClosedSet &closedRestrictedSet)
 
virtual bool WalkPaths (const RoutingProfile &state, RNodeRef &current, RouteNodeRef &currentRouteNode, OpenList &openList, OpenMap &openMap, ClosedSet &closedSet, ClosedSet &closedRestrictedSet, RoutingResult &result, const RoutingParameter &parameter, const GeoCoord &targetCoord, const Vehicle &vehicle, size_t &nodesIgnoredCount, Distance &currentMaxDistance, const Distance &overallDistance, const double &costLimit)
 

Additional Inherited Members

- Static Public Member Functions inherited from osmscout::RoutingService
static std::string GetDataFilename (const std::string &filenamebase)
 
static std::string GetData2Filename (const std::string &filenamebase)
 
static std::string GetIndexFilename (const std::string &filenamebase)
 
- Static Public Attributes inherited from osmscout::RoutingService
static const char *const FILENAME_INTERSECTIONS_DAT
 Relative filename of the intersection data file. More...
 
static const char *const FILENAME_INTERSECTIONS_IDX
 Relative filename of the intersection index file. More...
 
static const char *const DEFAULT_FILENAME_BASE
 Relative filebase name for touting data as generated by default by the importer. More...
 
- Protected Types inherited from osmscout::RoutingService
using RNodeRef = std::shared_ptr< RNode >
 
using OpenList = std::set< RNodeRef, RNodeCostCompare >
 
using OpenListRef = std::set< RNodeRef, RNodeCostCompare >::iterator
 
using OpenMap = std::unordered_map< DBId, OpenListRef >
 
using ClosedSet = std::unordered_set< VNode, ClosedNodeHasher >
 
- Protected Attributes inherited from osmscout::AbstractRoutingService< RoutingProfile >
bool debugPerformance
 

Detailed Description

The RoutingService implements functionality in the context of routing. The following functions are available:

Constructor & Destructor Documentation

◆ SimpleRoutingService()

osmscout::SimpleRoutingService::SimpleRoutingService ( const DatabaseRef database,
const RouterParameter &  parameter,
const std::string &  filenamebase 
)

◆ ~SimpleRoutingService()

osmscout::SimpleRoutingService::~SimpleRoutingService ( )
override

Member Function Documentation

◆ CalculateRouteViaCoords()

RoutingResult osmscout::SimpleRoutingService::CalculateRouteViaCoords ( RoutingProfile profile,
const std::vector< GeoCoord > &  via,
const Distance &  radius,
const RoutingParameter &  parameter 
)

◆ CanUse()

bool osmscout::SimpleRoutingService::CanUse ( const RoutingProfile profile,
DatabaseId  database,
const RouteNode routeNode,
size_t  pathIndex 
)
overrideprotectedvirtual

◆ CanUseBackward()

bool osmscout::SimpleRoutingService::CanUseBackward ( const RoutingProfile profile,
const DatabaseId database,
const WayRef way 
)
overrideprotectedvirtual

◆ CanUseForward()

bool osmscout::SimpleRoutingService::CanUseForward ( const RoutingProfile profile,
const DatabaseId database,
const WayRef way 
)
overrideprotectedvirtual

◆ Close()

void osmscout::SimpleRoutingService::Close ( )

◆ DumpStatistics()

void osmscout::SimpleRoutingService::DumpStatistics ( )

◆ GetAreaByOffset()

bool osmscout::SimpleRoutingService::GetAreaByOffset ( const DBFileOffset offset,
AreaRef area 
)
overrideprotectedvirtual

◆ GetAreasByOffset()

bool osmscout::SimpleRoutingService::GetAreasByOffset ( const std::set< DBFileOffset > &  areaOffsets,
std::unordered_map< DBFileOffset, AreaRef > &  areaMap 
)
overrideprotectedvirtual

◆ GetClosestRoutableNode()

RoutePositionResult osmscout::SimpleRoutingService::GetClosestRoutableNode ( const GeoCoord &  coord,
const RoutingProfile profile,
const Distance &  radius 
) const

◆ GetClosestRoutableObject()

ClosestRoutableObjectResult osmscout::SimpleRoutingService::GetClosestRoutableObject ( const GeoCoord &  location,
Vehicle  vehicle,
const Distance &  maxRadius 
)

◆ GetCostLimit()

double osmscout::SimpleRoutingService::GetCostLimit ( const RoutingProfile profile,
DatabaseId  database,
const Distance &  targetDistance 
)
overrideprotectedvirtual

◆ GetCosts() [1/2]

double osmscout::SimpleRoutingService::GetCosts ( const RoutingProfile profile,
DatabaseId  database,
const RouteNode routeNode,
size_t  inPathIndex,
size_t  outPathIndex 
)
overrideprotectedvirtual

◆ GetCosts() [2/2]

double osmscout::SimpleRoutingService::GetCosts ( const RoutingProfile profile,
DatabaseId  database,
const WayRef way,
const Distance &  wayLength 
)
overrideprotectedvirtual

◆ GetCostString()

std::string osmscout::SimpleRoutingService::GetCostString ( const RoutingProfile profile,
DatabaseId  database,
double  cost 
) const
overrideprotectedvirtual

◆ GetDatabaseMapping()

std::map<DatabaseId, std::string> osmscout::SimpleRoutingService::GetDatabaseMapping ( ) const
overridevirtual

Get current mapping of DatabaseId to database path than be used later for lookup objects in description

Returns

Implements osmscout::AbstractRoutingService< RoutingProfile >.

◆ GetEstimateCosts()

double osmscout::SimpleRoutingService::GetEstimateCosts ( const RoutingProfile profile,
DatabaseId  database,
const Distance &  targetDistance 
)
overrideprotectedvirtual

◆ GetNodeTwins()

std::vector<DBId> osmscout::SimpleRoutingService::GetNodeTwins ( const RoutingProfile state,
DatabaseId  database,
Id  id 
)
overrideprotectedvirtual

◆ GetRouteNode()

bool osmscout::SimpleRoutingService::GetRouteNode ( const DBId id,
RouteNodeRef node 
)
overrideprotectedvirtual

Return the route node for the given database offset

Parameters
offsetOffset in given database
nodeNode instance to write the result back
Returns
True, if the node couldbe loaded, else false

Implements osmscout::AbstractRoutingService< RoutingProfile >.

◆ GetRouteNodes()

bool osmscout::SimpleRoutingService::GetRouteNodes ( const std::set< DBId > &  routeNodeIds,
std::unordered_map< DBId, RouteNodeRef > &  routeNodeMap 
)
overrideprotectedvirtual

◆ GetTypeConfig()

TypeConfigRef osmscout::SimpleRoutingService::GetTypeConfig ( ) const

◆ GetVehicle()

Vehicle osmscout::SimpleRoutingService::GetVehicle ( const RoutingProfile profile)
overrideprotectedvirtual

◆ GetWayByOffset()

bool osmscout::SimpleRoutingService::GetWayByOffset ( const DBFileOffset offset,
WayRef way 
)
overrideprotectedvirtual

◆ GetWaysByOffset()

bool osmscout::SimpleRoutingService::GetWaysByOffset ( const std::set< DBFileOffset > &  wayOffsets,
std::unordered_map< DBFileOffset, WayRef > &  wayMap 
)
overrideprotectedvirtual

◆ IsOpen()

bool osmscout::SimpleRoutingService::IsOpen ( ) const

◆ Open()

bool osmscout::SimpleRoutingService::Open ( )

◆ ResolveRouteDataJunctions()

bool osmscout::SimpleRoutingService::ResolveRouteDataJunctions ( RouteData route)
overrideprotectedvirtual

The documentation for this class was generated from the following file: