@Override public void handleEvent(PersonEntersVehicleEvent event) { if (pIdsToExclude.contains(event.getPersonId())) { return; } if (!event.getPersonId().toString().startsWith("pt_tr")) if (event.getVehicleId().toString().startsWith("tr")) { TravellerChain chain = chains.get(event.getPersonId()); chain.lineId = ptVehicles.get(event.getVehicleId()).lineId; chain.routeId = ptVehicles.get(event.getVehicleId()).routeId; } }
@Override public void handleEvent(PersonDepartureEvent event) { if (pIdsToExclude.contains(event.getPersonId())) { return; } TravellerChain chain = chains.get(event.getPersonId()); if (chain == null) { chain = new TravellerChain(); chains.put(event.getPersonId(), chain); } chain.lastTime = event.getTime(); if (event.getLegMode().equals("transit_walk")) chain.walk = true; else chain.walk = false; }
@Override public void handleEvent(ActivityStartEvent event) { if (pIdsToExclude.contains(event.getPersonId())) { return; } TravellerChain chain = chains.get(event.getPersonId()); boolean beforeInPT = chain.inPT; if (event.getActType().equals(PtConstants.TRANSIT_ACTIVITY_TYPE)) chain.inPT = true; else chain.inPT = false; if (!chain.inPT && !chain.walk) chain.modes.add("car"); else if (!chain.inPT && chain.walk && !beforeInPT) chain.modes.add("walk"); else if (chain.walk) chain.modes.add("transit_walk"); else chain.modes.add( getMode( transitSchedule .getTransitLines() .get(chain.lineId) .getRoutes() .get(chain.routeId) .getTransportMode(), chain.lineId)); chain.times.add(event.getTime() - chain.lastTime); }