private int getIntervalNr(double time) { double timeBinSize = congestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize(); return (int) (time / timeBinSize); }
public TimeDiscretizer(TravelTimeCalculatorConfigGroup ttcConfig) { this(ttcConfig.getMaxTime(), ttcConfig.getTraveltimeBinSize(), Type.OPEN_ENDED); }
@Inject TravelTimeCalculator(TravelTimeCalculatorConfigGroup ttconfigGroup, EventsManager eventsManager, Network network) { // this injected constructor is not used when getSeparateModes is true this(network, ttconfigGroup.getTraveltimeBinSize(), ttconfigGroup.getMaxTime(), ttconfigGroup.isCalculateLinkTravelTimes(), ttconfigGroup.isCalculateLinkToLinkTravelTimes(), ttconfigGroup.isFilterModes(), CollectionUtils.stringToSet(ttconfigGroup.getAnalyzedModes())); eventsManager.addHandler(this); configure(this, ttconfigGroup, network); }
public TravelTimeCalculator(final Network network, final int timeslice, final int maxTime, TravelTimeCalculatorConfigGroup ttconfigGroup) { this(network, timeslice, maxTime, ttconfigGroup.isCalculateLinkTravelTimes(), ttconfigGroup.isCalculateLinkToLinkTravelTimes(), ttconfigGroup.isFilterModes(), CollectionUtils.stringToSet(ttconfigGroup.getAnalyzedModes())); }
@Override public TravelTimeCalculator get() { TravelTimeCalculator calculator = new TravelTimeCalculator(network, config.getTraveltimeBinSize(), config.getMaxTime(), config.isCalculateLinkTravelTimes(), config.isCalculateLinkToLinkTravelTimes(), true, CollectionUtils.stringToSet(mode)); eventsManager.addHandler(calculator); return TravelTimeCalculator.configure(calculator, config, network); } }
TravelTimeCalculatorConfigGroup config = new TravelTimeCalculatorConfigGroup(); config.setTraveltimeBinSize(900); config.setAnalyzedModes(""); config.setFilterModes(true); TravelTimeCalculator ttc = new TravelTimeCalculator(network, config);
/** * @author mrieser / senozon */ public void testGetLinkTravelTime_usePtVehiclesWithoutStop() { Network network = NetworkUtils.createNetwork(); TravelTimeCalculatorConfigGroup config = new TravelTimeCalculatorConfigGroup(); config.setTraveltimeBinSize(900); TravelTimeCalculator ttc = new TravelTimeCalculator(network, config); Node n1 = network.getFactory().createNode(Id.create(1, Node.class), new Coord(0, 0)); Node n2 = network.getFactory().createNode(Id.create(2, Node.class), new Coord(1000, 0)); network.addNode(n1); network.addNode(n2); Link link1 = network.getFactory().createLink(Id.create(1, Link.class), n1, n2); network.addLink(link1); Id<Vehicle> ptVehId = Id.create("ptVeh", Vehicle.class); Id<Vehicle> ivVehId = Id.create("ivVeh", Vehicle.class); ttc.handleEvent(new LinkEnterEvent(100, ivVehId, link1.getId())); ttc.handleEvent(new LinkEnterEvent(150, ptVehId, link1.getId())); ttc.handleEvent(new LinkLeaveEvent(200, ivVehId, link1.getId())); ttc.handleEvent(new LinkLeaveEvent(300, ptVehId, link1.getId())); Assert.assertEquals("The time of transit vehicles at stop should not be counted", 125.0, ttc.getLinkTravelTimes().getLinkTravelTime(link1, 200, null, null), 1e-8); }
private TravelTimeCalculator readEvents (){ EventsManager manager = EventsUtils.createEventsManager(); TravelTimeCalculatorConfigGroup ttccg = new TravelTimeCalculatorConfigGroup(); TravelTimeCalculator tc = new TravelTimeCalculator(sc.getNetwork(), ttccg); manager.addHandler(tc); new MatsimEventsReader(manager).readFile(EVENTSFILE); return tc; }
TravelTimeCalculatorConfigGroup config = new TravelTimeCalculatorConfigGroup(); config.setTraveltimeBinSize(900); config.setFilterModes(true); TravelTimeCalculator ttc = new TravelTimeCalculator(network, config);
config.travelTimeCalculator().setTravelTimeGetterType("linearinterpolation"); int timeBinSize = 15*60; config.travelTimeCalculator().setTraveltimeBinSize(timeBinSize); config.travelTimeCalculator().setMaxTime(12*3600);
@Override public void notifyStartup(StartupEvent event) { if (!config.travelTimeCalculator().isFilterModes()) { throw new RuntimeException("Filtering analyzed modes is NOT enabled in the TravelTimeCalculatorConfigGroup. " + "It must be enabled since otherwise also link travel times of multi-modal legs would be " + "taken into account!"); } }
config.travelTimeCalculator().setMaxTime(3600 * 5); config.qsim().setStartTime(0); config.qsim().setEndTime(3600 * 5);
TravelTimeCalculatorConfigGroup config = new TravelTimeCalculatorConfigGroup(); config.setTraveltimeBinSize(900); config.setAnalyzedModes(""); config.setFilterModes(false); TravelTimeCalculator ttc = new TravelTimeCalculator(network, config);
/** * @author mrieser / senozon */ public void testGetLinkTravelTime_ignorePtVehiclesAtStop() { Network network = NetworkUtils.createNetwork(); TravelTimeCalculatorConfigGroup config = new TravelTimeCalculatorConfigGroup(); config.setTraveltimeBinSize(900); TravelTimeCalculator ttc = new TravelTimeCalculator(network, config); Node n1 = network.getFactory().createNode(Id.create(1, Node.class), new Coord(0, 0)); Node n2 = network.getFactory().createNode(Id.create(2, Node.class), new Coord(1000, 0)); network.addNode(n1); network.addNode(n2); Link link1 = network.getFactory().createLink(Id.create(1, Link.class), n1, n2); network.addLink(link1); Id<Vehicle> ptVehId = Id.create("ptVeh", Vehicle.class); Id<Vehicle> ivVehId = Id.create("ivVeh", Vehicle.class); ttc.handleEvent(new LinkEnterEvent(100, ivVehId, link1.getId())); ttc.handleEvent(new LinkEnterEvent(150, ptVehId, link1.getId())); ttc.handleEvent(new LinkLeaveEvent(200, ivVehId, link1.getId())); ttc.handleEvent(new VehicleArrivesAtFacilityEvent(240, ptVehId, Id.create("stop", TransitStopFacility.class), 0)); ttc.handleEvent(new LinkLeaveEvent(350, ptVehId, link1.getId())); Assert.assertEquals("The time of transit vehicles at stop should not be counted", 100.0, ttc.getLinkTravelTimes().getLinkTravelTime(link1, 200, null, null), 1e-8); }
this.modules.put(StrategyConfigGroup.GROUP_NAME, this.strategy); this.travelTimeCalculatorConfigGroup = new TravelTimeCalculatorConfigGroup(); this.modules.put(TravelTimeCalculatorConfigGroup.GROUPNAME, this.travelTimeCalculatorConfigGroup);
private int getIntervalNr(double time) { double timeBinSize = congestionInfo.getScenario().getConfig().travelTimeCalculator().getTraveltimeBinSize(); return (int) (time / timeBinSize); }
public TravelTimeCalculator(final Network network, TravelTimeCalculatorConfigGroup ttconfigGroup) { this(network, ttconfigGroup.getTraveltimeBinSize(), ttconfigGroup.getMaxTime(), ttconfigGroup); }
TravelTimeCalculatorConfigGroup config = new TravelTimeCalculatorConfigGroup(); config.setTraveltimeBinSize(900); config.setAnalyzedModes(TransportMode.car); config.setFilterModes(true); TravelTimeCalculator ttc = new TravelTimeCalculator(network, config);
TravelTimeCalculatorConfigGroup ttcalcConfig = new TravelTimeCalculatorConfigGroup(); ttcalcConfig.setTraveltimeBinSize(3600);
TransitRouteAccessEgressAnalysis analysis = new TransitRouteAccessEgressAnalysis(this.scenario.getTransitSchedule().getTransitLines().get(Id.create(1, TransitLine.class)).getRoutes().get(Id.create(1, TransitRoute.class)), vehTracker); events.addHandler(analysis); TravelTimeCalculator ttc = new TravelTimeCalculator(this.scenario.getNetwork(), 120, 7*3600+1800, new TravelTimeCalculatorConfigGroup()); events.addHandler(ttc);