Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
NIImporter_DlrNavteq::EdgesHandler Class Reference

Importer of edges stored in unsplit elmar format. More...

#include <NIImporter_DlrNavteq.h>

Inheritance diagram for NIImporter_DlrNavteq::EdgesHandler:
[legend]
Collaboration diagram for NIImporter_DlrNavteq::EdgesHandler:
[legend]

Public Member Functions

 EdgesHandler (NBNodeCont &nc, NBEdgeCont &ec, NBTypeCont &tc, const std::string &file, std::map< std::string, PositionVector > &geoms, std::map< std::string, std::string > &streetNames)
 Constructor.
bool report (const std::string &result)
 Parsing method.
 ~EdgesHandler ()
 Destructor.

Protected Types

enum  ColumnName {
  LINK_ID = 0 , NODE_ID_FROM , NODE_ID_TO , BETWEEN_NODE_ID ,
  LENGTH , VEHICLE_TYPE , FORM_OF_WAY , BRUNNEL_TYPE ,
  FUNCTIONAL_ROAD_CLASS , SPEED_CATEGORY , NUMBER_OF_LANES , SPEED_LIMIT ,
  SPEED_RESTRICTION , NAME_ID1_REGIONAL , NAME_ID2_LOCAL , HOUSENUMBERS_RIGHT ,
  HOUSENUMBERS_LEFT , ZIP_CODE , AREA_ID , SUBAREA_ID ,
  THROUGH_TRAFFIC , SPECIAL_RESTRICTIONS , EXTENDED_NUMBER_OF_LANES , ISRAMP ,
  CONNECTION
}

Protected Member Functions

std::string getColumn (const StringTokenizer &st, ColumnName name, const std::string fallback="")

Protected Attributes

std::vector< int > myColumns
 the version number of the edge file being parsed
NBEdgeCont & myEdgeCont
 The edge container to store loaded edges into.
const std::string myFile
 the file being parsed
std::map< std::string, PositionVector > & myGeoms
 Previously read edge geometries (manipulated during use).
NBNodeCont & myNodeCont
 The node container to get the referenced nodes from.
std::map< std::string, std::string > & myStreetNames
 Previously read streat names (non-const because operate[] is more convenient).
bool myTryIgnoreNodePositions
 Whether node positions shall not be added to the edge's geometry.
NBTypeCont & myTypeCont
 The type container to retrieve type info from.
double myVersion
 version number of current file

Static Protected Attributes

static const int MISSING_COLUMN = std::numeric_limits<int>::max()

Private Member Functions

 EdgesHandler (const EdgesHandler &)
 Invalidated copy constructor.
std::string getStreetNameFromIDs (const std::string &regionalID, const std::string &localID) const
 build the street name for the given ids
EdgesHandler & operator= (const EdgesHandler &)
 Invalidated assignment operator.

Detailed Description

Importer of edges stored in unsplit elmar format.

Being a LineHandler, this class retrieves each line from a LineReader and parses these information assuming they contain edge definitions in DLRNavteq's unsplit format.

Definition at line 140 of file NIImporter_DlrNavteq.h.

Member Enumeration Documentation

◆ ColumnName

Enumerator
LINK_ID 
NODE_ID_FROM 
NODE_ID_TO 
BETWEEN_NODE_ID 
LENGTH 
VEHICLE_TYPE 
FORM_OF_WAY 
BRUNNEL_TYPE 
FUNCTIONAL_ROAD_CLASS 
SPEED_CATEGORY 
NUMBER_OF_LANES 
SPEED_LIMIT 
SPEED_RESTRICTION 
NAME_ID1_REGIONAL 
NAME_ID2_LOCAL 
HOUSENUMBERS_RIGHT 
HOUSENUMBERS_LEFT 
ZIP_CODE 
AREA_ID 
SUBAREA_ID 
THROUGH_TRAFFIC 
SPECIAL_RESTRICTIONS 
EXTENDED_NUMBER_OF_LANES 
ISRAMP 
CONNECTION 

Definition at line 203 of file NIImporter_DlrNavteq.h.

Constructor & Destructor Documentation

◆ EdgesHandler() [1/2]

NIImporter_DlrNavteq::EdgesHandler::EdgesHandler ( NBNodeCont & nc,
NBEdgeCont & ec,
NBTypeCont & tc,
const std::string & file,
std::map< std::string, PositionVector > & geoms,
std::map< std::string, std::string > & streetNames )

Constructor.

Parameters
[in]ncThe node control to retrieve nodes from
[in,filled]ec The edge control to insert loaded edges into
[in]tcThe type control to retrieve types from
[in]fileThe name of the parsed file
[in]geomsThe previously read edge geometries
[in]streetNamesThe previously read street names

Definition at line 255 of file NIImporter_DlrNavteq.cpp.

References myEdgeCont, myFile, myGeoms, myNodeCont, myStreetNames, myTypeCont, and myVersion.

Referenced by EdgesHandler(), and operator=().

Here is the caller graph for this function:

◆ ~EdgesHandler()

NIImporter_DlrNavteq::EdgesHandler::~EdgesHandler ( )

Destructor.

Definition at line 269 of file NIImporter_DlrNavteq.cpp.

◆ EdgesHandler() [2/2]

NIImporter_DlrNavteq::EdgesHandler::EdgesHandler ( const EdgesHandler & )
private

Invalidated copy constructor.

References EdgesHandler().

Member Function Documentation

◆ getColumn()

std::string NIImporter_DlrNavteq::EdgesHandler::getColumn ( const StringTokenizer & st,
ColumnName name,
const std::string fallback = "" )
protected

Definition at line 427 of file NIImporter_DlrNavteq.cpp.

References StringTokenizer::get(), MISSING_COLUMN, myColumns, StringTokenizer::size(), TLF, and toString().

Referenced by report().

Here is the caller graph for this function:

◆ getStreetNameFromIDs()

std::string NIImporter_DlrNavteq::EdgesHandler::getStreetNameFromIDs ( const std::string & regionalID,
const std::string & localID ) const
private

build the street name for the given ids

Definition at line 454 of file NIImporter_DlrNavteq.cpp.

References myStreetNames.

Referenced by report().

Here is the caller graph for this function:

◆ operator=()

EdgesHandler & NIImporter_DlrNavteq::EdgesHandler::operator= ( const EdgesHandler & )
private

Invalidated assignment operator.

References EdgesHandler().

◆ report()

Field Documentation

◆ MISSING_COLUMN

const int NIImporter_DlrNavteq::EdgesHandler::MISSING_COLUMN = std::numeric_limits<int>::max()
staticprotected

Definition at line 201 of file NIImporter_DlrNavteq.h.

Referenced by getColumn(), and report().

◆ myColumns

std::vector<int> NIImporter_DlrNavteq::EdgesHandler::myColumns
protected

the version number of the edge file being parsed

Definition at line 196 of file NIImporter_DlrNavteq.h.

Referenced by getColumn(), and report().

◆ myEdgeCont

NBEdgeCont& NIImporter_DlrNavteq::EdgesHandler::myEdgeCont
protected

The edge container to store loaded edges into.

Definition at line 178 of file NIImporter_DlrNavteq.h.

Referenced by EdgesHandler(), and report().

◆ myFile

const std::string NIImporter_DlrNavteq::EdgesHandler::myFile
protected

the file being parsed

Definition at line 199 of file NIImporter_DlrNavteq.h.

Referenced by EdgesHandler(), and report().

◆ myGeoms

std::map<std::string, PositionVector>& NIImporter_DlrNavteq::EdgesHandler::myGeoms
protected

Previously read edge geometries (manipulated during use).

Definition at line 184 of file NIImporter_DlrNavteq.h.

Referenced by EdgesHandler(), and report().

◆ myNodeCont

NBNodeCont& NIImporter_DlrNavteq::EdgesHandler::myNodeCont
protected

The node container to get the referenced nodes from.

Definition at line 175 of file NIImporter_DlrNavteq.h.

Referenced by EdgesHandler(), and report().

◆ myStreetNames

std::map<std::string, std::string>& NIImporter_DlrNavteq::EdgesHandler::myStreetNames
protected

Previously read streat names (non-const because operate[] is more convenient).

Definition at line 187 of file NIImporter_DlrNavteq.h.

Referenced by EdgesHandler(), and getStreetNameFromIDs().

◆ myTryIgnoreNodePositions

bool NIImporter_DlrNavteq::EdgesHandler::myTryIgnoreNodePositions
protected

Whether node positions shall not be added to the edge's geometry.

Definition at line 190 of file NIImporter_DlrNavteq.h.

◆ myTypeCont

NBTypeCont& NIImporter_DlrNavteq::EdgesHandler::myTypeCont
protected

The type container to retrieve type info from.

Definition at line 181 of file NIImporter_DlrNavteq.h.

Referenced by EdgesHandler(), and report().

◆ myVersion

double NIImporter_DlrNavteq::EdgesHandler::myVersion
protected

version number of current file

Definition at line 193 of file NIImporter_DlrNavteq.h.

Referenced by EdgesHandler(), and report().


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