@Override public void setVehicleId(final Id<Vehicle> vehicleId) { this.vehicleId = vehicleId; for (UmlaufStueckI umlaufStueck : umlaufStuecke) { if (umlaufStueck.isFahrt()) { umlaufStueck.getDeparture().setVehicleId(vehicleId); } } }
newDeparture.setVehicleId(oldDeparture.getVehicleId()); mergeDestination.addDeparture(newDeparture);
String vehicleRefId = atts.getValue(Constants.VEHICLE_REF_ID); if (vehicleRefId != null) { departure.setVehicleId(Id.create(vehicleRefId, Vehicle.class));
for (double j = startTime + i * headway; j < endTime; ) { Departure departure = this.scheduleWithStopsOnly.getFactory().createDeparture(Id.create(n, Departure.class), j); departure.setVehicleId(Id.create(transitRoute.getId().toString() + "-" + i, Vehicle.class)); transitRoute.addDeparture(departure); j += transitRoute.getStops().get(transitRoute.getStops().size() - 1).getDepartureOffset() + this.driverRestTime;
String vehicleRefId = atts.getValue(Constants.VEHICLE_REF_ID); if (vehicleRefId != null) { this.currentDeparture.setVehicleId(Id.create(vehicleRefId, Vehicle.class));
public void run() { VehiclesFactory vb = this.vehicles.getFactory(); VehicleType vehicleType = vb.createVehicleType(Id.create("defaultTransitVehicleType", VehicleType.class)); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(Integer.valueOf(101)); capacity.setStandingRoom(Integer.valueOf(0)); vehicleType.setCapacity(capacity); this.vehicles.addVehicleType(vehicleType); long vehId = 0; for (TransitLine line : this.schedule.getTransitLines().values()) { for (TransitRoute route : line.getRoutes().values()) { for (Departure departure : route.getDepartures().values()) { Vehicle veh = vb.createVehicle(Id.create("tr_" + Long.toString(vehId++), Vehicle.class), vehicleType); this.vehicles.addVehicle(veh); departure.setVehicleId(veh.getId()); } } } } }
private TransitLine createTransitLine(Id<TransitLine> pLineId, double startTime, double endTime, int numberOfVehicles, ArrayList<TransitStopFacility> stopsToBeServed, Id<TransitRoute> routeId){ // initialize TransitLine line = this.scheduleWithStopsOnly.getFactory().createTransitLine(pLineId); routeId = Id.create(pLineId + "-" + routeId, TransitRoute.class); TransitRoute transitRoute = createRoute(routeId, stopsToBeServed); // register route line.addRoute(transitRoute); // add departures int n = 0; /* After finishing one tour, vehicles wait the driver rest time and then start the next tour immediately. * So, headway is a function of the number of vehicles and the time spent on one tour of the TransitRoute. */ int headway = (int) (transitRoute.getStops().get(transitRoute.getStops().size() - 1).getDepartureOffset() + this.driverRestTime) / numberOfVehicles; for (int i = 0; i < numberOfVehicles; i++) { for (double j = startTime + i * headway; j <= endTime; ) { Departure departure = this.scheduleWithStopsOnly.getFactory().createDeparture(Id.create(n, Departure.class), j); departure.setVehicleId(Id.create(transitRoute.getId().toString() + "-" + i, Vehicle.class)); transitRoute.addDeparture(departure); j += transitRoute.getStops().get(transitRoute.getStops().size() - 1).getDepartureOffset() + this.driverRestTime; n++; } } // log.info("added " + n + " departures"); return line; }
private TransitLine createTransitLine(Id<TransitLine> lineId, double startTime, double endTime, int numberOfVehicles, ArrayList<TransitStopFacility> stopsToBeServed, Id<TransitRoute> routeId){ // initialize TransitLine line = this.scheduleWithStopsOnly.getFactory().createTransitLine(lineId); routeId = Id.create(lineId + "-" + routeId, TransitRoute.class); TransitRoute transitRoute = createRoute(routeId, stopsToBeServed); // register route line.addRoute(transitRoute); // add departures int n = 0; /* After finishing one tour, vehicles wait the driver rest time and then start the next tour immediately. * So, headway is a function of the number of vehicles and the time spent on one tour of the TransitRoute. */ int headway = (int) (transitRoute.getStops().get(transitRoute.getStops().size() - 1).getDepartureOffset() + this.driverRestTime) / numberOfVehicles; for (int i = 0; i < numberOfVehicles; i++) { for (double j = startTime + i * headway; j <= endTime; ) { Departure departure = this.scheduleWithStopsOnly.getFactory().createDeparture(Id.create(n, Departure.class), j); departure.setVehicleId(Id.create(transitRoute.getId().toString() + "-" + i, Vehicle.class)); transitRoute.addDeparture(departure); j += transitRoute.getStops().get(transitRoute.getStops().size() - 1).getDepartureOffset() + this.driverRestTime; n++; } } // log.info("added " + n + " departures"); return line; }
for (double j = startTime + i * headway; j < endTime; ) { Departure departure = this.scheduleWithStopsOnly.getFactory().createDeparture(Id.create(n, Departure.class), j); departure.setVehicleId(Id.create(pLineId.toString() + "-" + i, Vehicle.class)); transitRoute_H.addDeparture(departure); j += transitRoute_H.getStop(endStop).getDepartureOffset() + 1 *60; departure.setVehicleId(Id.create(pLineId.toString() + "-" + i, Vehicle.class)); transitRoute_R.addDeparture(departure); j += transitRoute_R.getStop(startStop).getDepartureOffset() + this.driverRestTime;
private void createTransitSchedule() { TransitSchedule schedule = this.scenario.getTransitSchedule(); TransitScheduleFactory builder = schedule.getFactory(); TransitStopFacility[] stops = new TransitStopFacility[nOfLinks]; ArrayList<TransitRouteStop> stopList = new ArrayList<>(nOfLinks); for (int i = 0; i < nOfLinks; i++) { stops[i] = builder.createTransitStopFacility(Id.create(i, TransitStopFacility.class), new Coord((i + 1) * 500, 0), stopsBlockLane); stops[i].setLinkId(Id.create(i, Link.class)); schedule.addStopFacility(stops[i]); TransitRouteStop stop = builder.createTransitRouteStop(stops[i], i * 50, i * 50 + 10); stopList.add(stop); } Link startLink = this.scenario.getNetwork().getLinks().get(Id.create(0, Link.class)); Link endLink = this.scenario.getNetwork().getLinks().get(Id.create(nOfLinks - 1, Link.class)); NetworkRoute networkRoute = this.scenario.getPopulation().getFactory().getRouteFactories().createRoute(NetworkRoute.class, startLink.getId(), endLink.getId()); ArrayList<Id<Link>> linkList = new ArrayList<>(nOfLinks - 2); for (int i = 1; i < nOfLinks -1; i++) { linkList.add(Id.create(i, Link.class)); } networkRoute.setLinkIds(startLink.getId(), linkList, endLink.getId()); TransitRoute tRoute = builder.createTransitRoute(Id.create(1, TransitRoute.class), networkRoute, stopList, "bus"); TransitLine tLine = builder.createTransitLine(Id.create(1, TransitLine.class)); tLine.addRoute(tRoute); schedule.addTransitLine(tLine); for (int i = 0; i < nOfBuses; i++ ) { Departure dep = builder.createDeparture(Id.create(i, Departure.class), departureTime + i*heading + (i == delayedBus ? delay : 0)); dep.setVehicleId(Id.create(i, Vehicle.class)); tRoute.addDeparture(dep); } }
public void testVehicleId() { Departure dep = createDeparture(Id.create(6791, Departure.class), 7.0*3600); assertNull(dep.getVehicleId()); Id<Vehicle> vehId = Id.create(2491, Vehicle.class); dep.setVehicleId(vehId); assertEquals(vehId, dep.getVehicleId()); } }
dep1.setVehicleId(Id.create("tr_1", Vehicle.class)); tRoute1.addDeparture(dep1); dep2.setVehicleId(Id.create("tr_2", Vehicle.class)); tRoute2.addDeparture(dep2);
TransitRoute tRoute = builder.createTransitRoute(Id.create(">", TransitRoute.class), route, stops, TransportMode.pt); Departure dep = builder.createDeparture(Id.create("dep1", Departure.class), 6.0*3600); dep.setVehicleId(Id.create("veh1", Vehicle.class)); tRoute.addDeparture(dep); dep = builder.createDeparture(Id.create("dep2", Departure.class), 7.0*3600); dep.setVehicleId(Id.create("veh2", Vehicle.class)); tRoute.addDeparture(dep); line.addRoute(tRoute); dep.setVehicleId(Id.create("veh3", Vehicle.class)); tRoute.addDeparture(dep); line.addRoute(tRoute); dep.setVehicleId(Id.create("veh4", Vehicle.class)); tRoute.addDeparture(dep); line.addRoute(tRoute); dep.setVehicleId(Id.create("veh5", Vehicle.class)); tRoute.addDeparture(dep); line.addRoute(tRoute);
@Override public void insertAgentsIntoMobsim() { TestHandleStopSimulation.this.driver = new SpyDriver(TestHandleStopSimulation.this.line, TestHandleStopSimulation.this.route, TestHandleStopSimulation.this.departure, transitEngine.getAgentTracker(), transitEngine); VehicleType vehicleType = new VehicleTypeImpl(Id.create("transitVehicleType", VehicleType.class)); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(101); capacity.setStandingRoom(0); vehicleType.setCapacity(capacity); TransitQVehicle veh = new TransitQVehicle(new VehicleImpl(Id.create(TestHandleStopSimulation.this.driver.getId(), Vehicle.class), vehicleType)); veh.setDriver(TestHandleStopSimulation.this.driver); veh.setStopHandler(new SimpleTransitStopHandler()); TestHandleStopSimulation.this.driver.setVehicle(veh); TestHandleStopSimulation.this.departure.setVehicleId(veh.getVehicle().getId()); qSim.addParkedVehicle(veh, route.getRoute().getStartLinkId()); qSim.insertAgentIntoMobsim(TestHandleStopSimulation.this.driver); } });
dep.setVehicleId(Id.create("86", Vehicle.class)); route1.addDeparture(dep); dep = builder.createDeparture(Id.create("7", Departure.class), 7.0*3600 + 600); dep.setVehicleId(Id.create("19", Vehicle.class)); route1.addDeparture(dep);
Id<Vehicle> vehicleIdDep1 = Id.create(0, Vehicle.class); Id<Vehicle> vehicleIdDep2 = Id.create(3, Vehicle.class); dep1.setVehicleId(vehicleIdDep1); dep2.setVehicleId(vehicleIdDep2); route1.addDeparture(dep1); route1.addDeparture(dep2);
line1.addRoute(route1); Departure d1 = builder.createDeparture(Id.create("D1", Departure.class), 100); d1.setVehicleId(Id.create("V1", Vehicle.class)); route1.addDeparture(d1);