@Override public void handleEvent(LinkLeaveEvent event) { // initialize link based analysis data structure if (!totalDelayPerLink.containsKey(event.getLinkId())) { totalDelayPerLink.put(event.getLinkId(), 0.0); numberOfAgentsPerLink.put(event.getLinkId(), 0); } for (Id<Person> passengerId : vehicleIdToPassengerIds.get(event.getVehicleId())) { // calculate delay for every passenger double currentDelay = event.getTime() - this.earliestLinkExitTimePerAgent.remove(passengerId); totalDelayPerLink.put(event.getLinkId(), totalDelayPerLink.get(event.getLinkId()) + currentDelay); totalDelay += currentDelay; // increase agent counter numberOfAgentsPerLink.put(event.getLinkId(), numberOfAgentsPerLink.get(event.getLinkId()) +1 ); } }
@Override public void handleEvent(LinkLeaveEvent event) { Double enterTime = vehicleEnterTimes.get( event.getVehicleId() ) ; if ( enterTime != null && enterTime < 9.*3600. ) { final Id<Link> linkId = event.getLinkId(); final Double sumSoFar = linkTtimesSums.get( linkId ); if ( sumSoFar == null ) { linkTtimesSums.put( linkId, event.getTime() - enterTime ) ; linkCnts.put( linkId, 1. ) ; } else { linkTtimesSums.put( linkId, event.getTime() - enterTime + sumSoFar ) ; linkCnts.put( linkId, 1. + linkCnts.get(linkId) ) ; } } }
@Override public void handleEvent(LinkLeaveEvent event) { Map<Id<Link>, Double> travelTimes = this.vehicleTravelTimes.get(event.getVehicleId()); if (travelTimes != null) { Double d = travelTimes.get(event.getLinkId()); if (d != null) { double time = event.getTime() - d; travelTimes.put(event.getLinkId(), time); } } }
@Override public void handleEvent(LinkLeaveEvent event) { Map<Id<Link>, Double> travelTimes = this.vehicleLinkTravelTimes.get(event.getVehicleId()); if (travelTimes != null) { Double d = travelTimes.get(event.getLinkId()); if (d != null) { double time = event.getTime() - d.doubleValue(); travelTimes.put(event.getLinkId(), Double.valueOf(time)); } } }
@Override public void handleEvent(LinkLeaveEvent event) { Map<Id<Link>, Double> travelTimes = this.vehicleLinkTravelTimes.get(event.getVehicleId()); if (travelTimes != null) { Double d = travelTimes.get(event.getLinkId()); if (d != null) { double time = event.getTime() - d.doubleValue(); travelTimes.put(event.getLinkId(), Double.valueOf(time)); } } }
@Override public void handleEvent(LinkLeaveEvent event) { writeLine(event.getTime(), vehicleToDriverMap.get(event.getVehicleId()), event.getLinkId(), Number.LinkLeave.ordinal(), LinkLeaveEvent.EVENT_TYPE); } }
@Override public void handleEvent(LinkLeaveEvent event) { Map<Id<Link>, Double> travelTimes = this.vehicleTravelTimes.get( event.getVehicleId() ); if (travelTimes != null) { Double d = travelTimes.get(event.getLinkId()); if (d != null) { double time = event.getTime() - d.doubleValue(); travelTimes.put(event.getLinkId(), Double.valueOf(time)); } } }
@Override public void handleEvent(LinkLeaveEvent event) { if (!decongestionInfo.getTransitVehicleIDs().contains(event.getVehicleId()) && decongestionInfo.getlinkInfos().get(event.getLinkId()) != null) { int currentTimeBin = (int) (event.getTime() / this.decongestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize()); if (decongestionInfo.getlinkInfos().get(event.getLinkId()).getTime2toll().get(currentTimeBin) != null) { double toll = decongestionInfo.getlinkInfos().get(event.getLinkId()).getTime2toll().get(currentTimeBin); this.eventsManager.processEvent(new PersonMoneyEvent(event.getTime(), this.decongestionInfo.getVehicleId2personId().get(event.getVehicleId()), -1. * toll)); // this.eventsManager.processEvent(new PersonLinkMoneyEvent(event.getTime(), this.decongestionInfo.getVehicleId2personId().get(event.getVehicleId()), event.getLinkId(), -1. * toll, event.getTime(), "congestion")); this.totalTollPayments = this.totalTollPayments + toll; } } }
@Override public void handleEvent(LinkLeaveEvent event) { Logger.getLogger(VehicleLinkTravelTimeEventHandler.class).info(event.toString()); Map<Id<Link>, double[]> times = this.vehicleLinkEnterLeaveTimes.get(event.getVehicleId()); if (times != null) { double linkEnterTime = times.get(event.getLinkId())[0]; double [] linkEnterLeaveTime = {linkEnterTime,event.getTime()}; times.put(event.getLinkId(), linkEnterLeaveTime); } }
@Override public void handleEvent(final LinkLeaveEvent event) { this.eventCounter++; assertEquals("expected linkleave-Event to be event #4", 4, this.eventCounter); assertEquals(21640.0, event.getTime(), 0.0); assertEquals("4", event.getVehicleId().toString()); assertEquals("5", event.getLinkId().toString()); }
@Override public void handleEvent(LinkLeaveEvent event) { Id<Link> linkId = event.getLinkId(); Id<Vehicle> vehicleId = event.getVehicleId(); double time = event.getTime(); TripBin tripBin = this.regularActiveTrips.remove(vehicleId); if (tripBin != null) { tripBin.leaveTime = time; double tripTime = tripBin.leaveTime - tripBin.enterTime; TravelTimeInfo travelTimeInfo = this.travelTimeInfoProvider.getTravelTimeInfo(linkId); travelTimeInfo.tripBins.add(tripBin); travelTimeInfo.addedTravelTimes += tripTime; travelTimeInfo.addedTrips++; travelTimeInfo.checkActiveState(); travelTimeInfo.checkBinSize(tripTime); } }
@Override public void handleEvent(final LinkLeaveEvent e) { if (this.calculateLinkTravelTimes) { LinkEnterEvent oldEvent = this.linkEnterEvents.get(e.getVehicleId()); if (oldEvent != null) { DataContainer data = this.dataContainerProvider.getTravelTimeData(e.getLinkId(), true); this.aggregator.addTravelTime(data.ttData, oldEvent.getTime(), e.getTime()); data.needsConsolidation = true; } } }
@Override public void handleEvent(LinkLeaveEvent event) { Map<Id<Link>, Double> travelTimes = this.vehicleLinkTravelTimes.get(event.getVehicleId()); if (travelTimes != null) { Double d = travelTimes.get(event.getLinkId()); if (d != null) { double time = event.getTime() - d.doubleValue(); travelTimes.put(event.getLinkId(), Double.valueOf(time)); } } if ( event.getLinkId().equals( Id.createLinkId("2") ) ) { log.info( event ); } }
@Override public void handleEvent(final LinkLeaveEvent event) { testForSnapshot(event.getTime()); this.eventLinks.get(event.getLinkId()).leave(getEventAgent(delegate.getDriverOfVehicle(event.getVehicleId()), event.getTime())); }
@Override public void handleEvent(LinkLeaveEvent event) { if(linkLeaveTimes.containsKey(event.getVehicleId())){ Map<Id<Link>, Double> times = linkLeaveTimes.get(event.getVehicleId()); times.put(event.getLinkId(), event.getTime()); linkLeaveTimes.put(event.getVehicleId(), times); } else { Map<Id<Link>, Double> times = new HashMap<Id<Link>, Double>(); times.put(event.getLinkId(), event.getTime()); linkLeaveTimes.put(event.getVehicleId(), times); } } });
@Override public void handleEvent(LinkLeaveEvent event) { if( event.getLinkId().equals(Id.createLinkId(2)) ){ vehicleTravelTime.put(event.getVehicleId(), vehicleTravelTime.get(event.getVehicleId()) + event.getTime()); } }
@Override public void handleEvent(LinkLeaveEvent event) { // count link leave events on link 1 in the second hour if (event.getLinkId().equals(Id.createLinkId(1)) && event.getTime() >= 3600 && event.getTime() < 2*3600){ linkCapacity++; } }
public void testWriteReadXml() { final LinkLeaveEvent event1 = new LinkLeaveEvent(68423.98, Id.create("veh", Vehicle.class), Id.create(".235", Link.class)); final LinkLeaveEvent event2 = XmlEventsTester.testWriteReadXml(getOutputDirectory() + "events.xml", event1); assertEquals(event1.getTime(), event2.getTime(), EPSILON); assertEquals(event1.getLinkId(), event2.getLinkId()); assertEquals(event1.getVehicleId(), event2.getVehicleId()); } }
@Override public void handleEvent(final LinkLeaveEvent event) { if (!event.getLinkId().equals(this.linkId)) { return; } if (event.getVehicleId().equals(this.vehicleId1)) { this.person1leaveTime = event.getTime(); } else if (event.getVehicleId().equals(this.vehicleId2)) { this.person2leaveTime = event.getTime(); } }