libosmscout 0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules
osmscout::RoutePostprocessor Class Reference

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>

+ Inheritance diagram for osmscout::RoutePostprocessor:

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")
 
- Public Member Functions inherited from osmscout::PostprocessorContext
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
 

Detailed Description

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.

Member Typedef Documentation

◆ InstructionPostprocessorRef

◆ LanesPostprocessorRef

◆ POIsPostprocessorRef

◆ PostprocessorRef

◆ SuggestedLanesPostprocessorRef

Member Function Documentation

◆ PostprocessRouteDescription()

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" 
)

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