SUMO - Simulation of Urban MObility

NIImporter_OpenStreetMap::NodesHandler Class Reference

A class which extracts OSM-nodes from a parsed OSM-file. More...

Inheritance diagram for NIImporter_OpenStreetMap::NodesHandler:
SUMOSAXHandler GenericSAXHandler DefaultHandler

Public Member Functions

void characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
 The inherited method called when characters occured.
void endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname)
 The inherited method called when a tag is being closed.
const std::string & getFileName () const throw ()
 returns the current file name
 NodesHandler (std::map< int, NIOSMNode * > &toFill) throw ()
 Contructor.
void registerParent (const int tag, GenericSAXHandler *handler)
 Assigning a parent handler which is enabled when the specified tag is closed.
void setFileName (const std::string &name) throw ()
 Sets the current file name.
void startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attrs)
 The inherited method called when a new tag opens.
 ~NodesHandler () throw ()
 Destructor.
SAX ErrorHandler callbacks
void warning (const SAXParseException &exception) throw ()
 Handler for XML-warnings.
void error (const SAXParseException &exception) throw (ProcessError)
 Handler for XML-errors.
void fatalError (const SAXParseException &exception) throw (ProcessError)
 Handler for XML-errors.

Protected Member Functions

std::string buildErrorMessage (const SAXParseException &exception) throw ()
 Builds an error message.
virtual void myCharacters (int element, const std::string &chars)
 Callback method for characters to implement by derived classes.
inherited from GenericSAXHandler
void myStartElement (int element, const SUMOSAXAttributes &attrs) throw (ProcessError)
 Called on the opening of a tag;.
void myEndElement (int element) throw (ProcessError)
 Called when a closing tag occurs.

Private Member Functions

 NodesHandler (const NodesHandler &s)
 invalidated copy constructor
NodesHandler & operator= (const NodesHandler &s)
 invalidated assignment operator

Private Attributes

int myHierarchyLevel
 The current hierarchy level.
bool myIsInValidNodeTag
 Hierarchy helper for parsing a node's tags.
int myLastNodeID
 ID of the currently parsed node, for reporting mainly.
std::map< int, NIOSMNode * > & myToFill
 The nodes container to fill.

Detailed Description

A class which extracts OSM-nodes from a parsed OSM-file.

Definition at line 169 of file NIImporter_OpenStreetMap.h.


Constructor & Destructor Documentation

NIImporter_OpenStreetMap::NodesHandler::NodesHandler ( std::map< int, NIOSMNode * > &  toFill) throw ()

Contructor.

Parameters:
[in,out]toFillThe nodes container to fill
[in]optionsThe options to use

Definition at line 510 of file NIImporter_OpenStreetMap.cpp.

NIImporter_OpenStreetMap::NodesHandler::~NodesHandler ( ) throw ()

Destructor.

Definition at line 515 of file NIImporter_OpenStreetMap.cpp.

NIImporter_OpenStreetMap::NodesHandler::NodesHandler ( const NodesHandler &  s) [private]

invalidated copy constructor


Member Function Documentation

std::string GenericSAXHandler::buildErrorMessage ( const SAXParseException &  exception) throw () [protected, inherited]

Builds an error message.

The error message includes the file name and the line/column information as supported by the given SAXParseException

Parameters:
[in]exceptionThe name of the currently processed file
Returns:
A string describing the given exception

Definition at line 189 of file GenericSAXHandler.cpp.

void GenericSAXHandler::characters ( const XMLCh *const  chars,
const XERCES3_SIZE_t  length 
) [inherited]

The inherited method called when characters occured.

The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.

Todo:

recheck/describe what happens with characters when a new element is opened

describe characters processing in the class' head

Definition at line 172 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myCharactersVector.

void GenericSAXHandler::endElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname 
) [inherited]

The inherited method called when a tag is being closed.

This method calls the user-implemented methods myCharacters with the previously collected and converted characters.

Then, myEndElement is called, supplying it the qname converted to its enum- and string-representations.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 122 of file GenericSAXHandler.cpp.

References GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.

void GenericSAXHandler::error ( const SAXParseException &  exception) throw (ProcessError) [inherited]

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Parameters:
[in]exceptionThe occured exception to process
Exceptions:
ProcessErrorOn any call

Definition at line 208 of file GenericSAXHandler.cpp.

Referenced by NLHandler::getLanesFromIndices().

void GenericSAXHandler::fatalError ( const SAXParseException &  exception) throw (ProcessError) [inherited]

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Exceptions:
ProcessErrorOn any call
Parameters:
[in]exceptionThe occured exception to process

Definition at line 214 of file GenericSAXHandler.cpp.

void GenericSAXHandler::myCharacters ( int  element,
const std::string &  chars 
) [protected, virtual, inherited]

Callback method for characters to implement by derived classes.

Called by "endElement" (see there).

Parameters:
[in]elementThe opened element, given as a int
[in]charsThe complete embedded character string ProcessError These method may throw a ProcessError if something fails

Reimplemented in ROJTRTurnDefLoader, NIImporter_ITSUMO::Handler, NIImporter_OpenDrive, NIImporter_SUMO, PCLoaderXML, PCNetProjectionLoader, and RORDLoader_SUMOBase.

Definition at line 224 of file GenericSAXHandler.cpp.

Referenced by GenericSAXHandler::endElement().

void NIImporter_OpenStreetMap::NodesHandler::myEndElement ( int  element) throw (ProcessError) [protected, virtual]

Called when a closing tag occurs.

Parameters:
[in]elementID of the currently opened element
Exceptions:
ProcessErrorIf something fails
See also:
GenericSAXHandler::myEndElement

Reimplemented from GenericSAXHandler.

Definition at line 589 of file NIImporter_OpenStreetMap.cpp.

References SUMO_TAG_NODE.

void NIImporter_OpenStreetMap::NodesHandler::myStartElement ( int  element,
const SUMOSAXAttributes &  attrs 
) throw (ProcessError) [protected, virtual]

Called on the opening of a tag;.

Parameters:
[in]elementID of the currently opened element
[in]attrsAttributes within the currently opened element
Exceptions:
ProcessErrorIf something fails
See also:
GenericSAXHandler::myStartElement

Reimplemented from GenericSAXHandler.

Definition at line 519 of file NIImporter_OpenStreetMap.cpp.

References OptionsCont::getBool(), OptionsCont::getOptions(), NIImporter_OpenStreetMap::NIOSMNode::id, NIImporter_OpenStreetMap::NIOSMNode::lat, NIImporter_OpenStreetMap::NIOSMNode::lon, SUMO_ATTR_ID, SUMO_ATTR_K, SUMO_ATTR_LAT, SUMO_ATTR_LON, SUMO_ATTR_V, SUMO_TAG_NODE, SUMO_TAG_TAG, NIImporter_OpenStreetMap::NIOSMNode::tlsControlled, toString(), and WRITE_ERROR.

NodesHandler& NIImporter_OpenStreetMap::NodesHandler::operator= ( const NodesHandler &  s) [private]

invalidated assignment operator

void GenericSAXHandler::registerParent ( const int  tag,
GenericSAXHandler *  handler 
) [inherited]

Assigning a parent handler which is enabled when the specified tag is closed.

Definition at line 164 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().

Referenced by NLTriggerBuilder::parseAndBuildLaneSpeedTrigger().

void GenericSAXHandler::setFileName ( const std::string &  name) throw () [inherited]

Sets the current file name.

Parameters:
[in]nameThe name of the currently processed file
Todo:
Hmmm - this is as unsafe as having a direct access to the variable; recheck

Definition at line 76 of file GenericSAXHandler.cpp.

Referenced by NIImporter_SUMO::_loadNetwork(), NIImporter_OpenStreetMap::_loadNetwork(), AGActivityGen::importInfoCity(), PCNetProjectionLoader::loadIfSet(), ROLoader::loadNet(), loadNet(), NIImporter_OpenDrive::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_ITSUMO::loadNetwork(), and NILoader::loadXMLType().

void GenericSAXHandler::startElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname,
const Attributes &  attrs 
) [inherited]

The inherited method called when a new tag opens.

The method parses the supplied XMLCh*-qname using the internal name/enum-map to obtain the enum representation of the attribute name.

Then, "myStartElement" is called supplying the enumeration value, the string-representation of the name and the attributes.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 101 of file GenericSAXHandler.cpp.

References GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, and SUMO_TAG_INCLUDE.

void GenericSAXHandler::warning ( const SAXParseException &  exception) throw () [inherited]

Handler for XML-warnings.

The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.

Parameters:
[in]exceptionThe occured exception to process

Definition at line 202 of file GenericSAXHandler.cpp.

References WRITE_WARNING.


Field Documentation

The current hierarchy level.

Definition at line 217 of file NIImporter_OpenStreetMap.h.

Hierarchy helper for parsing a node's tags.

Definition at line 214 of file NIImporter_OpenStreetMap.h.

ID of the currently parsed node, for reporting mainly.

Definition at line 211 of file NIImporter_OpenStreetMap.h.

The nodes container to fill.

Definition at line 208 of file NIImporter_OpenStreetMap.h.


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines