Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MapMatcher< E, L, N > Class Template Referenceabstract

Provides utility functions for matching locations to edges (during route parsing) More...

#include <MapMatcher.h>

Collaboration diagram for MapMatcher< E, L, N >:
[legend]

Protected Member Functions

const LgetClosestLane (const Position &pos, SUMOVehicleClass vClass, double distance=-1.)
 find closest lane within distance for the given position or nullptr
 
const E * getJunctionTaz (const Position &pos, const E *closestEdge, SUMOVehicleClass vClass, bool isFrom)
 find closest junction taz given the closest edge
 
virtual SumoRNGgetRNG ()
 
const E * getTaz (const Position &pos, const E *closestEdge, bool isFrom)
 find closest junction taz given the closest edge
 
virtual void initLaneTree (NamedRTree *tree)=0
 
 MapMatcher (bool matchJunctions, bool matchTAZ, double matchDistance, MsgHandler *errorOutput)
 
void parseGeoEdges (const PositionVector &positions, bool geo, SUMOVehicleClass vClass, std::vector< const E * > &into, const std::string &rid, bool isFrom, bool &ok, bool forceEdge=false)
 
virtual E * retrieveEdge (const std::string &id)=0
 
virtual ~MapMatcher ()
 

Protected Attributes

bool myMapMatchTAZ
 

Private Member Functions

NamedRTreegetLaneTree ()
 initialize lane-RTree
 
 MapMatcher (const MapMatcher &s)=delete
 Invalidated copy constructor.
 
MapMatcheroperator= (const MapMatcher &s)=delete
 Invalidated assignment operator.
 

Private Attributes

MsgHandlermyErrorOutput
 
NamedRTreemyLaneTree
 RTree for finding lanes.
 
double myMapMatchingDistance
 
bool myMapMatchJunctions
 

Detailed Description

template<class E, class L, class N>
class MapMatcher< E, L, N >

Provides utility functions for matching locations to edges (during route parsing)

Definition at line 45 of file MapMatcher.h.

Constructor & Destructor Documentation

◆ MapMatcher() [1/2]

template<class E , class L , class N >
MapMatcher< E, L, N >::MapMatcher ( bool  matchJunctions,
bool  matchTAZ,
double  matchDistance,
MsgHandler errorOutput 
)
inlineprotected

Definition at line 47 of file MapMatcher.h.

◆ ~MapMatcher()

template<class E , class L , class N >
virtual MapMatcher< E, L, N >::~MapMatcher ( )
inlineprotectedvirtual

Definition at line 54 of file MapMatcher.h.

References MapMatcher< E, L, N >::myLaneTree.

◆ MapMatcher() [2/2]

template<class E , class L , class N >
MapMatcher< E, L, N >::MapMatcher ( const MapMatcher< E, L, N > &  s)
privatedelete

Invalidated copy constructor.

Member Function Documentation

◆ getClosestLane()

template<class E , class L , class N >
const L * MapMatcher< E, L, N >::getClosestLane ( const Position pos,
SUMOVehicleClass  vClass,
double  distance = -1. 
)
inlineprotected

find closest lane within distance for the given position or nullptr

Definition at line 107 of file MapMatcher.h.

References Boundary::add(), MapMatcher< E, L, N >::getLaneTree(), Boundary::grow(), L, MapMatcher< E, L, N >::myMapMatchingDistance, NamedRTree::Search(), Boundary::xmax(), Boundary::xmin(), Boundary::ymax(), and Boundary::ymin().

Referenced by MapMatcher< E, L, N >::parseGeoEdges().

Here is the caller graph for this function:

◆ getJunctionTaz()

template<class E , class L , class N >
const E * MapMatcher< E, L, N >::getJunctionTaz ( const Position pos,
const E *  closestEdge,
SUMOVehicleClass  vClass,
bool  isFrom 
)
inlineprotected

find closest junction taz given the closest edge

Definition at line 135 of file MapMatcher.h.

References MsgHandler::inform(), JUNCTION_TAZ_MISSING_HELP, MapMatcher< E, L, N >::myErrorOutput, MapMatcher< E, L, N >::retrieveEdge(), and toString().

Referenced by MapMatcher< E, L, N >::parseGeoEdges().

Here is the caller graph for this function:

◆ getLaneTree()

template<class E , class L , class N >
NamedRTree * MapMatcher< E, L, N >::getLaneTree ( )
inlineprivate

initialize lane-RTree

Definition at line 218 of file MapMatcher.h.

References MapMatcher< E, L, N >::initLaneTree(), and MapMatcher< E, L, N >::myLaneTree.

Referenced by MapMatcher< E, L, N >::getClosestLane().

Here is the caller graph for this function:

◆ getRNG()

template<class E , class L , class N >
virtual SumoRNG * MapMatcher< E, L, N >::getRNG ( )
inlineprotectedvirtual

Reimplemented in MSRouteHandler.

Definition at line 206 of file MapMatcher.h.

Referenced by MapMatcher< E, L, N >::getTaz().

Here is the caller graph for this function:

◆ getTaz()

template<class E , class L , class N >
const E * MapMatcher< E, L, N >::getTaz ( const Position pos,
const E *  closestEdge,
bool  isFrom 
)
inlineprotected

find closest junction taz given the closest edge

Definition at line 176 of file MapMatcher.h.

References MapMatcher< E, L, N >::getRNG(), MsgHandler::inform(), JUNCTION_TAZ_MISSING_HELP, MapMatcher< E, L, N >::myErrorOutput, RandHelper::rand(), and toString().

Referenced by MapMatcher< E, L, N >::parseGeoEdges().

Here is the caller graph for this function:

◆ initLaneTree()

template<class E , class L , class N >
virtual void MapMatcher< E, L, N >::initLaneTree ( NamedRTree tree)
protectedpure virtual

Implemented in MSDevice_FCDReplay::FCDHandler, MSRouteHandler, and RORouteHandler.

Referenced by MapMatcher< E, L, N >::getLaneTree().

Here is the caller graph for this function:

◆ operator=()

template<class E , class L , class N >
MapMatcher & MapMatcher< E, L, N >::operator= ( const MapMatcher< E, L, N > &  s)
privatedelete

Invalidated assignment operator.

◆ parseGeoEdges()

template<class E , class L , class N >
void MapMatcher< E, L, N >::parseGeoEdges ( const PositionVector positions,
bool  geo,
SUMOVehicleClass  vClass,
std::vector< const E * > &  into,
const std::string &  rid,
bool  isFrom,
bool &  ok,
bool  forceEdge = false 
)
inlineprotected

◆ retrieveEdge()

template<class E , class L , class N >
virtual E * MapMatcher< E, L, N >::retrieveEdge ( const std::string &  id)
protectedpure virtual

Implemented in MSDevice_FCDReplay::FCDHandler, MSRouteHandler, and RORouteHandler.

Referenced by MapMatcher< E, L, N >::getJunctionTaz().

Here is the caller graph for this function:

Field Documentation

◆ myErrorOutput

template<class E , class L , class N >
MsgHandler* MapMatcher< E, L, N >::myErrorOutput
private

◆ myLaneTree

template<class E , class L , class N >
NamedRTree* MapMatcher< E, L, N >::myLaneTree
private

RTree for finding lanes.

Definition at line 227 of file MapMatcher.h.

Referenced by MapMatcher< E, L, N >::getLaneTree(), and MapMatcher< E, L, N >::~MapMatcher().

◆ myMapMatchingDistance

template<class E , class L , class N >
double MapMatcher< E, L, N >::myMapMatchingDistance
private

◆ myMapMatchJunctions

template<class E , class L , class N >
bool MapMatcher< E, L, N >::myMapMatchJunctions
private

Definition at line 228 of file MapMatcher.h.

Referenced by MapMatcher< E, L, N >::parseGeoEdges().

◆ myMapMatchTAZ

template<class E , class L , class N >
bool MapMatcher< E, L, N >::myMapMatchTAZ
protected

Definition at line 214 of file MapMatcher.h.

Referenced by MapMatcher< E, L, N >::parseGeoEdges().


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