SUMO - Simulation of Urban MObility
|
An areal (along a single lane) detector. More...
#include <MSE2Collector.h>
Data Structures | |
class | by_vehicle_position_sorter |
A class used to sort known vehicles by their position. More... | |
struct | JamInfo |
Internal representation of a jam. More... | |
Public Types | |
enum | Notification { NOTIFICATION_DEPARTED, NOTIFICATION_JUNCTION, NOTIFICATION_SEGMENT, NOTIFICATION_LANE_CHANGE, NOTIFICATION_TELEPORT, NOTIFICATION_PARKING, NOTIFICATION_ARRIVED, NOTIFICATION_VAPORIZED, NOTIFICATION_TELEPORT_ARRIVED } |
Definition of a vehicle state. More... | |
Public Member Functions | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
void | detectorUpdate (const SUMOTime step) |
Computes the detector values in each time step. More... | |
const std::string & | getDescription () const |
SUMOReal | getEndPos () const |
Returns the end position of the detector. More... | |
const std::string & | getID () const |
Returns the id. More... | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. More... | |
SUMOReal | getStartPos () const |
Returns the begin position of the detector. More... | |
virtual DetectorUsage | getUsageType () const |
Returns the detector's usage type. More... | |
MSE2Collector (const std::string &id, DetectorUsage usage, MSLane *const lane, SUMOReal startPos, SUMOReal detLength, SUMOTime haltingTimeThreshold, SUMOReal haltingSpeedThreshold, SUMOReal jamDistThreshold) | |
Constructor. More... | |
virtual void | notifyMoveInternal (SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed) |
Internal notification about the vehicle moves. More... | |
void | reset () |
Resets all values. More... | |
void | setDescription (const std::string &description) |
void | setID (const std::string &newID) |
resets the id More... | |
virtual | ~MSE2Collector () |
Destructor. More... | |
Methods inherited from MSMoveReminder | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) |
Adds/removes vehicles from the list of vehicles to regard. More... | |
bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason) |
Removes a known vehicle due to its lane-change. More... | |
bool | notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason) |
Adds the vehicle to known vehicles if not beyond the dector. More... | |
Methods inherited from MSDetectorFileOutput. | |
void | writeXMLOutput (OutputDevice &dev, SUMOTime startTime, SUMOTime stopTime) |
Writes collected values into the given stream. More... | |
void | writeXMLDetectorProlog (OutputDevice &dev) const |
Opens the XML-output using "detector" as root element. More... | |
Methods returning current values | |
unsigned | getCurrentVehicleNumber () const |
Returns the number of vehicles currently on the detector. More... | |
SUMOReal | getCurrentOccupancy () const |
Returns the curent detector occupancy. More... | |
SUMOReal | getCurrentMeanSpeed () const |
Returns the mean vehicle speed of vehicles currently on the detector. More... | |
SUMOReal | getCurrentMeanLength () const |
Returns the mean vehicle length of vehicles currently on the detector. More... | |
unsigned | getCurrentJamNumber () const |
Returns the current number of jams. More... | |
unsigned | getCurrentMaxJamLengthInVehicles () const |
Returns the length in vehicles of the currently largest jam. More... | |
SUMOReal | getCurrentMaxJamLengthInMeters () const |
Returns the length in meters of the currently largest jam. More... | |
unsigned | getCurrentJamLengthInVehicles () const |
Returns the length of all jams in vehicles. More... | |
SUMOReal | getCurrentJamLengthInMeters () const |
Returns the length of all jams in meters. More... | |
unsigned | getCurrentStartedHalts () const |
Returns the length of all jams in meters. More... | |
int | getCurrentHaltingNumber () const |
Returns the number of current haltings within the area. More... | |
std::vector< std::string > | getCurrentVehicleIDs () const |
Returns the IDs of the vehicles within the area. More... | |
Virtual methods to implement by derived classes | |
virtual GUIDetectorWrapper * | buildDetectorGUIRepresentation () |
Builds the graphical representation. More... | |
Protected Attributes | |
std::string | myDescription |
a description of this moveReminder More... | |
std::string | myID |
The name of the object. More... | |
MSLane *const | myLane |
Lane on which the reminder works. More... | |
Private Member Functions | |
MSE2Collector (const MSE2Collector &) | |
Invalidated copy constructor. More... | |
MSE2Collector & | operator= (const MSE2Collector &) |
Invalidated assignment operator. More... | |
Private Attributes | |
std::map< const SUMOVehicle *, SUMOTime > | myHaltingVehicleDurations |
Storage for halting durations of known vehicles (for halting vehicles) More... | |
std::map< const SUMOVehicle *, SUMOTime > | myIntervalHaltingVehicleDurations |
Storage for halting durations of known vehicles (current interval) More... | |
std::list< SUMOVehicle * > | myKnownVehicles |
List of known vehicles. More... | |
std::vector< SUMOTime > | myPastIntervalStandingDurations |
Halting durations of ended halts for the current interval [s]. More... | |
std::vector< SUMOTime > | myPastStandingDurations |
Halting durations of ended halts [s]. More... | |
DetectorUsage | myUsage |
Information about how this detector is used. More... | |
Detector parameter | |
SUMOReal | myJamHaltingSpeedThreshold |
A vehicle must driver slower than this to be counted as a part of a jam. More... | |
SUMOTime | myJamHaltingTimeThreshold |
A vehicle must be that long beyond myJamHaltingSpeedThreshold to be counted as a part of a jam. More... | |
SUMOReal | myJamDistanceThreshold |
Two standing vehicles must be closer than this to be counted into the same jam. More... | |
SUMOReal | myStartPos |
The position the detector starts at. More... | |
SUMOReal | myEndPos |
The position the detector ends at. More... | |
Values generated for aggregated file output | |
SUMOReal | mySpeedSum |
The sum of collected vehicle speeds [m/s]. More... | |
SUMOReal | myStartedHalts |
The number of started halts [#]. More... | |
SUMOReal | myJamLengthInMetersSum |
The sum of jam lengths [m]. More... | |
unsigned | myJamLengthInVehiclesSum |
The sum of jam lengths [#veh]. More... | |
unsigned | myVehicleSamples |
The number of collected samples [#]. More... | |
unsigned | myTimeSamples |
The current aggregation duration [#steps]. More... | |
SUMOReal | myOccupancySum |
The sum of occupancies [%]. More... | |
SUMOReal | myMaxOccupancy |
The maximum occupancy [%]. More... | |
unsigned | myMeanMaxJamInVehicles |
The mean jam length [#veh]. More... | |
SUMOReal | myMeanMaxJamInMeters |
The mean jam length [m]. More... | |
unsigned | myMaxJamInVehicles |
The max jam length [#veh]. More... | |
SUMOReal | myMaxJamInMeters |
The max jam length [m]. More... | |
unsigned | myMeanVehicleNumber |
The mean number of vehicles [#veh]. More... | |
unsigned | myMaxVehicleNumber |
The max number of vehicles [#veh]. More... | |
Values generated describing the current state | |
SUMOReal | myCurrentOccupancy |
The current occupancy. More... | |
SUMOReal | myCurrentMeanSpeed |
The current mean speed. More... | |
SUMOReal | myCurrentMeanLength |
The current mean length. More... | |
unsigned | myCurrentJamNo |
The current jam number. More... | |
SUMOReal | myCurrentMaxJamLengthInMeters |
the current maximum jam length in meters More... | |
unsigned | myCurrentMaxJamLengthInVehicles |
The current maximum jam length in vehicles. More... | |
SUMOReal | myCurrentJamLengthInMeters |
The overall jam length in meters. More... | |
unsigned | myCurrentJamLengthInVehicles |
The overall jam length in vehicles. More... | |
unsigned | myCurrentStartedHalts |
The number of started halts in the last step. More... | |
int | myCurrentHaltingsNumber |
The number of halted vehicles [#]. More... | |
An areal (along a single lane) detector.
This detector traces vehicles which are at a part of a single lane. A vehicle that enters the detector is stored and the stored vehicles' speeds are used within each timestep to compute the detector values. As soon as the vehicle leaves the detector, it is no longer tracked.
Determining entering and leaving vehicles is done via the MSMoveReminder interface. The values are computed by an event-callback (at the end of a time step).
Jams are determined as following: A vehicle must at least drive haltingTimeThreshold at a speed lesser than haltingSpeedThreshold to be a "halting" vehicle. Two or more vehicles are "in jam" if they are halting and their distance is lesser than jamDistThreshold.
Definition at line 79 of file MSE2Collector.h.
|
inherited |
Definition of a vehicle state.
Definition at line 95 of file MSMoveReminder.h.
MSE2Collector::MSE2Collector | ( | const std::string & | id, |
DetectorUsage | usage, | ||
MSLane *const | lane, | ||
SUMOReal | startPos, | ||
SUMOReal | detLength, | ||
SUMOTime | haltingTimeThreshold, | ||
SUMOReal | haltingSpeedThreshold, | ||
SUMOReal | jamDistThreshold | ||
) |
Constructor.
[in] | id | The detector's unique id. |
[in] | usage | Information how the detector is used |
[in] | lane | The lane to place the detector at |
[in] | startPos | Begin position of the detector |
[in] | detLength | Length of the detector |
[in] | haltingTimeThreshold | The time a vehicle's speed must be below haltingSpeedThreshold to be assigned as jammed |
[in] | haltingSpeedThreshold | The speed a vehicle's speed must be below to be assigned as jammed |
[in] | jamDistThreshold | The distance between two vehicles in order to not count them to one jam |
Definition at line 52 of file MSE2Collector.cpp.
References myEndPos, MSMoveReminder::myLane, myStartPos, and reset().
|
virtual |
|
private |
Invalidated copy constructor.
|
inlineinherited |
Adds this object to the given container.
Definition at line 121 of file Named.h.
References Named::StoringVisitor::add().
|
inlinevirtualinherited |
Builds the graphical representation.
Meant to be overridden by graphical versions of the detectors
Reimplemented in GUI_E2_ZS_Collector, GUIInductLoop, GUIE3Collector, GUI_E2_ZS_CollectorOverLanes, and GUIInstantInductLoop.
Definition at line 123 of file MSDetectorFileOutput.h.
|
virtual |
Computes the detector values in each time step.
This method should be called at the end of a simulation step, when all vehicles have moved. The current values are computed and summed up with the previous.
[in] | currentTime | The current simulation time |
Reimplemented from MSDetectorFileOutput.
Definition at line 162 of file MSE2Collector.cpp.
References DELTA_T, MSE2Collector::JamInfo::firstStandingVehicle, MSMoveReminder::getLane(), MSVehicle::getLane(), MSVehicleType::getLength(), MSVehicleType::getLengthWithGap(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSE2Collector::JamInfo::lastStandingVehicle, MAX2(), myCurrentHaltingsNumber, myCurrentJamLengthInMeters, myCurrentJamLengthInVehicles, myCurrentJamNo, myCurrentMaxJamLengthInMeters, myCurrentMaxJamLengthInVehicles, myCurrentMeanLength, myCurrentMeanSpeed, myCurrentOccupancy, myCurrentStartedHalts, myEndPos, myHaltingVehicleDurations, myIntervalHaltingVehicleDurations, myJamDistanceThreshold, myJamHaltingSpeedThreshold, myJamHaltingTimeThreshold, myJamLengthInMetersSum, myJamLengthInVehiclesSum, myKnownVehicles, MSMoveReminder::myLane, myMaxJamInMeters, myMaxJamInVehicles, myMaxOccupancy, myMaxVehicleNumber, myMeanMaxJamInMeters, myMeanMaxJamInVehicles, myMeanVehicleNumber, myOccupancySum, myPastIntervalStandingDurations, myPastStandingDurations, mySpeedSum, myStartedHalts, myStartPos, myTimeSamples, myVehicleSamples, and SUMOReal.
int MSE2Collector::getCurrentHaltingNumber | ( | ) | const |
Returns the number of current haltings within the area.
If no vehicle is within the area, 0 is returned.
Definition at line 477 of file MSE2Collector.cpp.
References myCurrentHaltingsNumber.
Referenced by TraCIServerAPI_ArealDetector::processGet().
SUMOReal MSE2Collector::getCurrentJamLengthInMeters | ( | ) | const |
Returns the length of all jams in meters.
Definition at line 453 of file MSE2Collector.cpp.
References myCurrentJamLengthInMeters.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), and TraCIServerAPI_ArealDetector::processGet().
unsigned MSE2Collector::getCurrentJamLengthInVehicles | ( | ) | const |
Returns the length of all jams in vehicles.
Definition at line 447 of file MSE2Collector.cpp.
References myCurrentJamLengthInVehicles.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), and TraCIServerAPI_ArealDetector::processGet().
unsigned MSE2Collector::getCurrentJamNumber | ( | ) | const |
Returns the current number of jams.
Definition at line 429 of file MSE2Collector.cpp.
References myCurrentJamNo.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow().
SUMOReal MSE2Collector::getCurrentMaxJamLengthInMeters | ( | ) | const |
Returns the length in meters of the currently largest jam.
Definition at line 441 of file MSE2Collector.cpp.
References myCurrentMaxJamLengthInMeters.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow().
unsigned MSE2Collector::getCurrentMaxJamLengthInVehicles | ( | ) | const |
Returns the length in vehicles of the currently largest jam.
Definition at line 435 of file MSE2Collector.cpp.
References myCurrentMaxJamLengthInVehicles.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow().
SUMOReal MSE2Collector::getCurrentMeanLength | ( | ) | const |
Returns the mean vehicle length of vehicles currently on the detector.
Definition at line 423 of file MSE2Collector.cpp.
References myCurrentMeanLength.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow().
SUMOReal MSE2Collector::getCurrentMeanSpeed | ( | ) | const |
Returns the mean vehicle speed of vehicles currently on the detector.
Definition at line 417 of file MSE2Collector.cpp.
References myCurrentMeanSpeed.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), and TraCIServerAPI_ArealDetector::processGet().
SUMOReal MSE2Collector::getCurrentOccupancy | ( | ) | const |
Returns the curent detector occupancy.
Definition at line 411 of file MSE2Collector.cpp.
References myCurrentOccupancy, and SUMOReal.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), and TraCIServerAPI_ArealDetector::processGet().
unsigned MSE2Collector::getCurrentStartedHalts | ( | ) | const |
Returns the length of all jams in meters.
Definition at line 459 of file MSE2Collector.cpp.
References myCurrentStartedHalts.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow().
std::vector< std::string > MSE2Collector::getCurrentVehicleIDs | ( | ) | const |
Returns the IDs of the vehicles within the area.
Definition at line 483 of file MSE2Collector.cpp.
References MSBaseVehicle::getID(), and myKnownVehicles.
Referenced by TraCIServerAPI_ArealDetector::processGet().
unsigned MSE2Collector::getCurrentVehicleNumber | ( | ) | const |
Returns the number of vehicles currently on the detector.
Definition at line 405 of file MSE2Collector.cpp.
References myKnownVehicles.
Referenced by GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), and TraCIServerAPI_ArealDetector::processGet().
|
inlineinherited |
Definition at line 215 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
|
inline |
Returns the end position of the detector.
Definition at line 216 of file MSE2Collector.h.
References myEndPos.
Referenced by GUI_E2_ZS_Collector::MyWrapper::MyWrapper().
|
inlineinherited |
Returns the id.
Definition at line 60 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBEdge::addSidewalk(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NBNode::buildCrossings(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBNode::buildInnerEdges(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSVehicleControl::getWaitingVehicle(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_OpenDrive::loadNetwork(), ODDistrictCont::makeDistricts(), MSPModel_Striping::moveInDirection(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSContainer::MSContainerStage_Waiting::MSContainerStage_Waiting(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTsender::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), NIXMLEdgesHandler::setNodes(), MSLink::setRequestInformation(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_JE2013::wantsChange(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and writeXMLOutput().
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 89 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by detectorUpdate(), MSDevice_Tripinfo::generateOutput(), TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), GUIInstantInductLoop::MyWrapper::MyWrapper(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), TraCIServerAPI_InductionLoop::processGet(), and MSMeanData::writeEdge().
|
inline |
Returns the begin position of the detector.
Definition at line 207 of file MSE2Collector.h.
References myStartPos.
Referenced by GUI_E2_ZS_Collector::MyWrapper::MyWrapper().
|
inlinevirtual |
Returns the detector's usage type.
Definition at line 108 of file MSE2Collector.h.
References myUsage.
|
virtual |
Adds the vehicle to known vehicles if not beyond the dector.
If the vehicles is within the detector are, it is added to the list of known vehicles. The method returns true as long as the vehicle is not beyond the detector.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMoveReminder.
Definition at line 117 of file MSE2Collector.cpp.
References MSVehicleType::getLength(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getVehicleType(), SUMOVehicle::isOnRoad(), myEndPos, myKnownVehicles, myStartPos, and MSMoveReminder::NOTIFICATION_JUNCTION.
|
virtual |
Removes a known vehicle due to its lane-change.
If the reported vehicle is known, it is removed from the list of vehicles to regard (myKnownVehicles).
[in] | veh | The leaving vehicle. |
[in] | lastPos | Position on the lane when leaving. |
[in] | isArrival | whether the vehicle arrived at its destination |
[in] | isLaneChange | whether the vehicle changed from the lane |
Reimplemented from MSMoveReminder.
Definition at line 104 of file MSE2Collector.cpp.
References MSVehicleType::getLength(), SUMOVehicle::getVehicleType(), myEndPos, myKnownVehicles, myStartPos, and MSMoveReminder::NOTIFICATION_JUNCTION.
|
virtual |
Adds/removes vehicles from the list of vehicles to regard.
As soon as the reported vehicle enters the detector area (position>myStartPos) it is added to the list of vehicles to regard (myKnownVehicles). It is removed from this list if it leaves the detector (position<lengt>myEndPos). The method returns true as long as the vehicle is not beyond the detector.
[in] | veh | The vehicle in question. |
[in] | oldPos | Position before the move-micro-timestep. |
[in] | newPos | Position after the move-micro-timestep. |
[in] | newSpeed | Unused here. |
Reimplemented from MSMoveReminder.
Definition at line 83 of file MSE2Collector.cpp.
References MSVehicleType::getLength(), SUMOVehicle::getVehicleType(), myEndPos, myKnownVehicles, and myStartPos.
|
inlinevirtualinherited |
Internal notification about the vehicle moves.
Indicator if the reminders is still active for the passed vehicle/parameters. If false, the vehicle will erase this reminder from it's reminder-container.
[in] | veh | Vehicle that asks this reminder. |
[in] | timeOnLane | time the vehicle spent on the lane. |
[in] | speed | Moving speed. |
Reimplemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.
Definition at line 203 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
|
private |
Invalidated assignment operator.
|
virtual |
Resets all values.
This method is called on initialisation and as soon as the values were written. Values for the next interval may be collected, then. The list of known vehicles stays untouched.
Reimplemented from MSDetectorFileOutput.
Definition at line 137 of file MSE2Collector.cpp.
References myIntervalHaltingVehicleDurations, myJamLengthInMetersSum, myJamLengthInVehiclesSum, myMaxJamInMeters, myMaxJamInVehicles, myMaxOccupancy, myMaxVehicleNumber, myMeanMaxJamInMeters, myMeanMaxJamInVehicles, myMeanVehicleNumber, myOccupancySum, myPastIntervalStandingDurations, myPastStandingDurations, mySpeedSum, myStartedHalts, myTimeSamples, and myVehicleSamples.
Referenced by MSE2Collector(), and writeXMLOutput().
|
inlineinherited |
Definition at line 211 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), and MSCalibrator::MSCalibrator().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 68 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
|
virtual |
Opens the XML-output using "detector" as root element.
[in] | dev | The output device to write the root into |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 399 of file MSE2Collector.cpp.
References OutputDevice::writeXMLHeader().
|
virtual |
Writes collected values into the given stream.
[in] | dev | The output device to write the data into |
[in] | startTime | First time step the data were gathered |
[in] | stopTime | Last time step the data were gathered |
IOError | If an error on writing occurs (!!! not yet implemented) |
Implements MSDetectorFileOutput.
Definition at line 335 of file MSE2Collector.cpp.
References Named::getID(), MAX2(), myHaltingVehicleDurations, myIntervalHaltingVehicleDurations, myJamLengthInMetersSum, myJamLengthInVehiclesSum, myMaxJamInMeters, myMaxJamInVehicles, myMaxOccupancy, myMaxVehicleNumber, myMeanMaxJamInMeters, myMeanMaxJamInVehicles, myMeanVehicleNumber, myOccupancySum, myPastIntervalStandingDurations, myPastStandingDurations, mySpeedSum, myStartedHalts, myTimeSamples, myVehicleSamples, reset(), STEPS2TIME, SUMOReal, and time2string().
|
private |
The number of halted vehicles [#].
Definition at line 429 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentHaltingNumber().
|
private |
The overall jam length in meters.
Definition at line 423 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentJamLengthInMeters().
|
private |
The overall jam length in vehicles.
Definition at line 425 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentJamLengthInVehicles().
|
private |
The current jam number.
Definition at line 417 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentJamNumber().
|
private |
the current maximum jam length in meters
Definition at line 419 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentMaxJamLengthInMeters().
|
private |
The current maximum jam length in vehicles.
Definition at line 421 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentMaxJamLengthInVehicles().
|
private |
The current mean length.
Definition at line 415 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentMeanLength().
|
private |
The current mean speed.
Definition at line 413 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentMeanSpeed().
|
private |
The current occupancy.
Definition at line 411 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentOccupancy().
|
private |
The number of started halts in the last step.
Definition at line 427 of file MSE2Collector.h.
Referenced by detectorUpdate(), and getCurrentStartedHalts().
|
protectedinherited |
a description of this moveReminder
Definition at line 229 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
private |
The position the detector ends at.
Definition at line 351 of file MSE2Collector.h.
Referenced by detectorUpdate(), getEndPos(), MSE2Collector(), notifyEnter(), notifyLeave(), and notifyMove().
|
private |
Storage for halting durations of known vehicles (for halting vehicles)
Definition at line 361 of file MSE2Collector.h.
Referenced by detectorUpdate(), and writeXMLOutput().
|
protectedinherited |
The name of the object.
Definition at line 128 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), NBNode::computeNodeShape(), MSCalibrator::execute(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSCalibrator::myStartElement(), MSCalibrator::VehicleRemover::notifyEnter(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), RORouteDef::repairCurrentRoute(), Named::setID(), NBEdge::splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
private |
Storage for halting durations of known vehicles (current interval)
Definition at line 364 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
Two standing vehicles must be closer than this to be counted into the same jam.
Definition at line 347 of file MSE2Collector.h.
Referenced by detectorUpdate().
|
private |
A vehicle must driver slower than this to be counted as a part of a jam.
Definition at line 343 of file MSE2Collector.h.
Referenced by detectorUpdate().
|
private |
A vehicle must be that long beyond myJamHaltingSpeedThreshold to be counted as a part of a jam.
Definition at line 345 of file MSE2Collector.h.
Referenced by detectorUpdate().
|
private |
The sum of jam lengths [m].
Definition at line 381 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The sum of jam lengths [#veh].
Definition at line 383 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
List of known vehicles.
Definition at line 358 of file MSE2Collector.h.
Referenced by detectorUpdate(), getCurrentVehicleIDs(), getCurrentVehicleNumber(), notifyEnter(), notifyLeave(), notifyMove(), and ~MSE2Collector().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 227 of file MSMoveReminder.h.
Referenced by detectorUpdate(), MSMoveReminder::getLane(), MSE2Collector(), and MSMoveReminder::MSMoveReminder().
|
private |
The max jam length [m].
Definition at line 399 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The max jam length [#veh].
Definition at line 397 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The maximum occupancy [%].
Definition at line 391 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The max number of vehicles [#veh].
Definition at line 403 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The mean jam length [m].
Definition at line 395 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The mean jam length [#veh].
Definition at line 393 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The mean number of vehicles [#veh].
Definition at line 401 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The sum of occupancies [%].
Definition at line 389 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
Halting durations of ended halts for the current interval [s].
Definition at line 370 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
Halting durations of ended halts [s].
Definition at line 367 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The sum of collected vehicle speeds [m/s].
Definition at line 377 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The number of started halts [#].
Definition at line 379 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
The position the detector starts at.
Definition at line 349 of file MSE2Collector.h.
Referenced by detectorUpdate(), getStartPos(), MSE2Collector(), notifyEnter(), notifyLeave(), and notifyMove().
|
private |
The current aggregation duration [#steps].
Definition at line 387 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().
|
private |
Information about how this detector is used.
Definition at line 355 of file MSE2Collector.h.
Referenced by getUsageType().
|
private |
The number of collected samples [#].
Definition at line 385 of file MSE2Collector.h.
Referenced by detectorUpdate(), reset(), and writeXMLOutput().