![]() |
Eclipse SUMO - Simulation of Urban MObility
|
A class which extracts OSM-nodes from a parsed OSM-file. More...
#include <NIImporter_OpenStreetMap.h>
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occurred. More... | |
void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
The inherited method called when a tag is being closed. More... | |
int | getDuplicateNodes () const |
const std::string & | getFileName () const |
returns the current file name More... | |
NodesHandler (std::map< long long int, NIOSMNode * > &toFill, std::set< NIOSMNode *, CompareNodes > &uniqueNodes, const OptionsCont &cont) | |
Contructor. More... | |
void | registerParent (const int tag, GenericSAXHandler *handler) |
Assigning a parent handler which is enabled when the specified tag is closed. More... | |
void | setFileName (const std::string &name) |
Sets the current file name. More... | |
void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const XERCES_CPP_NAMESPACE::Attributes &attrs) |
The inherited method called when a new tag opens. More... | |
~NodesHandler () override | |
Destructor. More... | |
inherited from GenericSAXHandler | |
std::map< long long int, NIOSMNode * > & | myToFill |
The nodes container to fill. More... | |
long long int | myLastNodeID |
ID of the currently parsed node, for reporting mainly. More... | |
bool | myIsInValidNodeTag |
Hierarchy helper for parsing a node's tags. More... | |
int | myHierarchyLevel |
The current hierarchy level. More... | |
std::set< NIOSMNode *, CompareNodes > & | myUniqueNodes |
the set of unique nodes (used for duplicate detection/substitution) More... | |
const bool | myImportElevation |
whether elevation data should be imported More... | |
int | myDuplicateNodes |
number of diplic More... | |
const OptionsCont & | myOptionsCont |
the options More... | |
void | myStartElement (int element, const SUMOSAXAttributes &attrs) override |
Called on the opening of a tag;. More... | |
void | myEndElement (int element) override |
Called when a closing tag occurs. More... | |
NodesHandler (const NodesHandler &s) | |
invalidated copy constructor More... | |
NodesHandler & | operator= (const NodesHandler &s) |
invalidated assignment operator More... | |
attributes parsing | |
AttrMap | myPredefinedTags |
std::vector< std::string > | myPredefinedTagsMML |
the map from ids to their string representation More... | |
typedef std::vector< XMLCh * > | AttrMap |
elements parsing | |
TagMap | myTagMap |
std::vector< std::string > | myCharactersVector |
A list of character strings obtained so far to build the complete characters string at the end. More... | |
GenericSAXHandler * | myParentHandler |
The handler to give control back to. More... | |
int | myParentIndicator |
The tag indicating that control should be given back. More... | |
std::string | myFileName |
The name of the currently parsed file. More... | |
std::string | myExpectedRoot |
The root element to expect, empty string disables the check. More... | |
bool | myRootSeen |
whether the reader has already seen the root element More... | |
typedef std::map< std::string, int > | TagMap |
SAX ErrorHandler callbacks | |
void | warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-warnings. More... | |
void | error (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-errors. More... | |
void | fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-errors. More... | |
std::string | buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Builds an error message. More... | |
virtual void | myCharacters (int element, const std::string &chars) |
Callback method for characters to implement by derived classes. More... | |
XMLCh * | convert (const std::string &name) const |
converts from c++-string into unicode More... | |
int | convertTag (const std::string &tag) const |
Converts a tag from its string into its numerical representation. More... | |
A class which extracts OSM-nodes from a parsed OSM-file.
Definition at line 325 of file NIImporter_OpenStreetMap.h.
|
privateinherited |
Definition at line 279 of file GenericSAXHandler.h.
|
privateinherited |
Definition at line 293 of file GenericSAXHandler.h.
NIImporter_OpenStreetMap::NodesHandler::NodesHandler | ( | std::map< long long int, NIOSMNode * > & | toFill, |
std::set< NIOSMNode *, CompareNodes > & | uniqueNodes, | ||
const OptionsCont & | cont | ||
) |
Contructor.
[in,out] | toFill | The nodes container to fill |
[in,out] | uniqueNodes | The nodes container for ensuring uniqueness |
[in] | options | The options to use |
Definition at line 608 of file NIImporter_OpenStreetMap.cpp.
|
overridedefault |
Destructor.
|
private |
invalidated copy constructor
|
protectedinherited |
Builds an error message.
The error message includes the file name and the line/column information as supported by the given SAXParseException
[in] | exception | The name of the currently processed file |
Definition at line 188 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName(), and transcode().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
inherited |
The inherited method called when characters occurred.
The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.
recheck/describe what happens with characters when a new element is opened
describe characters processing in the class' head
Definition at line 171 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myCharactersVector, and StringUtils::transcode().
|
privateinherited |
converts from c++-string into unicode
[in] | name | The string to convert |
Definition at line 84 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::GenericSAXHandler().
|
privateinherited |
Converts a tag from its string into its numerical representation.
Returns the enum-representation stored for the given tag. If the tag is not known, SUMO_TAG_NOTHING is returned.
[in] | tag | The string to convert |
Definition at line 178 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myTagMap, and SUMO_TAG_NOTHING.
Referenced by GenericSAXHandler::endElement(), and GenericSAXHandler::startElement().
|
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.
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, SUMO_TAG_NOTHING, and StringUtils::transcode().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
[in] | exception | The occurred exception to process |
ProcessError | On any call |
Definition at line 207 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by MSRouteHandler::addFlowPerson(), MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), MSRouteHandler::closePersonFlow(), NIImporter_OpenDrive::geomFromSpiral(), and MSRouteHandler::myStartElement().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
ProcessError | On any call |
[in] | exception | The occurred exception to process |
Definition at line 213 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inline |
Definition at line 340 of file NIImporter_OpenStreetMap.h.
References myDuplicateNodes.
Referenced by NIImporter_OpenStreetMap::load().
|
inherited |
returns the current file name
Definition at line 78 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), ShapeHandler::addPOI(), ShapeHandler::addPoly(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), PCNetProjectionLoader::load(), NLHandler::myEndElement(), RODFDetectorHandler::myStartElement(), NLHandler::myStartElement(), GUISettingsHandler::myStartElement(), SUMORouteHandler::myStartElement(), GNEAdditionalHandler::parseAndBuildPOI(), GNEAdditionalHandler::parseAndBuildPoly(), XMLSubSys::runParser(), GenericSAXHandler::startElement(), and SUMORouteLoader::SUMORouteLoader().
|
protectedvirtualinherited |
Callback method for characters to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The opened element, given as a int |
[in] | chars | The complete embedded character string @exceptions ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, and NIImporter_ITSUMO::Handler.
Definition at line 223 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
overrideprotectedvirtual |
Called when a closing tag occurs.
[in] | element | ID of the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 743 of file NIImporter_OpenStreetMap.cpp.
References SUMO_TAG_NODE.
|
overrideprotectedvirtual |
Called on the opening of a tag;.
[in] | element | ID of the currently opened element |
[in] | attrs | Attributes within the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 627 of file NIImporter_OpenStreetMap.cpp.
References SUMOSAXAttributes::get(), SUMOSAXAttributes::getStringSecure(), SUMOSAXAttributes::hasAttribute(), NIImporter_OpenStreetMap::interpretTransportType(), ISNAN(), NIImporter_OpenStreetMap::myUniqueNodes, StringUtils::startsWith(), SUMO_ATTR_ID, SUMO_ATTR_K, SUMO_ATTR_LAT, SUMO_ATTR_LON, SUMO_ATTR_V, SUMO_TAG_NODE, SUMO_TAG_TAG, StringUtils::toDouble(), toString(), WRITE_ERROR, and WRITE_WARNINGF.
|
private |
invalidated assignment operator
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 163 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
|
inherited |
Sets the current file name.
[in] | name | The name of the currently processed file |
Definition at line 72 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), NIImporter_OpenStreetMap::load(), NIImporter_Vissim::load(), PCNetProjectionLoader::load(), NITypeLoader::load(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), main(), and XMLSubSys::runParser().
|
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.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 97 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myExpectedRoot, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myRootSeen, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, SUMO_TAG_INCLUDE, StringUtils::transcode(), and WRITE_WARNING.
|
inherited |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
[in] | exception | The occurred exception to process |
Definition at line 201 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
privateinherited |
A list of character strings obtained so far to build the complete characters string at the end.
Definition at line 300 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::characters(), GenericSAXHandler::endElement(), and GenericSAXHandler::startElement().
|
private |
number of diplic
Definition at line 389 of file NIImporter_OpenStreetMap.h.
Referenced by getDuplicateNodes().
|
privateinherited |
The root element to expect, empty string disables the check.
Definition at line 312 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::startElement().
|
privateinherited |
The name of the currently parsed file.
Definition at line 309 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::getFileName(), and GenericSAXHandler::setFileName().
|
private |
The current hierarchy level.
Definition at line 380 of file NIImporter_OpenStreetMap.h.
|
private |
whether elevation data should be imported
Definition at line 386 of file NIImporter_OpenStreetMap.h.
|
private |
Hierarchy helper for parsing a node's tags.
Definition at line 377 of file NIImporter_OpenStreetMap.h.
|
private |
ID of the currently parsed node, for reporting mainly.
Definition at line 374 of file NIImporter_OpenStreetMap.h.
|
private |
the options
Definition at line 392 of file NIImporter_OpenStreetMap.h.
|
privateinherited |
The handler to give control back to.
Definition at line 303 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::endElement(), and GenericSAXHandler::registerParent().
|
privateinherited |
The tag indicating that control should be given back.
Definition at line 306 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::endElement(), and GenericSAXHandler::registerParent().
|
privateinherited |
Definition at line 282 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::GenericSAXHandler(), GenericSAXHandler::startElement(), and GenericSAXHandler::~GenericSAXHandler().
|
privateinherited |
the map from ids to their string representation
Definition at line 285 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::GenericSAXHandler(), and GenericSAXHandler::startElement().
|
privateinherited |
whether the reader has already seen the root element
Definition at line 315 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::startElement().
|
privateinherited |
Definition at line 296 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::convertTag(), and GenericSAXHandler::GenericSAXHandler().
|
private |
The nodes container to fill.
Definition at line 371 of file NIImporter_OpenStreetMap.h.
|
private |
the set of unique nodes (used for duplicate detection/substitution)
Definition at line 383 of file NIImporter_OpenStreetMap.h.