libosmscout 0.1
|
RouteProcessor allows to enhance the raw routing information from the routing algorithm with additional information like way names, turns and similar by traversing the route and its objects. More...
#include <RoutePostprocessor.h>
Classes | |
class | CrossingWaysPostprocessor |
Places a crossing ways description as a description of the name of all ways crossing the given node. More... | |
class | DestinationPostprocessor |
Evaluates destination tags, hinting at the destination of a way. More... | |
class | DirectionPostprocessor |
Places a turn description for every node. More... | |
class | DistanceAndTimePostprocessor |
Calculates the overall running distance and time for each node. More... | |
class | InstructionPostprocessor |
Generates drive instructions. More... | |
class | LanesPostprocessor |
Evaluate route lanes. More... | |
class | MaxSpeedPostprocessor |
Collects max speed information. More... | |
class | MotorwayJunctionPostprocessor |
Adds driving hint based on motorway_junction tags. More... | |
class | POIsPostprocessor |
Collects POIs the vehicle passes by. More... | |
class | Postprocessor |
Base class for routing processors. More... | |
class | SectionsPostprocessor |
Adds section to the route if there is one or more via node. More... | |
class | StartPostprocessor |
Places the given description at the start node. More... | |
class | SuggestedLanesPostprocessor |
Evaluate suggested route lanes that may be used. More... | |
class | TargetPostprocessor |
Places the given description at the target node. More... | |
class | WayNamePostprocessor |
Places a name description as way description. More... | |
class | WayTypePostprocessor |
Places a name description as way description. More... | |
Public Types | |
using | InstructionPostprocessorRef = std::shared_ptr< InstructionPostprocessor > |
using | LanesPostprocessorRef = std::shared_ptr< LanesPostprocessor > |
using | POIsPostprocessorRef = std::shared_ptr< POIsPostprocessor > |
using | PostprocessorRef = std::shared_ptr< Postprocessor > |
using | SuggestedLanesPostprocessorRef = std::shared_ptr< SuggestedLanesPostprocessor > |
Public Member Functions | |
bool | PostprocessRouteDescription (RouteDescription &description, const std::vector< RoutingProfileRef > &profiles, const std::vector< DatabaseRef > &databases, const std::list< PostprocessorRef > &processors, const std::set< std::string, std::less<> > &motorwayTypeNames=std::set< std::string, std::less<> >(), const std::set< std::string, std::less<> > &motorwayLinkTypeNames=std::set< std::string, std::less<> >(), const std::set< std::string, std::less<> > &junctionTypeNames=std::set< std::string, std::less<> >(), const std::string &miniRoundaboutTypeName="highway_mini_roundabout") |
![]() | |
virtual RouteDescription::LaneDescription | GetLanes (const DatabaseId &dbId, const WayRef &way, bool forward) const |
virtual RouteDescription::LaneDescriptionRef | GetLanes (const RouteDescription::Node &node) const |
virtual Id | GetNodeId (const RouteDescription::Node &node) const |
RouteProcessor allows to enhance the raw routing information from the routing algorithm with additional information like way names, turns and similar by traversing the route and its objects.
The processor is plugable in the sense that it can get enhanced by classes deriving from the Processor base class allowing to write traversial code for a specific aim. The complete routing description is the result of the sum of all information collected by the individual processors.
using osmscout::RoutePostprocessor::InstructionPostprocessorRef = std::shared_ptr<InstructionPostprocessor> |
using osmscout::RoutePostprocessor::LanesPostprocessorRef = std::shared_ptr<LanesPostprocessor> |
using osmscout::RoutePostprocessor::POIsPostprocessorRef = std::shared_ptr<POIsPostprocessor> |
using osmscout::RoutePostprocessor::PostprocessorRef = std::shared_ptr<Postprocessor> |
using osmscout::RoutePostprocessor::SuggestedLanesPostprocessorRef = std::shared_ptr<SuggestedLanesPostprocessor> |
bool osmscout::RoutePostprocessor::PostprocessRouteDescription | ( | RouteDescription & | description, |
const std::vector< RoutingProfileRef > & | profiles, | ||
const std::vector< DatabaseRef > & | databases, | ||
const std::list< PostprocessorRef > & | processors, | ||
const std::set< std::string, std::less<> > & | motorwayTypeNames = std::set<std::string,std::less<>>() , |
||
const std::set< std::string, std::less<> > & | motorwayLinkTypeNames = std::set<std::string,std::less<>>() , |
||
const std::set< std::string, std::less<> > & | junctionTypeNames = std::set<std::string,std::less<>>() , |
||
const std::string & | miniRoundaboutTypeName = "highway_mini_roundabout" |
||
) |
References osmscout::Log::Error(), osmscout::Database::GetTypeConfig(), and osmscout::log.
Referenced by osmscout::MultiDBRoutingService::PostProcessRouteDescription().