@Deprecated public TransitRouterNetworkTravelTimeAndDisutility(final TransitRouterConfig config) { this(config, new PreparedTransitSchedule()); }
public double getVehArrivalTime(final Link link, final double now){ if ((link == this.previousWaitLink) && (now == this.previousWaitTime)) { return this.cachedVehArrivalTime; } this.previousWaitLink = link; this.previousWaitTime = now; //first find out vehicle arrival time to fromStop according to transit schedule TransitRouterNetworkLink wrapped = (TransitRouterNetworkLink) link; if (wrapped.getRoute() == null) { throw new RuntimeException("should not happen") ; } TransitRouteStop fromStop = wrapped.fromNode.stop; double nextDepartureTime = preparedTransitSchedule.getNextDepartureTime(wrapped.getRoute(), fromStop, now); double fromStopArrivalOffset = (fromStop.getArrivalOffset() != Time.UNDEFINED_TIME) ? fromStop.getArrivalOffset() : fromStop.getDepartureOffset(); double vehWaitAtStopTime = fromStop.getDepartureOffset() - fromStopArrivalOffset; //time in which the veh stops at station double vehArrivalTime = nextDepartureTime - vehWaitAtStopTime; cachedVehArrivalTime = vehArrivalTime ; return vehArrivalTime ; }
double bestDepartureTime = preparedTransitSchedule.getNextDepartureTime(wrapped.route, fromStop, time);
public TransitRouterImpl(final TransitRouterConfig trConfig, final TransitSchedule schedule) { super(trConfig); this.transitNetwork = TransitRouterNetwork.createFromSchedule(schedule, trConfig.getBeelineWalkConnectionDistance()); this.preparedTransitSchedule = new PreparedTransitSchedule(schedule); TransitRouterNetworkTravelTimeAndDisutility transitRouterNetworkTravelTimeAndDisutility = new TransitRouterNetworkTravelTimeAndDisutility( trConfig, new PreparedTransitSchedule(schedule)); this.travelDisutility = transitRouterNetworkTravelTimeAndDisutility; this.travelTime = transitRouterNetworkTravelTimeAndDisutility; setTransitTravelDisutility(this.travelDisutility); this.cacheTree = trConfig.isCacheTree(); }
@Override public TransitRouter get() { RandomizingTransitRouterTravelTimeAndDisutility ttCalculator = new RandomizingTransitRouterTravelTimeAndDisutility(trConfig); ttCalculator.setDataCollection(RandomizingTransitRouterTravelTimeAndDisutility.DataCollection.randomizedParameters, true) ; ttCalculator.setDataCollection(RandomizingTransitRouterTravelTimeAndDisutility.DataCollection.additionalInformation, false) ; return new TransitRouterImpl(trConfig, new PreparedTransitSchedule(schedule), routerNetwork, ttCalculator, ttCalculator); }
@Override public TransitRouter get() { return new TransitRouterVariableImpl(config, new TransitRouterNetworkTravelTimeAndDisutilityWS(config, routerNetwork, waitTime, stopStopTime, scenario.getConfig().travelTimeCalculator(), scenario.getConfig().qsim(), new PreparedTransitSchedule(scenario.getTransitSchedule())), routerNetwork); }
@Override public TransitRouter get() { return new TransitRouterVariableImpl(config, new TransitRouterNetworkTravelTimeAndDisutilityWSV(config, routerNetwork, waitTime, stopStopTime, vehicleOccupancy, scenario.getConfig().travelTimeCalculator(), scenario.getConfig().qsim(), new PreparedTransitSchedule(scenario.getTransitSchedule())), routerNetwork); }
@Override public TransitRouter get() { return new TransitRouterVariableImpl(config, new TransitRouterNetworkTravelTimeAndDisutilityWW(config, network, routerNetwork, controler.getLinkTravelTimes(), waitTime, controler.getConfig().travelTimeCalculator(), controler.getConfig().qsim(), new PreparedTransitSchedule(controler.getScenario().getTransitSchedule())), routerNetwork); }
@Override public TransitRouter get() { if (this.routerNetwork == null) { this.routerNetwork = TransitRouterNetwork.createFromSchedule(transitSchedule, this.config.getBeelineWalkConnectionDistance()); } if (this.preparedTransitSchedule == null) { this.preparedTransitSchedule = new PreparedTransitSchedule(transitSchedule); } TransitRouterNetworkTravelTimeAndDisutility ttCalculator = new TransitRouterNetworkTravelTimeAndDisutility(this.config, this.preparedTransitSchedule); return new TransitRouterImpl(this.config, this.preparedTransitSchedule, this.routerNetwork, ttCalculator, ttCalculator); }
TransitRouterImpl router = new TransitRouterImpl(trConfig, new PreparedTransitSchedule(scenario.getTransitSchedule()), transitNetwork, transitRouterNetworkTravelTimeAndDisutility, disutility);
/** * Instantiates a new TransitLeastCostPathTree object with a sample transitSchedule and default configuration. */ public void instantiateNetworkAndTravelDisutility() { String transitScheduleFile = "test/scenarios/pt-tutorial/transitschedule.xml"; Config config = ConfigUtils.createConfig(); Scenario scenario = ScenarioUtils.loadScenario(config); scenario.getConfig().transit().setUseTransit(true); TransitScheduleReader reader = new TransitScheduleReader(scenario); TransitRouterConfig transitRouterConfig = new TransitRouterConfig(scenario.getConfig()); reader.readFile(transitScheduleFile); TransitSchedule transitSchedule = scenario.getTransitSchedule(); network = TransitRouterNetwork.createFromSchedule(transitSchedule, transitRouterConfig.getBeelineWalkConnectionDistance()); PreparedTransitSchedule preparedTransitSchedule = new PreparedTransitSchedule(transitSchedule); travelDisutility = new TransitRouterNetworkTravelTimeAndDisutility(transitRouterConfig, preparedTransitSchedule); }