private static boolean isRelatedWithLine(Person person, TransitLine line) { ExperimentalTransitRouteFactory factory = new ExperimentalTransitRouteFactory(); for (Plan plan : person.getPlans()) for (PlanElement planElement : plan.getPlanElements()) if (planElement instanceof Leg && ((Leg) planElement).getRoute() instanceof Route) { Route origRoute = ((Leg) planElement).getRoute(); ExperimentalTransitRoute route = (ExperimentalTransitRoute) factory.createRoute(origRoute.getStartLinkId(), origRoute.getEndLinkId()); route.setStartLinkId(origRoute.getStartLinkId()); route.setEndLinkId(origRoute.getEndLinkId()); route.setRouteDescription(origRoute.getRouteDescription()); for (TransitRoute transitRoute : line.getRoutes().values()) for (TransitRouteStop stop : transitRoute.getStops()) if (stop.getStopFacility().getId().equals(route.getAccessStopId()) || stop.getStopFacility().getId().equals(route.getEgressStopId())) return true; } return false; }
/** Why? dg 09-2013 */ private void createExperimentalTransitRoutes(Scenario sc) { for (Person person : sc.getPopulation().getPersons().values()) { for (Plan plan : person.getPlans()) { for (PlanElement pe : plan.getPlanElements()) { if (pe instanceof Leg) { Leg leg = (Leg) pe; if (leg.getMode().equals("pt")) { GenericRoute route = (GenericRoute) leg.getRoute(); ExperimentalTransitRoute tr = (ExperimentalTransitRoute) new ExperimentalTransitRouteFactory().createRoute(null, null); leg.setRoute(tr); tr.setRouteDescription( route.getStartLinkId(), route.getRouteDescription(), route.getEndLinkId()); tr.setDistance(route.getDistance()); } } } } } }