![]() |
SUMO - Simulation of Urban MObility
|
An XML-Handler for amitran and netstate trajectories. More...
#include <TrajectoriesHandler.h>
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occured. More... | |
const PollutantsInterface::Emissions | computeEmissions (const std::string id, const SUMOEmissionClass c, SUMOReal &v, SUMOReal &a, SUMOReal &s) |
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... | |
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... | |
TrajectoriesHandler (const bool computeA, const bool computeAForward, const bool accelZeroCorrection, const SUMOEmissionClass defaultClass, const SUMOReal defaultSlope, std::ostream *stdOut, OutputDevice *xmlOut) | |
Constructor. More... | |
bool | writeEmissions (std::ostream &o, const std::string id, const SUMOEmissionClass c, SUMOReal t, SUMOReal &v, SUMOReal &a, SUMOReal &s) |
void | writeNormedSums (std::ostream &o, const std::string id, const SUMOReal factor) |
void | writeSums (std::ostream &o, const std::string id) |
bool | writeXMLEmissions (const std::string id, const SUMOEmissionClass c, SUMOTime t, SUMOReal &v, SUMOReal a=INVALID_VALUE, SUMOReal s=INVALID_VALUE) |
~TrajectoriesHandler () | |
Destructor. 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 Attributes | |
static const int | INVALID_VALUE = -999999 |
Protected Member Functions | |
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... | |
virtual void | myEndElement (int element) |
Callback method for a closing tag to implement by derived classes. More... | |
inherited from GenericSAXHandler | |
void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called when an opening-tag occurs. More... | |
Private Member Functions | |
TrajectoriesHandler & | operator= (const TrajectoriesHandler &s) |
invalidated assignment operator More... | |
TrajectoriesHandler (const TrajectoriesHandler &s) | |
invalidated copy constructor More... | |
Private Attributes | |
const bool | myAccelZeroCorrection |
const bool | myComputeA |
const bool | myComputeAForward |
SUMOTime | myCurrentTime |
const SUMOEmissionClass | myDefaultClass |
const SUMOReal | myDefaultSlope |
std::map< std::string, SUMOEmissionClass > | myEmissionClassByType |
std::map< std::string, SUMOEmissionClass > | myEmissionClassByVehicle |
std::map< std::string, SUMOReal > | myLastV |
std::ostream * | myStdOut |
SUMOReal | myStepSize |
std::map< std::string, PollutantsInterface::Emissions > | mySums |
OutputDevice * | myXMLOut |
An XML-Handler for amitran and netstate trajectories.
This SUMOSAXHandler parses vehicles and their speeds.
Definition at line 47 of file TrajectoriesHandler.h.
TrajectoriesHandler::TrajectoriesHandler | ( | const bool | computeA, |
const bool | computeAForward, | ||
const bool | accelZeroCorrection, | ||
const SUMOEmissionClass | defaultClass, | ||
const SUMOReal | defaultSlope, | ||
std::ostream * | stdOut, | ||
OutputDevice * | xmlOut | ||
) |
Constructor.
[in] | file | The file that will be processed |
Definition at line 52 of file TrajectoriesHandler.cpp.
TrajectoriesHandler::~TrajectoriesHandler | ( | ) |
Destructor.
Definition at line 59 of file TrajectoriesHandler.cpp.
|
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 192 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
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.
recheck/describe what happens with characters when a new element is opened
describe characters processing in the class' head
Definition at line 175 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.
const PollutantsInterface::Emissions TrajectoriesHandler::computeEmissions | ( | const std::string | id, |
const SUMOEmissionClass | c, | ||
SUMOReal & | v, | ||
SUMOReal & | a, | ||
SUMOReal & | s | ||
) |
Definition at line 124 of file TrajectoriesHandler.cpp.
References PollutantsInterface::computeAll(), INVALID_VALUE, myAccelZeroCorrection, myComputeA, myComputeAForward, myDefaultSlope, myLastV, myStepSize, and mySums.
Referenced by writeEmissions(), and writeXMLEmissions().
|
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 126 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
[in] | exception | The occured exception to process |
ProcessError | On any call |
Definition at line 211 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), NIImporter_OpenDrive::geomFromSpiral(), MSRouteHandler::myStartElement(), and MSRouteHandler::parseWalkPos().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
ProcessError | On any call |
[in] | exception | The occured exception to process |
Definition at line 217 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 86 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(), MSStateHandler::myStartElement(), SUMORouteHandler::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), 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 ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_ITSUMO::Handler.
Definition at line 227 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
protectedvirtualinherited |
Callback method for a closing tag to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The closed element, given as a int ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, NIImporter_OpenStreetMap::RelationHandler, NIImporter_Vissim::NIVissimXMLHandler_Routenentscheidungsdefinition, NIImporter_Vissim::NIVissimXMLHandler_Geschwindigkeitsverteilungsdefinition, NIImporter_OpenStreetMap::EdgesHandler, PCLoaderOSM::EdgesHandler, NIImporter_Vissim::NIVissimXMLHandler_VWunschentscheidungsdefinition, NIImporter_OpenStreetMap::NodesHandler, NIImporter_Vissim::NIVissimXMLHandler_Fahrzeugklassendefinition, PCLoaderOSM::RelationsHandler, MSTriggeredRerouter, SAXWeightsHandler, PCLoaderOSM::NodesHandler, NLHandler, NIImporter_ITSUMO::Handler, MSLaneSpeedTrigger, NIImporter_SUMO, NIImporter_Vissim::NIVissimXMLHandler_Streckendefinition, NIXMLEdgesHandler, MSCalibrator, SUMORouteHandler, RORouteHandler, ODDistrictHandler, MSRouteHandler, RONetHandler, MSStateHandler, NIXMLTrafficLightsHandler, GUITriggeredRerouter, GNEPoly::GNEPolyHandler, and ROMARouteHandler.
Definition at line 231 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement(), NLHandler::networkVersion(), and SUMOSAXReader::parseNext().
|
protectedvirtual |
Called when an opening-tag occurs.
Processes vehicle and motionState elements.
[in] | element | The enum of the currently opened element |
[in] | attrs | Attributes of the currently opened element |
ProcessError | If an error within the parsed file occurs |
Reimplemented from GenericSAXHandler.
Definition at line 63 of file TrajectoriesHandler.cpp.
References SUMOSAXAttributes::get(), PollutantsInterface::getClass(), SUMOSAXAttributes::getFloat(), SUMOSAXAttributes::getOpt(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::getSUMOTimeReporting(), SUMOSAXAttributes::hasAttribute(), INVALID_VALUE, myCurrentTime, myDefaultClass, myEmissionClassByType, myEmissionClassByVehicle, myStdOut, myStepSize, myXMLOut, RAD2DEG, STEPS2TIME, SUMO_ATTR_ACCELERATION, SUMO_ATTR_ACTORCONFIG, SUMO_ATTR_EMISSIONCLASS, SUMO_ATTR_FUEL, SUMO_ATTR_ID, SUMO_ATTR_SLOPE, SUMO_ATTR_SPEED, SUMO_ATTR_TIME, SUMO_ATTR_VEHICLE, SUMO_ATTR_VEHICLECLASS, SUMO_ATTR_WEIGHT, SUMO_TAG_ACTORCONFIG, SUMO_TAG_MOTIONSTATE, SUMO_TAG_TIMESTEP, SUMO_TAG_TRAJECTORIES, SUMO_TAG_VEHICLE, SUMOReal, WRITE_WARNING, writeEmissions(), and writeXMLEmissions().
|
private |
invalidated assignment operator
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 167 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 80 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().
|
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 105 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), 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.
|
inherited |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
[in] | exception | The occured exception to process |
Definition at line 205 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
bool TrajectoriesHandler::writeEmissions | ( | std::ostream & | o, |
const std::string | id, | ||
const SUMOEmissionClass | c, | ||
SUMOReal | t, | ||
SUMOReal & | v, | ||
SUMOReal & | a, | ||
SUMOReal & | s | ||
) |
Definition at line 157 of file TrajectoriesHandler.cpp.
References PollutantsInterface::Emissions::CO, PollutantsInterface::Emissions::CO2, computeEmissions(), PollutantsInterface::Emissions::electricity, PollutantsInterface::Emissions::fuel, PollutantsInterface::Emissions::HC, myComputeA, myComputeAForward, myLastV, PollutantsInterface::Emissions::NOx, PollutantsInterface::Emissions::PMx, and TS.
Referenced by myStartElement().
void TrajectoriesHandler::writeNormedSums | ( | std::ostream & | o, |
const std::string | id, | ||
const SUMOReal | factor | ||
) |
Definition at line 214 of file TrajectoriesHandler.cpp.
References mySums.
void TrajectoriesHandler::writeSums | ( | std::ostream & | o, |
const std::string | id | ||
) |
Definition at line 202 of file TrajectoriesHandler.cpp.
References mySums.
bool TrajectoriesHandler::writeXMLEmissions | ( | const std::string | id, |
const SUMOEmissionClass | c, | ||
SUMOTime | t, | ||
SUMOReal & | v, | ||
SUMOReal | a = INVALID_VALUE , |
||
SUMOReal | s = INVALID_VALUE |
||
) |
Definition at line 177 of file TrajectoriesHandler.cpp.
References OutputDevice::closeTag(), PollutantsInterface::Emissions::CO, PollutantsInterface::Emissions::CO2, computeEmissions(), PollutantsInterface::Emissions::electricity, PollutantsInterface::Emissions::fuel, PollutantsInterface::getName(), PollutantsInterface::Emissions::HC, myComputeA, myCurrentTime, myLastV, myXMLOut, PollutantsInterface::Emissions::NOx, OutputDevice::openTag(), PollutantsInterface::Emissions::PMx, SUMO_ATTR_TIME, SUMO_TAG_TIMESTEP, time2string(), and OutputDevice::writeAttr().
Referenced by myStartElement().
|
static |
Definition at line 49 of file TrajectoriesHandler.h.
Referenced by computeEmissions(), main(), and myStartElement().
|
private |
Definition at line 104 of file TrajectoriesHandler.h.
Referenced by computeEmissions().
|
private |
Definition at line 102 of file TrajectoriesHandler.h.
Referenced by computeEmissions(), writeEmissions(), and writeXMLEmissions().
|
private |
Definition at line 103 of file TrajectoriesHandler.h.
Referenced by computeEmissions(), and writeEmissions().
|
private |
Definition at line 110 of file TrajectoriesHandler.h.
Referenced by myStartElement(), and writeXMLEmissions().
|
private |
Definition at line 105 of file TrajectoriesHandler.h.
Referenced by myStartElement().
|
private |
Definition at line 106 of file TrajectoriesHandler.h.
Referenced by computeEmissions().
|
private |
Definition at line 113 of file TrajectoriesHandler.h.
Referenced by myStartElement().
|
private |
Definition at line 114 of file TrajectoriesHandler.h.
Referenced by myStartElement().
|
private |
Definition at line 109 of file TrajectoriesHandler.h.
Referenced by computeEmissions(), writeEmissions(), and writeXMLEmissions().
|
private |
Definition at line 107 of file TrajectoriesHandler.h.
Referenced by myStartElement().
|
private |
Definition at line 111 of file TrajectoriesHandler.h.
Referenced by computeEmissions(), and myStartElement().
|
private |
Definition at line 112 of file TrajectoriesHandler.h.
Referenced by computeEmissions(), writeNormedSums(), and writeSums().
|
private |
Definition at line 108 of file TrajectoriesHandler.h.
Referenced by myStartElement(), and writeXMLEmissions().