Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
NIImporter_OpenStreetMap Class Reference

Importer for networks stored in OpenStreetMap format. More...

#include <NIImporter_OpenStreetMap.h>

Data Structures

class  CompareEdges
 Functor which compares two Edges. More...
 
class  CompareNodes
 Functor which compares two NIOSMNodes according to their coordinates. More...
 
class  Edge
 An internal definition of a loaded edge. More...
 
class  EdgesHandler
 A class which extracts OSM-edges from a parsed OSM-file. More...
 
struct  NIOSMNode
 An internal representation of an OSM-node. More...
 
class  NodesHandler
 A class which extracts OSM-nodes from a parsed OSM-file. More...
 
class  RelationHandler
 A class which extracts relevant relation information from a parsed OSM-file. More...
 

Static Public Member Functions

static SUMOVehicleClass interpretTransportType (const std::string &type, NIOSMNode *toSet=nullptr)
 translate osm transport designations into sumo vehicle class
 
static void loadNetwork (const OptionsCont &oc, NBNetBuilder &nb)
 Loads content of the optionally given OSM file.
 

Protected Types

enum  ChangeType { CHANGE_YES = 0 , CHANGE_NO_LEFT = 1 , CHANGE_NO_RIGHT = 2 , CHANGE_NO = 3 }
 
enum  ParkingType {
  PARKING_NONE = 0 , PARKING_LEFT = 1 , PARKING_RIGHT = 2 , PARKING_BOTH = WAY_FORWARD | WAY_BACKWARD ,
  PARKING_UNKNOWN = 4 , PARKING_FORBIDDEN = 8 , PARKING_PERPENDICULAR = 16 , PARKING_DIAGONAL = 32
}
 
enum  WayType {
  WAY_NONE = 0 , WAY_FORWARD = 1 , WAY_BACKWARD = 2 , WAY_BOTH = WAY_FORWARD | WAY_BACKWARD ,
  WAY_UNKNOWN = 4
}
 

Protected Member Functions

void applyLaneUse (NBEdge *e, NIImporter_OpenStreetMap::Edge *nie, const bool forward)
 Applies lane use information from nie to e.
 
void applyTurnSigns (NBEdge *e, const std::vector< int > &turnSigns)
 
void load (const OptionsCont &oc, NBNetBuilder &nb)
 
 NIImporter_OpenStreetMap ()
 
 ~NIImporter_OpenStreetMap ()
 

Static Protected Member Functions

static void applyChangeProhibition (NBEdge *e, int changeProhibition)
 
static void mergeTurnSigns (std::vector< int > &signs, std::vector< int > signs2)
 

Static Protected Attributes

static const long long int INVALID_ID = std::numeric_limits<long long int>::max()
 
static const double MAXSPEED_UNGIVEN = -1
 

Private Member Functions

void extendRailwayDistances (Edge *e, NBTypeCont &tc)
 extend kilometrage data for all nodes along railway
 
std::map< NBNode *, std::pair< double, double > > getNeighboringNodes (NBNode *node, double maxDist, const std::set< NBNode * > &knownElevation)
 collect neighboring nodes with their road distance and maximum between-speed. Search does not continue beyond knownElevation-nodes
 
int insertEdge (Edge *e, int index, NBNode *from, NBNode *to, const std::vector< long long int > &passed, NBNetBuilder &nb, const NBNode *first, const NBNode *last)
 Builds an NBEdge.
 
NBNodeinsertNodeChecking (long long int id, NBNodeCont &nc, NBTrafficLightLogicCont &tlsc)
 Builds an NBNode.
 
void reconstructLayerElevation (double layerElevation, NBNetBuilder &nb)
 reconstruct elevation from layer info
 
std::string usableType (const std::string &type, const std::string &id, NBTypeCont &tc)
 check whether the type is known or consists of known type compounds. return empty string otherwise
 

Static Private Member Functions

static double interpretDistance (NIOSMNode *node)
 read distance value from node and return value in m
 

Private Attributes

std::map< long long int, Edge * > myEdges
 the map from OSM way ids to edge objects
 
bool myImportBikeAccess
 import bike path specific permissions and directions
 
bool myImportCrossings
 import crossings
 
bool myImportLaneAccess
 import lane specific access restrictions
 
bool myImportSidewalks
 import sidewalks
 
bool myImportTurnSigns
 import turning signals (turn:lanes) to guide connection building
 
std::map< std::string, std::string > myKnownCompoundTypes
 The compound types that have already been mapped to other known types.
 
std::map< long long int, NIOSMNode * > myOSMNodes
 the map from OSM node ids to actual nodes
 
std::map< long long int, Edge * > myPlatformShapes
 the map from OSM way ids to platform shapes
 
std::set< NIOSMNode *, CompareNodesmyUniqueNodes
 the set of unique nodes used in NodesHandler, used when freeing memory
 
std::set< std::string > myUnusableTypes
 The compounds types that do not contain known types.
 

Static Private Attributes

static const std::string compoundTypeSeparator
 The separator within newly created compound type names.
 
static bool myAllAttributes
 whether additional way and node attributes shall be imported
 
static std::set< std::string > myExtraAttributes
 extra attributes to import
 

Detailed Description

Importer for networks stored in OpenStreetMap format.

Definition at line 56 of file NIImporter_OpenStreetMap.h.

Member Enumeration Documentation

◆ ChangeType

Enumerator
CHANGE_YES 
CHANGE_NO_LEFT 
CHANGE_NO_RIGHT 
CHANGE_NO 

Definition at line 161 of file NIImporter_OpenStreetMap.h.

◆ ParkingType

Enumerator
PARKING_NONE 
PARKING_LEFT 
PARKING_RIGHT 
PARKING_BOTH 
PARKING_UNKNOWN 
PARKING_FORBIDDEN 
PARKING_PERPENDICULAR 
PARKING_DIAGONAL 

Definition at line 150 of file NIImporter_OpenStreetMap.h.

◆ WayType

Enumerator
WAY_NONE 
WAY_FORWARD 
WAY_BACKWARD 
WAY_BOTH 
WAY_UNKNOWN 

Definition at line 76 of file NIImporter_OpenStreetMap.h.

Constructor & Destructor Documentation

◆ NIImporter_OpenStreetMap()

NIImporter_OpenStreetMap::NIImporter_OpenStreetMap ( )
protecteddefault

◆ ~NIImporter_OpenStreetMap()

NIImporter_OpenStreetMap::~NIImporter_OpenStreetMap ( )
protected

Definition at line 115 of file NIImporter_OpenStreetMap.cpp.

References myEdges, myPlatformShapes, and myUniqueNodes.

Member Function Documentation

◆ applyChangeProhibition()

void NIImporter_OpenStreetMap::applyChangeProhibition ( NBEdge e,
int  changeProhibition 
)
staticprotected

Definition at line 2661 of file NIImporter_OpenStreetMap.cpp.

References CHANGE_NO_LEFT, CHANGE_NO_RIGHT, NBEdge::getNumLanes(), NBEdge::setPermittedChanging(), SVC_AUTHORITY, and SVCAll.

Referenced by insertEdge().

Here is the caller graph for this function:

◆ applyLaneUse()

void NIImporter_OpenStreetMap::applyLaneUse ( NBEdge e,
NIImporter_OpenStreetMap::Edge nie,
const bool  forward 
)
protected

Applies lane use information from nie to e.

Applies lane use information from nie to e. Uses the member values myLaneAllowedForward, myLaneDisallowedForward and myLaneDesignatedForward or the respective backward values to determine the ultimate lane uses. When a value of e->myLaneDesignatedForward/Backward is true, all permissions for the corresponding lane will be deleted before adding permissions from e->myLaneAllowedForward/Backward. SVCs from e->myLaneAllowedForward/Backward will be added to the existing permissions (for each lane). SVCs from e->myLaneDisallowedForward/Backward will be subtracted from the existing permissions.

Parameters
eThe NBEdge that the new information will be written to.
nieThs Edge that the information comes from.

Definition at line 2677 of file NIImporter_OpenStreetMap.cpp.

References extraDisallowed(), OptionsCont::getBool(), NBEdge::getNumLanes(), OptionsCont::getOptions(), NBEdge::getPermissions(), NIImporter_OpenStreetMap::Edge::myAllowedLaneBackward, NIImporter_OpenStreetMap::Edge::myAllowedLaneForward, NIImporter_OpenStreetMap::Edge::myDesignatedLaneBackward, NIImporter_OpenStreetMap::Edge::myDesignatedLaneForward, NIImporter_OpenStreetMap::Edge::myDisallowedLaneBackward, NIImporter_OpenStreetMap::Edge::myDisallowedLaneForward, myImportLaneAccess, NBEdge::preferVehicleClass(), NBEdge::setPermissions(), and SVC_IGNORING.

Referenced by insertEdge().

Here is the caller graph for this function:

◆ applyTurnSigns()

void NIImporter_OpenStreetMap::applyTurnSigns ( NBEdge e,
const std::vector< int > &  turnSigns 
)
protected

Definition at line 2714 of file NIImporter_OpenStreetMap.cpp.

References NBEdge::getID(), NBEdge::getLaneStruct(), NBEdge::getNumLanes(), myImportTurnSigns, TL, NBEdge::Lane::turnSigns, and WRITE_WARNINGF.

Referenced by insertEdge().

Here is the caller graph for this function:

◆ extendRailwayDistances()

void NIImporter_OpenStreetMap::extendRailwayDistances ( Edge e,
NBTypeCont tc 
)
private

extend kilometrage data for all nodes along railway

Definition at line 2545 of file NIImporter_OpenStreetMap.cpp.

References NBTypeCont::getEdgeTypePermissions(), NIImporter_OpenStreetMap::Edge::id, interpretDistance(), isRailway(), NIImporter_OpenStreetMap::Edge::myCurrentNodes, NIImporter_OpenStreetMap::Edge::myHighWayType, myOSMNodes, NIImporter_OpenStreetMap::NIOSMNode::positionMeters, TL, toString(), NBNetBuilder::transformCoordinates(), usableType(), and WRITE_WARNINGF.

Referenced by load().

Here is the caller graph for this function:

◆ getNeighboringNodes()

std::map< NBNode *, std::pair< double, double > > NIImporter_OpenStreetMap::getNeighboringNodes ( NBNode node,
double  maxDist,
const std::set< NBNode * > &  knownElevation 
)
private

collect neighboring nodes with their road distance and maximum between-speed. Search does not continue beyond knownElevation-nodes

Definition at line 2405 of file NIImporter_OpenStreetMap.cpp.

References NBNode::getEdges(), NBNode::hasIncoming(), MAX2(), and MIN2().

Referenced by reconstructLayerElevation().

Here is the caller graph for this function:

◆ insertEdge()

int NIImporter_OpenStreetMap::insertEdge ( Edge e,
int  index,
NBNode from,
NBNode to,
const std::vector< long long int > &  passed,
NBNetBuilder nb,
const NBNode first,
const NBNode last 
)
private

Builds an NBEdge.

Parameters
[in]eThe definition of the edge
[in]indexThe index of the edge (in the case it is split along her nodes)
[in]fromThe origin node of the edge
[in]toThe destination node of the edge
[in]passedThe list of passed nodes (geometry information)
[in]osmNodesContainer of node definitions for getting information about nodes from
[in,out]TheNetBuilder instance
[in]firstThe first node of the way
[in]lastThe last node of the way
Returns
the new index if the edge is split
Exceptions
ProcessErrorIf the edge could not be added to the container

XXX parking area should be added on the left side of a reverse one-way street

put it on the wrong side (better than nothing)

XXX parking area should be added on the left side of an one-way street

put it on the wrong side (better than nothing)

Definition at line 454 of file NIImporter_OpenStreetMap.cpp.

References NBEdge::addBikeLane(), NBEdge::addSidewalk(), applyChangeProhibition(), applyLaneUse(), applyTurnSigns(), CENTER, NIImporter_OpenStreetMap::NIOSMNode::ele, StringUtils::escapeXML(), NBPTStopCont::get(), OptionsCont::getBool(), NBNetBuilder::getEdgeCont(), NBTypeCont::getEdgeTypeBikeLaneWidth(), NBTypeCont::getEdgeTypeIsOneWay(), NBTypeCont::getEdgeTypeNumLanes(), NBTypeCont::getEdgeTypePermissions(), NBTypeCont::getEdgeTypePriority(), NBTypeCont::getEdgeTypeSidewalkWidth(), NBTypeCont::getEdgeTypeSpeed(), NBTypeCont::getEdgeTypeSpreadType(), NBTypeCont::getEdgeTypeWidth(), OptionsCont::getFloat(), Named::getID(), NBEdge::getLanes(), NBNetBuilder::getNodeCont(), OptionsCont::getOptions(), Parameterised::getParametersMap(), NBNetBuilder::getParkingCont(), NBEdge::getPermissions(), NBNetBuilder::getPTStopCont(), OptionsCont::getString(), NBNetBuilder::getTLLogicCont(), NBNode::getType(), NBNetBuilder::getTypeCont(), NIImporter_OpenStreetMap::NIOSMNode::id, NIImporter_OpenStreetMap::Edge::id, NBEdgeCont::insert(), NBPTStopCont::insert(), insertEdge(), insertNodeChecking(), isRailway(), OptionsCont::isSet(), NIImporter_OpenStreetMap::NIOSMNode::lat, NIImporter_OpenStreetMap::NIOSMNode::lon, MAX2(), MAXSPEED_UNGIVEN, NIImporter_OpenStreetMap::Edge::myAmInRoundabout, NIImporter_OpenStreetMap::Edge::myBuswayType, NIImporter_OpenStreetMap::Edge::myChangeBackward, NIImporter_OpenStreetMap::Edge::myChangeForward, NIImporter_OpenStreetMap::Edge::myCyclewayType, NIImporter_OpenStreetMap::Edge::myExtraAllowed, NIImporter_OpenStreetMap::Edge::myExtraDisallowed, NIImporter_OpenStreetMap::Edge::myExtraTags, NIImporter_OpenStreetMap::Edge::myHighWayType, myImportBikeAccess, myImportSidewalks, NIImporter_OpenStreetMap::Edge::myIsOneWay, NIImporter_OpenStreetMap::Edge::myMaxSpeed, NIImporter_OpenStreetMap::Edge::myMaxSpeedBackward, NIImporter_OpenStreetMap::Edge::myNoLanes, NIImporter_OpenStreetMap::Edge::myNoLanesForward, myOSMNodes, NIImporter_OpenStreetMap::Edge::myParkingType, NIImporter_OpenStreetMap::NIOSMNode::myRailDirection, NIImporter_OpenStreetMap::Edge::myRailDirection, NIImporter_OpenStreetMap::Edge::mySidewalkType, NIImporter_OpenStreetMap::Edge::myTurnSignsBackward, NIImporter_OpenStreetMap::Edge::myTurnSignsForward, NIImporter_OpenStreetMap::Edge::myWidth, NIImporter_OpenStreetMap::Edge::myWidthLanesBackward, NIImporter_OpenStreetMap::Edge::myWidthLanesForward, NIImporter_OpenStreetMap::NIOSMNode::name, NBTrafficLightDefinition::OSM_DIRECTION, PARKING_BOTH, PARKING_LEFT, PARKING_RIGHT, NIImporter_OpenStreetMap::NIOSMNode::permissions, NIImporter_OpenStreetMap::NIOSMNode::ptStopLength, NIImporter_OpenStreetMap::NIOSMNode::ptStopPosition, RAIL_SIGNAL, NIImporter_OpenStreetMap::NIOSMNode::railwaySignal, NIImporter_OpenStreetMap::Edge::ref, PositionVector::reverse(), RIGHT, ROADCENTER, NBEdge::ROUNDABOUT, NBEdge::setDistance(), NBEdge::setJunctionPriority(), NBEdge::setLaneWidth(), Parameterised::setParameter(), NBEdge::setPermissions(), NBEdge::setTurnSignTarget(), NIImporter_OpenStreetMap::Edge::streetName, SVC_BICYCLE, SVC_BUS, SVC_PASSENGER, SVC_PEDESTRIAN, SVC_RAIL, SVC_RAIL_ELECTRIC, SVC_RAIL_FAST, SVC_ROAD_CLASSES, SVC_SHIP, TL, TLF, StringUtils::toLong(), toString(), NBNetBuilder::transformCoordinate(), NBNetBuilder::transformCoordinates(), Parameterised::unsetParameter(), NBEdge::UNSPECIFIED_FRICTION, NBEdge::UNSPECIFIED_OFFSET, NBEdge::UNSPECIFIED_WIDTH, Parameterised::updateParameters(), usableType(), WAY_BACKWARD, WAY_BOTH, WAY_FORWARD, WAY_UNKNOWN, WRITE_ERRORF, and WRITE_WARNINGF.

Referenced by insertEdge(), and load().

Here is the caller graph for this function:

◆ insertNodeChecking()

NBNode * NIImporter_OpenStreetMap::insertNodeChecking ( long long int  id,
NBNodeCont nc,
NBTrafficLightLogicCont tlsc 
)
private

Builds an NBNode.

If a node with the given id is already known, nothing is done. Otherwise, the position and other information of the node is retrieved from the given node map, the node is built and added to the given node container. If the node is controlled by a tls, the according tls is built and added to the tls container.

Parameters
[in]idThe id of the node to build
[in]osmNodesMap of node ids to information about these
[in,out]ncThe node container to add the built node to
[in,out]tlscThe traffic lights logic container to add the built tls to
Returns
The built/found node
Exceptions
ProcessErrorIf the tls could not be added to the container

Definition at line 397 of file NIImporter_OpenStreetMap.cpp.

References NIImporter_OpenStreetMap::NIOSMNode::ele, StringBijection< T >::get(), OptionsCont::getOptions(), Parameterised::getParameter(), Parameterised::getParametersMap(), INNER, NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NIImporter_OpenStreetMap::NIOSMNode::lat, NIImporter_OpenStreetMap::NIOSMNode::lon, myImportCrossings, myOSMNodes, NIImporter_OpenStreetMap::NIOSMNode::myRailDirection, NIImporter_OpenStreetMap::NIOSMNode::node, NBTrafficLightDefinition::OSM_SIGNAL_DIRECTION, NIImporter_OpenStreetMap::NIOSMNode::pedestrianCrossing, RAIL_CROSSING, RAIL_SIGNAL, NIImporter_OpenStreetMap::NIOSMNode::railwayBufferStop, NIImporter_OpenStreetMap::NIOSMNode::railwayCrossing, NIImporter_OpenStreetMap::NIOSMNode::railwaySignal, NBNode::reinit(), NBNodeCont::retrieve(), NBNode::setFringeType(), Parameterised::setParameter(), TL, TLF, NIImporter_OpenStreetMap::NIOSMNode::tlsControlled, toString(), TRAFFIC_LIGHT, SUMOXMLDefinitions::TrafficLightTypes, NBNetBuilder::transformCoordinate(), Parameterised::updateParameters(), WAY_BACKWARD, WAY_FORWARD, and WRITE_ERRORF.

Referenced by insertEdge(), and load().

Here is the caller graph for this function:

◆ interpretDistance()

double NIImporter_OpenStreetMap::interpretDistance ( NIOSMNode node)
staticprivate

read distance value from node and return value in m

Definition at line 2609 of file NIImporter_OpenStreetMap.cpp.

References NIImporter_OpenStreetMap::NIOSMNode::id, NIImporter_OpenStreetMap::NIOSMNode::position, StringUtils::startsWith(), TL, StringUtils::toDouble(), toString(), and WRITE_WARNINGF.

Referenced by extendRailwayDistances().

Here is the caller graph for this function:

◆ interpretTransportType()

SUMOVehicleClass NIImporter_OpenStreetMap::interpretTransportType ( const std::string &  type,
NIOSMNode toSet = nullptr 
)
static

◆ load()

void NIImporter_OpenStreetMap::load ( const OptionsCont oc,
NBNetBuilder nb 
)
protected

Definition at line 131 of file NIImporter_OpenStreetMap.cpp.

References NBNode::addCrossing(), NBNode::checkCrossingDuplicated(), NBPTStopCont::cleanupDeleted(), NIImporter_OpenStreetMap::NIOSMNode::ele, extendRailwayDistances(), NBEdgeCont::extractRoundabouts(), NBNode::FORWARD, OptionsCont::getBool(), NIImporter_OpenStreetMap::NodesHandler::getDuplicateNodes(), NBNetBuilder::getEdgeCont(), MsgHandler::getErrorInstance(), OptionsCont::getFloat(), NBNode::getIncomingEdges(), NBNetBuilder::getNodeCont(), OptionsCont::getOptions(), NBNode::getOutgoingEdges(), NBNetBuilder::getPTLineCont(), NBNetBuilder::getPTStopCont(), XMLSubSys::getSAXReader(), NBPTStopCont::getStops(), OptionsCont::getStringVector(), NBNetBuilder::getTLLogicCont(), NBNetBuilder::getTypeCont(), Parameterised::hasParameter(), NIImporter_OpenStreetMap::NIOSMNode::id, NIImporter_OpenStreetMap::Edge::id, NBPTStopCont::insert(), insertEdge(), insertNodeChecking(), FileHelpers::isReadable(), OptionsCont::isSet(), NIImporter_OpenStreetMap::NIOSMNode::lat, NIImporter_OpenStreetMap::NIOSMNode::lon, myAllAttributes, NIImporter_OpenStreetMap::Edge::myCurrentIsRoad, NIImporter_OpenStreetMap::Edge::myCurrentNodes, myEdges, myExtraAttributes, myImportBikeAccess, myImportCrossings, myImportLaneAccess, myImportSidewalks, myImportTurnSigns, myOSMNodes, myPlatformShapes, myUniqueNodes, NIImporter_OpenStreetMap::NIOSMNode::name, NIImporter_OpenStreetMap::NIOSMNode::permissions, PROGRESS_BEGIN_MESSAGE, PROGRESS_BEGIN_TIME_MESSAGE, PROGRESS_DONE_MESSAGE, PROGRESS_TIME_MESSAGE, NIImporter_OpenStreetMap::NIOSMNode::ptStopLength, NIImporter_OpenStreetMap::NIOSMNode::ptStopPosition, reconstructLayerElevation(), NIImporter_OpenStreetMap::NodesHandler::resetHierarchy(), GenericSAXHandler::setFileName(), SUMO_TAG_NODE, SUMO_TAG_RELATION, SUMO_TAG_WAY, SVC_PEDESTRIAN, TL, toString(), NBNetBuilder::transformCoordinate(), Parameterised::unsetParameter(), MsgHandler::wasInformed(), WRITE_ERRORF, WRITE_MESSAGEF, and WRITE_WARNINGF.

Referenced by loadNetwork().

Here is the caller graph for this function:

◆ loadNetwork()

void NIImporter_OpenStreetMap::loadNetwork ( const OptionsCont oc,
NBNetBuilder nb 
)
static

Loads content of the optionally given OSM file.

If the option "osm-files" is set, the file(s) stored therein is read and the network definition stored therein is stored within the given network builder.

If the option "osm-files" is not set, this method simply returns.

Parameters
[in]ocThe options to use
[in,out]nbThe network builder to fill

Definition at line 108 of file NIImporter_OpenStreetMap.cpp.

References load().

Referenced by NILoader::load().

Here is the caller graph for this function:

◆ mergeTurnSigns()

void NIImporter_OpenStreetMap::mergeTurnSigns ( std::vector< int > &  signs,
std::vector< int >  signs2 
)
staticprotected

Definition at line 2702 of file NIImporter_OpenStreetMap.cpp.

References MIN2().

Referenced by NIImporter_OpenStreetMap::EdgesHandler::myStartElement().

Here is the caller graph for this function:

◆ reconstructLayerElevation()

void NIImporter_OpenStreetMap::reconstructLayerElevation ( double  layerElevation,
NBNetBuilder nb 
)
private

◆ usableType()

Field Documentation

◆ compoundTypeSeparator

const std::string NIImporter_OpenStreetMap::compoundTypeSeparator
staticprivate

The separator within newly created compound type names.

Definition at line 284 of file NIImporter_OpenStreetMap.h.

Referenced by NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), and usableType().

◆ INVALID_ID

◆ MAXSPEED_UNGIVEN

◆ myAllAttributes

bool NIImporter_OpenStreetMap::myAllAttributes
staticprivate

whether additional way and node attributes shall be imported

Definition at line 325 of file NIImporter_OpenStreetMap.h.

Referenced by load(), NIImporter_OpenStreetMap::NodesHandler::myStartElement(), and NIImporter_OpenStreetMap::EdgesHandler::myStartElement().

◆ myEdges

std::map<long long int, Edge*> NIImporter_OpenStreetMap::myEdges
private

the map from OSM way ids to edge objects

Definition at line 298 of file NIImporter_OpenStreetMap.h.

Referenced by load(), reconstructLayerElevation(), and ~NIImporter_OpenStreetMap().

◆ myExtraAttributes

std::set< std::string > NIImporter_OpenStreetMap::myExtraAttributes
staticprivate

◆ myImportBikeAccess

bool NIImporter_OpenStreetMap::myImportBikeAccess
private

import bike path specific permissions and directions

Definition at line 316 of file NIImporter_OpenStreetMap.h.

Referenced by insertEdge(), and load().

◆ myImportCrossings

bool NIImporter_OpenStreetMap::myImportCrossings
private

import crossings

Definition at line 319 of file NIImporter_OpenStreetMap.h.

Referenced by insertNodeChecking(), and load().

◆ myImportLaneAccess

bool NIImporter_OpenStreetMap::myImportLaneAccess
private

import lane specific access restrictions

Definition at line 310 of file NIImporter_OpenStreetMap.h.

Referenced by applyLaneUse(), and load().

◆ myImportSidewalks

bool NIImporter_OpenStreetMap::myImportSidewalks
private

import sidewalks

Definition at line 313 of file NIImporter_OpenStreetMap.h.

Referenced by insertEdge(), and load().

◆ myImportTurnSigns

bool NIImporter_OpenStreetMap::myImportTurnSigns
private

import turning signals (turn:lanes) to guide connection building

Definition at line 322 of file NIImporter_OpenStreetMap.h.

Referenced by applyTurnSigns(), and load().

◆ myKnownCompoundTypes

std::map<std::string, std::string> NIImporter_OpenStreetMap::myKnownCompoundTypes
private

The compound types that have already been mapped to other known types.

Definition at line 307 of file NIImporter_OpenStreetMap.h.

Referenced by usableType().

◆ myOSMNodes

std::map<long long int, NIOSMNode*> NIImporter_OpenStreetMap::myOSMNodes
private

◆ myPlatformShapes

std::map<long long int, Edge*> NIImporter_OpenStreetMap::myPlatformShapes
private

◆ myUniqueNodes

std::set<NIOSMNode*, CompareNodes> NIImporter_OpenStreetMap::myUniqueNodes
private

the set of unique nodes used in NodesHandler, used when freeing memory

Definition at line 294 of file NIImporter_OpenStreetMap.h.

Referenced by load(), NIImporter_OpenStreetMap::NodesHandler::myStartElement(), and ~NIImporter_OpenStreetMap().

◆ myUnusableTypes

std::set<std::string> NIImporter_OpenStreetMap::myUnusableTypes
private

The compounds types that do not contain known types.

Definition at line 304 of file NIImporter_OpenStreetMap.h.

Referenced by usableType().


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