SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NIImporter_DlrNavteq::EdgesHandler Class Reference

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

#include <NIImporter_DlrNavteq.h>

Inheritance diagram for NIImporter_DlrNavteq::EdgesHandler:
LineHandler

Public Member Functions

 EdgesHandler (NBNodeCont &nc, NBEdgeCont &ec, 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< intmyColumns
 the version number of the edge file being parsed
NBEdgeContmyEdgeCont
 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)
NBNodeContmyNodeCont
 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.
SUMOReal 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
EdgesHandleroperator= (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 144 of file NIImporter_DlrNavteq.h.

Member Enumeration Documentation

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

NIImporter_DlrNavteq::EdgesHandler::EdgesHandler ( NBNodeCont nc,
NBEdgeCont ec,
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]fileThe name of the parsed file
[in]geomsThe previously read edge geometries
[in]streetNamesThe previously read street names

Definition at line 205 of file NIImporter_DlrNavteq.cpp.

NIImporter_DlrNavteq::EdgesHandler::~EdgesHandler ( )

Destructor.

Definition at line 218 of file NIImporter_DlrNavteq.cpp.

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

Invalidated copy constructor.

Member Function Documentation

std::string NIImporter_DlrNavteq::EdgesHandler::getColumn ( const StringTokenizer st,
ColumnName  name,
const std::string  fallback = "" 
)
protected
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 385 of file NIImporter_DlrNavteq.cpp.

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

Invalidated assignment operator.

bool NIImporter_DlrNavteq::EdgesHandler::report ( const std::string &  result)
virtual

Parsing method.

Implementation of the LineHandler-interface called by a LineReader; interprets the retrieved information and stores it into "myEdgeCont".

Parameters
[in]resultThe read line
Returns
Whether the parsing shall continue
Exceptions
ProcessErrorif something fails
See Also
LineHandler::report

Implements LineHandler.

Definition at line 222 of file NIImporter_DlrNavteq.cpp.

References TplConvert::_2int(), TplConvert::_2SUMOReal(), NINavTeqHelper::addVehicleClasses(), NINavTeqHelper::addVehicleClassesV6(), NBEdge::disallowVehicleClass(), NINavTeqHelper::getLaneNumber(), NBNode::getPosition(), NINavTeqHelper::getSpeed(), LANESPREAD_CENTER, PositionVector::push_back(), PositionVector::push_front(), PositionVector::reverse(), SUMOReal, SVC_PASSENGER, toString(), NBEdge::UNSPECIFIED_OFFSET, NBEdge::UNSPECIFIED_WIDTH, and StringTokenizer::WHITECHARS.

Field Documentation

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

Definition at line 201 of file NIImporter_DlrNavteq.h.

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.

NBEdgeCont& NIImporter_DlrNavteq::EdgesHandler::myEdgeCont
protected

The edge container to store loaded edges into.

Definition at line 181 of file NIImporter_DlrNavteq.h.

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

the file being parsed

Definition at line 199 of file NIImporter_DlrNavteq.h.

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.

NBNodeCont& NIImporter_DlrNavteq::EdgesHandler::myNodeCont
protected

The node container to get the referenced nodes from.

Definition at line 178 of file NIImporter_DlrNavteq.h.

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.

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.

SUMOReal NIImporter_DlrNavteq::EdgesHandler::myVersion
protected

version number of current file

Definition at line 193 of file NIImporter_DlrNavteq.h.


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