@Override public void handleEvent(PersonLeavesVehicleEvent event) { if(vehicleIds.contains(event.getVehicleId()) && event.getPersonId().toString().startsWith("pt_"+event.getVehicleId()+"_")) inTransitVehicles.remove(event.getVehicleId()); } }
@Override public void handleEvent(PersonLeavesVehicleEvent event) { if(!super.ptDriverIds.contains(event.getPersonId())){ String ptMode = this.vehId2ptModeMap.get(event.getVehicleId()); if (ptMode == null) { ptMode = "nonPtMode"; } if (ptMode2SecondsTravelledMap.get(ptMode) == null) { ptMode2SecondsTravelledMap.put(ptMode, 0.0); } if (ptMode2TripCountMap.get(ptMode) == null) { ptMode2TripCountMap.put(ptMode, 0); } this.ptMode2SecondsTravelledMap.put(ptMode, this.ptMode2SecondsTravelledMap.get(ptMode) + (event.getTime() - this.agentId2PersonEntersVehicleEventTime.get(event.getPersonId()))); this.ptMode2TripCountMap.put(ptMode, this.ptMode2TripCountMap.get(ptMode) + 1); } } }
@Override public void handleEvent(PersonLeavesVehicleEvent event) { VehicleTracker tracker = vehicletrackers.get(event.getVehicleId().toString(), event.getTime()); // skip car drivers if (tracker == null) return; tracker.ridershipDecrement(event); }
@Override public void handleEvent(PersonLeavesVehicleEvent event) { if (eventCounter.incrementAndGet() > maxEvents) return; if (transitDriverIds.contains(event.getPersonId())) return; try { if (ptVehicles.keySet().contains(event.getVehicleId())) { TravellerChain chain = chains.get(event.getPersonId()); chain.traveledVehicle = true; PTVehicle vehicle = ptVehicles.get(event.getVehicleId()); double stageDistance = vehicle.removePassenger(event .getPersonId()); Trip trip = chain.getJourneys().getLast().getTrips().getLast(); trip.setDistance(stageDistance); trip.setAlightingStop(vehicle.lastStop); } else { driverIdFromVehicleId.remove(event.getVehicleId()); } } catch (Exception e) { System.err.println(e.getStackTrace()); System.err.println(event.toString()); } }
this.events.processEvent(new PersonLeavesVehicleEvent(time, personId, vehicleIdOfDriver));
public void testWriteReadXml() { Person person = PopulationUtils.getFactory().createPerson(Id.create(1, Person.class)); VehicleType vehicleType = new VehicleTypeImpl(Id.create("testVehType", VehicleType.class)); Vehicle vehicle = new VehicleImpl(Id.create(80, Vehicle.class), vehicleType); PersonLeavesVehicleEvent event = new PersonLeavesVehicleEvent(5.0 * 3600 + 11.0 * 60, person.getId(), vehicle.getId()); PersonLeavesVehicleEvent event2 = XmlEventsTester.testWriteReadXml(getOutputDirectory() + "events.xml", event); assertEquals("wrong time of event.", 5.0 * 3600 + 11.0 * 60, event2.getTime(), EPSILON); assertEquals("wrong vehicle id.", "80", event2.getVehicleId().toString()); } }
@Override public void handleEvent(PersonLeavesVehicleEvent event) { Integer num = this.ptVehicles.get(event.getVehicleId()); if(num!=null) this.ptVehicles.put(event.getVehicleId(), num-1); } @Override
public Id<Person> getAgentId(){ return this.personLeavesVehE.getPersonId(); }
public double getTimeLeft(){ return this.personLeavesVehE.getTime(); }
Id<Person> pId = Id.create(atts.getValue(PersonLeavesVehicleEvent.ATTRIBUTE_PERSON), Person.class); Id<Vehicle> vId = Id.create(atts.getValue(PersonLeavesVehicleEvent.ATTRIBUTE_VEHICLE), Vehicle.class); this.events.processEvent(new PersonLeavesVehicleEvent(time, pId, vId)); } else if (TeleportationArrivalEvent.EVENT_TYPE.equals(eventType)) { this.events.processEvent(new TeleportationArrivalEvent(
public void handleEvent(final PersonLeavesVehicleEvent event) { if (this.routeVehicles == null) { collectVehiclesInfo(); } if (this.routeVehicles.contains(event.getVehicleId())) { Id facilityId = this.tracker.getFacilityIdForVehicle(event.getVehicleId()); Integer count = this.leavingPassengers.get(facilityId); if (count == null) { this.leavingPassengers.put(facilityId, Int1); } else { this.leavingPassengers.put(facilityId, Integer.valueOf(1 + count.intValue())); } } }
public void ridershipDecrement(PersonLeavesVehicleEvent event) { if (!event.getPersonId().equals(driverId)) ridership--; }
public double getRunningCostTime() { double timeInService = 0; if (this.transitDriverAlightsE != null) { if (this.vehicleAbortE != null) { throw new RuntimeException( "There is both a PersonLeavesVehicleEvent and a VehicleAbortsEvent for TransitDriverStartsEvent " + this.transitDriverStartsE); } timeInService = this.transitDriverAlightsE.getTime() - this.transitDriverStartsE.getTime(); } else if (this.vehicleAbortE != null) { timeInService = this.vehicleAbortE.getTime() - this.transitDriverStartsE.getTime(); } else { throw new RuntimeException( "Neither PersonLeavesVehicleEvent nor VehicleAbortEvent found for TransitDriverStartsEvent " + transitDriverStartsE.getDriverId() + "."); } return this.expensesPerSecond * timeInService; }
@Override public void handleEvent(PersonLeavesVehicleEvent event) { if(!super.ptDriverIds.contains(event.getPersonId())){ this.vehId2PaxMap.put(event.getVehicleId(), this.vehId2PaxMap.get(event.getVehicleId()) - 1); } }
@Override public void handleEvent(final PersonLeavesVehicleEvent event) { if (this.analyzedTransitDrivers.contains(event.getPersonId()) || !this.analyzedTransitVehicles.contains(event.getVehicleId())) { return; // ignore transit drivers or persons entering non-(analyzed-)transit vehicles } // ----------------veh_passenger-(for occupancy)-------------------------- Id<Vehicle> vehId = event.getVehicleId(); double time = event.getTime(); Integer nPassengers = this.vehPassengers.get(vehId); if (nPassengers == null) { throw new RuntimeException("null passenger-No. in vehicle ?"); } this.vehPassengers.put(vehId, nPassengers - 1); if (this.vehPassengers.get(vehId) == 0) { this.vehPassengers.remove(vehId); } Integer passengers = this.vehPassengers.get(vehId); this.occupancyRecord.append("time :\t").append(time).append(" veh :\t").append(vehId).append(" has Passenger\t").append((passengers != null) ? passengers : 0).append("\n"); }
public void dropOffPassenger(MobsimDriverAgent driver, PassengerRequest request, double now) { MobsimPassengerAgent passenger = passengersByRequestId.remove(request.getId()); MobsimVehicle mobVehicle = driver.getVehicle(); mobVehicle.removePassenger(passenger); passenger.setVehicle(null); eventsManager.processEvent(new PersonLeavesVehicleEvent(now, passenger.getId(), mobVehicle.getId())); passenger.notifyArrivalOnLinkByNonNetworkMode(passenger.getDestinationLinkId()); passenger.endLegAndComputeNextState(now); internalInterface.arrangeNextAgentState(passenger); } }
public void handleEvent(final PersonLeavesVehicleEvent event) { if (this.headings == null) { collectHeadingsInfo(); } Departure dep = this.headings.get(event.getVehicleId()); if (dep != null) { Id fId = this.vehTracker.getFacilityIdForVehicle(event.getVehicleId()); Map<Id, Integer> counter = getEgressCounter(dep); Integer count = counter.get(fId); if (count == null) { counter.put(fId, Integer.valueOf(1)); } else { counter.put(fId, Integer.valueOf(1 + count.intValue())); } } }
@Override public void handleEvent(PersonLeavesVehicleEvent event) { if(!super.ptDriverIds.contains(event.getPersonId())){ this.vehId2NumberOfPassengers.put(event.getVehicleId(), this.vehId2NumberOfPassengers.get(event.getVehicleId()) - 1); } }
private void leaveVehicle(final PersonLeavesVehicleEvent event) { if ( !isRelevant( event.getPersonId() ) ) return; if ( !modeFilter.consider( currentModeOfRelevantAgents.get( event.getPersonId() ) ) ) return; final IntervalsAtLocation intervals = event.getPersonId().equals( ego ) ? intervalsForEgo : MapUtils.getArbitraryObject( event.getPersonId(), intervalsPerAlter, locatedIntervalsFactory); intervals.endInterval( new Location( event.getVehicleId() ), event.getTime() ); }
eventQueue.add(new PersonLeavesVehicleEvent(prevEndTime + travelTime, personId, personId)); } catch (NullPointerException ne) { Logger.getLogger(this.getClass()).error("No route for car leg. Continuing with next leg"); eventQueue.add(new PersonLeavesVehicleEvent(trip.egressTime_s(), personId, vehicleId)); // dummyVehicleId)); travelTime = trip.egressTime_s() - prevEndTime;