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 void createVehicles() { Vehicles vehicles = this.scenario.getTransitVehicles(); VehiclesFactory vb = vehicles.getFactory(); VehicleType vehicleType = vb.createVehicleType(Id.create("transitVehicleType", VehicleType.class)); VehicleCapacity capacity = vb.createVehicleCapacity(); capacity.setSeats(101); capacity.setStandingRoom(0); vehicleType.setCapacity(capacity); vehicles.addVehicleType(vehicleType); Id<Vehicle> id = Id.create("tr_1", Vehicle.class); vehicles.addVehicle( vb.createVehicle(id, vehicleType)); id = Id.create("tr_2", Vehicle.class); vehicles.addVehicle( vb.createVehicle(id, vehicleType)); }
@Override public void endTag(final String name, final String content, final Stack<String> context) { if (VehicleSchemaV1Names.DESCRIPTION.equalsIgnoreCase(name) && (content.trim().length() > 0)){ this.currentVehType.setDescription(content.trim()); } else if (VehicleSchemaV1Names.ENGINEINFORMATION.equalsIgnoreCase(name)){ EngineInformation currentEngineInfo = this.builder.createEngineInformation(this.currentFuelType, this.currentGasConsumption); this.currentVehType.setEngineInformation(currentEngineInfo); this.currentFuelType = null; this.currentGasConsumption = Double.NaN; } else if (VehicleSchemaV1Names.FUELTYPE.equalsIgnoreCase(name)){ this.currentFuelType = this.parseFuelType(content.trim()); } else if (VehicleSchemaV1Names.FREIGHTCAPACITY.equalsIgnoreCase(name)){ this.currentCapacity.setFreightCapacity(this.currentFreightCap); this.currentFreightCap = null; } else if (VehicleSchemaV1Names.CAPACITY.equalsIgnoreCase(name)) { this.currentVehType.setCapacity(this.currentCapacity); this.currentCapacity = null; } else if (VehicleSchemaV1Names.VEHICLETYPE.equalsIgnoreCase(name)){ this.vehicles.addVehicleType(this.currentVehType); this.currentVehType = null; } }
@Override public void startTag(final String name, final Attributes atts, final Stack<String> context) { if (VehicleSchemaV1Names.VEHICLETYPE.equalsIgnoreCase(name)) { this.currentVehType = this.builder.createVehicleType(Id.create(atts.getValue(VehicleSchemaV1Names.ID), VehicleType.class)); this.currentCapacity = this.builder.createVehicleCapacity(); this.currentFreightCap = this.builder.createFreigthCapacity(); Vehicle v = this.builder.createVehicle(id, type); this.vehicles.addVehicle(v);
private Vehicle createVehicle(Person driverPerson, CarrierVehicle carrierVehicle) { return VehicleUtils.getFactory().createVehicle(Id.create(driverPerson.getId(), Vehicle.class), carrierVehicle.getVehicleType()); }
private static VehicleType createTruckType() { VehicleType truckType = VehicleUtils.getFactory().createVehicleType(Id.create("truckType", VehicleType.class)); truckType.setLength(15.); VehicleCapacity vehicleCapacity = new VehicleCapacityImpl(); vehicleCapacity.setSeats(1); truckType.setCapacity(vehicleCapacity); return truckType; }
private void createAndAddVehicleIfNotPresent(Id<Vehicle> vehicleId, VehicleType vehicleType) { // try to get vehicle from the vehicles container: Vehicle vehicle = scenario.getVehicles().getVehicles().get(vehicleId); if ( vehicle==null ) { // if it was not found, next step depends on config: switch ( qSimConfigGroup.getVehiclesSource() ) { case defaultVehicle: vehicle = VehicleUtils.getFactory().createVehicle(vehicleId, vehicleType); scenario.getVehicles().addVehicle(vehicle); break; case modeVehicleTypesFromVehiclesData: vehicle = VehicleUtils.getFactory().createVehicle(vehicleId, vehicleType); scenario.getVehicles().addVehicle(vehicle); break; case fromVehiclesData: // otherwise complain: throw new IllegalStateException("Expecting a vehicle id which is missing in the vehicles database: " + vehicleId); default: // also complain when someone added another config option here: throw new RuntimeException("not implemented") ; } } }
@Test public void testAddVehicleType(){ Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehicleType t1 = vehicles.getFactory().createVehicleType(Id.create("type1", VehicleType.class)); VehicleType t2 = vehicles.getFactory().createVehicleType(Id.create("type1", VehicleType.class)); vehicles.addVehicleType(t1); try{ vehicles.addVehicleType(t2); Assert.fail("Cannot add another vehicle type with the same Id"); } catch (IllegalArgumentException e){ /* Pass. */ } }
Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehiclesFactory vehFactory = vehicles.getFactory(); VehicleType vehType = vehFactory.createVehicleType(Id.create(this.pConfig.getPIdentifier(), VehicleType.class)); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(this.pConfig.getPaxPerVehicle()); // 2018-11 the driver no longer takes one seat for (Departure departure : route.getDepartures().values()) { if (!vehicles.getVehicles().keySet().contains(departure.getVehicleId())) { Vehicle vehicle = vehFactory.createVehicle(departure.getVehicleId(), vehType); vehicles.addVehicle( vehicle);
private void createVehicles() { Vehicles vehicles = this.scenario.getTransitVehicles(); VehiclesFactory vb = vehicles.getFactory(); VehicleType vehicleType = vb.createVehicleType(Id.create("transitVehicleType", VehicleType.class)); vehicles.addVehicleType(vehicleType); VehicleCapacity capacity = vb.createVehicleCapacity(); capacity.setSeats(101); capacity.setStandingRoom(0); vehicleType.setCapacity(capacity); for (int i = 0; i < nOfBuses; i++) { vehicles.addVehicle( vb.createVehicle(Id.create(i, Vehicle.class), vehicleType)); } }
final Vehicle basicVehicle = VehicleUtils.getFactory().createVehicle( vehicleId, modeVehicleTypes.get( leg.getMode() ) );
@Test public void testGetVehicleTypes(){ Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehicleType t1 = vehicles.getFactory().createVehicleType(Id.create("type1", VehicleType.class)); /* Should get an unmodifiable Map of the Vehicles container. */ try{ vehicles.getVehicleTypes().put(Id.create("type1", VehicleType.class), t1 ); Assert.fail("Should not be able to add to an unmodiafiable Map"); } catch (UnsupportedOperationException e){ /* Pass. */ } }
@Test public void testRemoveVehicle() { Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehicleType t1 = vehicles.getFactory().createVehicleType(Id.create("type1", VehicleType.class)); vehicles.addVehicleType(t1); Vehicle v1 = vehicles.getFactory().createVehicle(Id.create("v1", Vehicle.class), t1); Assert.assertEquals(0, vehicles.getVehicles().size()); vehicles.addVehicle(v1); Assert.assertEquals(1, vehicles.getVehicles().size()); vehicles.removeVehicle(Id.create("v1", Vehicle.class)); Assert.assertEquals(0, vehicles.getVehicles().size()); }
VehicleType vehicleType = vb.createVehicleType(Id.create("transitVehicleType", VehicleType.class)); VehicleCapacity capacity = vb.createVehicleCapacity(); capacity.setSeats(Integer.valueOf(101)); capacity.setStandingRoom(Integer.valueOf(0)); vehicles.addVehicle(vb.createVehicle(Id.create("veh1", Vehicle.class), vehicleType)); vehicles.addVehicle(vb.createVehicle(Id.create("veh2", Vehicle.class), vehicleType)); vehicles.addVehicle(vb.createVehicle(Id.create("veh3", Vehicle.class), vehicleType)); vehicles.addVehicle(vb.createVehicle(Id.create("veh4", Vehicle.class), vehicleType)); vehicles.addVehicle(vb.createVehicle(Id.create("veh5", Vehicle.class), vehicleType));
@Override public void insertAgentsIntoMobsim() { for (MobSimVehicleRoute vRoute : vehicleRoutes) { MobsimAgent agent = this.agentFactory.createMobsimAgentFromPerson(vRoute.getPlan().getPerson()); Vehicle vehicle = null; if(vRoute.getVehicle() == null){ vehicle = VehicleUtils.getFactory().createVehicle(Id.create(agent.getId(), Vehicle.class), VehicleUtils.getDefaultVehicleType()); log.warn("vehicle for agent "+vRoute.getPlan().getPerson().getId() + " is missing. set default vehicle where maxVelocity is solely defined by link.speed."); } else if(vRoute.getVehicle().getType() == null){ vehicle = VehicleUtils.getFactory().createVehicle(Id.create(agent.getId(), Vehicle.class), VehicleUtils.getDefaultVehicleType()); log.warn("vehicleType for agent "+vRoute.getPlan().getPerson().getId() + " is missing. set default vehicleType where maxVelocity is solely defined by link.speed."); } else vehicle = vRoute.getVehicle(); // qsim.createAndParkVehicleOnLink(vehicle, agent.getCurrentLinkId()); QVehicle qVehicle = new QVehicleImpl( vehicle ) ; qsim.addParkedVehicle( qVehicle, agent.getCurrentLinkId() ); // yyyyyy should rather use QVehicleFactory. kai, nov'18 qsim.insertAgentIntoMobsim(agent); mobSimAgents.add(agent); } }
private void storeVehicleTypeInfo(SimpleNetwork net) { net.scenario.getConfig().qsim().setVehiclesSource(QSimConfigGroup.VehiclesSource.modeVehicleTypesFromVehiclesData); Vehicles vehicles = net.scenario.getVehicles(); VehicleType car = VehicleUtils.getFactory().createVehicleType(Id.create("car", VehicleType.class)); car.setMaximumVelocity(20); car.setPcuEquivalents(1.0); vehicles.addVehicleType(car); VehicleType bike = VehicleUtils.getFactory().createVehicleType(Id.create("bike", VehicleType.class)); bike.setMaximumVelocity(5); bike.setPcuEquivalents(0.25); vehicles.addVehicleType(bike); }
@Test public void testGetVehicles(){ Vehicles vehicles = VehicleUtils.createVehiclesContainer(); VehicleType testType = vehicles.getFactory().createVehicleType(Id.create("test", VehicleType.class)); vehicles.addVehicleType(testType); Vehicle v1 = vehicles.getFactory().createVehicle(Id.create("v1", Vehicle.class), testType); /* Should get an unmodifiable Map of the Vehicles container. */ try{ vehicles.getVehicles().put(Id.create("v1", Vehicle.class), v1 ); vehicles.getVehicles(); Assert.fail("Should not be able to add to an unmodiafiable Map"); } catch (UnsupportedOperationException e){ /* Pass. */ } }
VehicleType vehicleType = vehicles.getFactory().createVehicleType(Id.create("VT1", VehicleType.class)); VehicleCapacity vehicleCapacity = vehicles.getFactory().createVehicleCapacity(); vehicleCapacity.setSeats(30); vehicleCapacity.setStandingRoom(70); vehicles.addVehicleType(vehicleType); Vehicle vehicle = vehicles.getFactory().createVehicle(Id.create("V1", Vehicle.class), vehicleType); vehicles.addVehicle(vehicle);
@Override public void insertAgentsIntoMobsim() { Scenario scenario = qSim.getScenario(); Network network = scenario.getNetwork(); VehiclesFactory qSimVehicleFactory = VehicleUtils.getFactory(); for (int i = 0; i < AGENT_COUNT; i++) { RandomDynAgentLogic agentLogic = new RandomDynAgentLogic(network); Id<Person> id = Id.createPersonId(i); Id<Link> startLinkId = RandomDynAgentLogic.chooseRandomElement(network.getLinks().keySet()); DynAgent agent = new DynAgent(id, startLinkId, qSim.getEventsManager(), agentLogic); // qSim.createAndParkVehicleOnLink(qSimVehicleFactory.createVehicle(Id.create(id, Vehicle.class), // VehicleUtils.getDefaultVehicleType()), startLinkId); final Vehicle vehicle = qSimVehicleFactory.createVehicle( Id.create( id, Vehicle.class ), VehicleUtils.getDefaultVehicleType() ) ; QVehicle qVehicle = new QVehicleImpl( vehicle ) ; // yyyyyy should use factory. kai, nov'18 qSim.addParkedVehicle( qVehicle, startLinkId ); qSim.insertAgentIntoMobsim( agent ); } } }
public void run(Config config, boolean considerMotorizedInteraction) { config.global().setNumberOfThreads(1); config.controler().setOverwriteFileSetting(OverwriteFileSetting.deleteDirectoryIfExists); config.plansCalcRoute().setRoutingRandomness(3.); Scenario scenario = ScenarioUtils.loadScenario(config); VehicleType car = VehicleUtils.getFactory().createVehicleType(Id.create(TransportMode.car, VehicleType.class)); scenario.getVehicles().addVehicleType(car); VehicleType bicycle = VehicleUtils.getFactory().createVehicleType(Id.create("bicycle", VehicleType.class)); bicycle.setMaximumVelocity(20.0/3.6); bicycle.setPcuEquivalents(0.25); scenario.getVehicles().addVehicleType(bicycle); scenario.getConfig().qsim().setVehiclesSource(QSimConfigGroup.VehiclesSource.modeVehicleTypesFromVehiclesData); Controler controler = new Controler(scenario); BicycleModule bicycleModule = new BicycleModule(); if (considerMotorizedInteraction) { bicycleModule.setConsiderMotorizedInteraction(true); } controler.addOverridingModule(bicycleModule); controler.run(); }