![]() |
SUMO - Simulation of Urban MObility
|
A reader for polygons and pois stored in XML-format. More...
#include <PCLoaderXML.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... | |
const std::string & | getFileName () const |
returns the current file name More... | |
Position | getLanePos (const std::string &poiID, const std::string &laneID, double lanePos, double lanePosLat) |
get position for a given laneID 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... | |
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... | |
Static Public Member Functions | |
static bool | loadFiles (const std::vector< std::string > &files, ShapeHandler &sh) |
loads all of the given files More... | |
static void | loadIfSet (OptionsCont &oc, PCPolyContainer &toFill, PCTypeMap &tm) |
Loads pois/polygons assumed to be stored as XML. More... | |
Protected Member Functions | |
virtual bool | addLanePosParams () |
Whether some input attributes shall be automatically added as params. More... | |
void | addPOI (const SUMOSAXAttributes &attrs, const bool ignorePruning, const bool useProcessing) |
adds a POI More... | |
void | addPoly (const SUMOSAXAttributes &attrs, const bool ignorePruning, const bool useProcessing) |
adds a polygon 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... | |
PCLoaderXML (PCPolyContainer &toFill, PCTypeMap &tm, OptionsCont &oc) | |
Constructor. More... | |
void | setDefaults (const std::string &prefix, const RGBColor &color, const double layer, const bool fill=false) |
set default values More... | |
void | setSchemaSeen (const bool schemaSeen=true) |
~PCLoaderXML () | |
Destructor. More... | |
inherited from GenericSAXHandler | |
virtual void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. More... | |
inherited from GenericSAXHandler | |
virtual void | myEndElement (int element) |
Called when a closing tag occurs. More... | |
Protected Attributes | |
ShapeContainer & | myShapeContainer |
Private Attributes | |
OptionsCont & | myOptions |
Settings to use. More... | |
PCTypeMap & | myTypeMap |
The type map to use. More... | |
A reader for polygons and pois stored in XML-format.
Reads pois stored as XML definition. The definitions must match the format POLYCONVERT generates.
Definition at line 51 of file PCLoaderXML.h.
|
protected |
Constructor.
[in] | toFill | The poly/pois container to add loaded polys/pois to |
[in] | tm | The type map to use for setting values of loaded polys/pois |
[in] | oc | The options container to get further options from |
Definition at line 81 of file PCLoaderXML.cpp.
|
protected |
Destructor.
Definition at line 87 of file PCLoaderXML.cpp.
|
inlineprotectedvirtualinherited |
Whether some input attributes shall be automatically added as params.
Reimplemented in NLShapeHandler.
Definition at line 95 of file ShapeHandler.h.
References ShapeHandler::addPOI(), ShapeHandler::addPoly(), and ShapeHandler::setDefaults().
Referenced by ShapeHandler::addPOI().
|
protectedinherited |
adds a POI
Definition at line 103 of file ShapeHandler.cpp.
References ShapeHandler::addLanePosParams(), ShapeContainer::addPOI(), Shape::DEFAULT_ANGLE, Shape::DEFAULT_IMG_FILE, Shape::DEFAULT_IMG_HEIGHT, Shape::DEFAULT_IMG_WIDTH, Shape::DEFAULT_RELATIVEPATH, SUMOSAXAttributes::get(), NamedObjectCont< T >::get(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), GeoConvHelper::getFinal(), ShapeHandler::getLanePos(), SUMOSAXAttributes::getOpt(), ShapeContainer::getPOIs(), GeoConvHelper::getProcessing(), SUMOSAXAttributes::hasAttribute(), INVALID_POSITION, FileHelpers::isAbsolute(), ShapeHandler::myDefaultColor, ShapeHandler::myDefaultLayer, ShapeHandler::myLastParameterised, ShapeHandler::myPrefix, ShapeHandler::myShapeContainer, Position::set(), Parameterised::setParameter(), SUMO_ATTR_ANGLE, SUMO_ATTR_COLOR, SUMO_ATTR_HEIGHT, SUMO_ATTR_ID, SUMO_ATTR_IMGFILE, SUMO_ATTR_LANE, SUMO_ATTR_LAT, SUMO_ATTR_LAYER, SUMO_ATTR_LON, SUMO_ATTR_POSITION, SUMO_ATTR_POSITION_LAT, SUMO_ATTR_RELATIVEPATH, SUMO_ATTR_TYPE, SUMO_ATTR_WIDTH, SUMO_ATTR_X, SUMO_ATTR_Y, toString(), GeoConvHelper::usingGeoProjection(), WRITE_ERROR, GeoConvHelper::x2cartesian(), and GeoConvHelper::x2cartesian_const().
Referenced by ShapeHandler::addLanePosParams(), ShapeHandler::myStartElement(), and myStartElement().
|
protectedinherited |
adds a polygon
Definition at line 178 of file ShapeHandler.cpp.
References ShapeContainer::addPolygon(), Shape::DEFAULT_ANGLE, Shape::DEFAULT_IMG_FILE, Shape::DEFAULT_LINEWIDTH, Shape::DEFAULT_RELATIVEPATH, Shape::DEFAULT_TYPE, SUMOSAXAttributes::get(), NamedObjectCont< T >::get(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), GeoConvHelper::getFinal(), SUMOSAXAttributes::getOpt(), ShapeContainer::getPolygons(), GeoConvHelper::getProcessing(), SUMOSAXAttributes::hasAttribute(), FileHelpers::isAbsolute(), ShapeHandler::myDefaultColor, ShapeHandler::myDefaultFill, ShapeHandler::myDefaultLayer, ShapeHandler::myLastParameterised, ShapeHandler::myPrefix, ShapeHandler::myShapeContainer, SUMO_ATTR_ANGLE, SUMO_ATTR_COLOR, SUMO_ATTR_FILL, SUMO_ATTR_GEO, SUMO_ATTR_ID, SUMO_ATTR_IMGFILE, SUMO_ATTR_LAYER, SUMO_ATTR_LINEWIDTH, SUMO_ATTR_RELATIVEPATH, SUMO_ATTR_SHAPE, SUMO_ATTR_TYPE, WRITE_ERROR, WRITE_WARNING, GeoConvHelper::x2cartesian(), and GeoConvHelper::x2cartesian_const().
Referenced by ShapeHandler::addLanePosParams(), ShapeHandler::myStartElement(), and myStartElement().
|
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 187 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName().
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 170 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myCharactersVector, and StringUtils::transcode().
|
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 121 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 206 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), 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 212 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 75 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(), NILoader::loadXMLType(), NLHandler::myEndElement(), RODFDetectorHandler::myStartElement(), GUISettingsHandler::myStartElement(), SUMORouteHandler::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), XMLSubSys::runParser(), GenericSAXHandler::startElement(), and SUMORouteLoader::SUMORouteLoader().
|
virtual |
get position for a given laneID
Implements ShapeHandler.
Definition at line 125 of file PCLoaderXML.cpp.
References Position::INVALID, and ShapeHandler::myShapeContainer.
|
staticinherited |
loads all of the given files
Definition at line 233 of file ShapeHandler.cpp.
References XMLSubSys::runParser(), and WRITE_MESSAGE.
Referenced by NLBuilder::build().
|
static |
Loads pois/polygons assumed to be stored as XML.
If the option "xml" is set within the given options container, an instance of PCLoaderXML is built and used as a handler for the files given in this option.
[in] | oc | The options container to get further options from |
[in] | toFill | The poly/pois container to add loaded polys/pois to |
[in] | tm | The type map to use for setting values of loaded polys/pois |
ProcessError | if something fails |
Definition at line 55 of file PCLoaderXML.cpp.
References SysUtils::getCurrentMillis(), OptionsCont::getStringVector(), FileHelpers::isReadable(), OptionsCont::isSet(), PROGRESS_BEGIN_MESSAGE, PROGRESS_TIME_MESSAGE, and XMLSubSys::runParser().
Referenced by main().
|
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 ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, and NIImporter_ITSUMO::Handler.
Definition at line 222 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
protectedvirtualinherited |
Called when a closing tag occurs.
[in] | element | ID of the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 96 of file ShapeHandler.cpp.
References ShapeHandler::myLastParameterised, and SUMO_TAG_PARAM.
Referenced by NLHandler::networkVersion().
|
protectedvirtual |
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 ShapeHandler.
Definition at line 91 of file PCLoaderXML.cpp.
References ShapeHandler::addPOI(), ShapeHandler::addPoly(), PCTypeMap::TypeDef::allowFill, PCTypeMap::TypeDef::color, PCTypeMap::TypeDef::discard, SUMOSAXAttributes::get(), PCTypeMap::get(), OptionsCont::getBool(), OptionsCont::getFloat(), SUMOSAXAttributes::getOpt(), OptionsCont::getString(), PCTypeMap::has(), OptionsCont::isInStringVector(), PCTypeMap::TypeDef::layer, myOptions, myTypeMap, RGBColor::parseColor(), PCTypeMap::TypeDef::prefix, ShapeHandler::setDefaults(), SUMO_ATTR_ID, SUMO_ATTR_TYPE, SUMO_TAG_POI, and SUMO_TAG_POLY.
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 162 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
|
protectedinherited |
set default values
Definition at line 245 of file ShapeHandler.cpp.
References ShapeHandler::myDefaultColor, ShapeHandler::myDefaultFill, ShapeHandler::myDefaultLayer, and ShapeHandler::myPrefix.
Referenced by ShapeHandler::addLanePosParams(), and myStartElement().
|
inherited |
Sets the current file name.
[in] | name | The name of the currently processed file |
Definition at line 69 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), PCNetProjectionLoader::load(), NIImporter_OpenStreetMap::load(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_Vissim::loadXML(), NILoader::loadXMLType(), main(), and XMLSubSys::runParser().
|
inlineprotectedinherited |
Definition at line 255 of file GenericSAXHandler.h.
References GenericSAXHandler::convert(), GenericSAXHandler::convertTag(), and GenericSAXHandler::mySchemaSeen.
Referenced by SUMOSAXReader::LocalSchemaResolver::resolveEntity().
|
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 94 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::mySchemaSeen, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, SUMO_TAG_INCLUDE, and StringUtils::transcode().
|
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 200 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
private |
|
protectedinherited |
Definition at line 110 of file ShapeHandler.h.
Referenced by ShapeHandler::addPOI(), ShapeHandler::addPoly(), and getLanePos().
|
private |