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") ; } } }
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; }
final Vehicle basicVehicle = VehicleUtils.getFactory().createVehicle( vehicleId, modeVehicleTypes.get( leg.getMode() ) );
@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); } }
@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 ); } } }
@Override public void insertAgentsIntoMobsim() { VehiclesFactory vehicleFactory = VehicleUtils.getFactory(); for (Vehicle vrpVeh : fleet.getVehicles().values()) { Id<Vehicle> id = vrpVeh.getId(); Id<Link> startLinkId = vrpVeh.getStartLink().getId(); VrpAgentLogic vrpAgentLogic = new VrpAgentLogic(optimizer, nextActionCreator, vrpVeh); DynAgent vrpAgent = new DynAgent(Id.createPersonId(id), startLinkId, qSim.getEventsManager(), vrpAgentLogic); QVehicle mobsimVehicle = new QVehicleImpl( vehicleFactory.createVehicle(Id.create(id, org.matsim.vehicles.Vehicle.class), vehicleType)); vrpAgent.setVehicle(mobsimVehicle); mobsimVehicle.setDriver(vrpAgent); qSim.addParkedVehicle(mobsimVehicle, startLinkId); qSim.insertAgentIntoMobsim(vrpAgent); } } }
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); }
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(); }
VehicleType car = VehicleUtils.getFactory().createVehicleType(Id.create(TransportMode.car,VehicleType.class)); car.setMaximumVelocity(20); car.setPcuEquivalents(1.0); sc.getVehicles().addVehicleType(car); VehicleType walk = VehicleUtils.getFactory().createVehicleType(Id.create(TransportMode.walk,VehicleType.class)); walk.setMaximumVelocity(1); walk.setPcuEquivalents(0.1); Vehicle vehicle = VehicleUtils.getFactory().createVehicle(vehicleId,modesType.get(leg.getMode())); sc.getVehicles().addVehicle(vehicle);
VehicleType bike = VehicleUtils.getFactory().createVehicleType(Id.create(transportModes[0], VehicleType.class)); bike.setMaximumVelocity(5); bike.setPcuEquivalents(0.25); VehicleType car = VehicleUtils.getFactory().createVehicleType(Id.create(transportModes[1], VehicleType.class)); car.setMaximumVelocity(20); car.setPcuEquivalents(1.0); Vehicle v = VehicleUtils.getFactory().createVehicle(vId, vehTypes[i]); scenario.getVehicles().addVehicle(v);
manager.addHandler(new VehicleLinkTravelTimeHandler(vehicleLinkTravelTime)); VehicleType car = VehicleUtils.getFactory().createVehicleType(Id.create("car", VehicleType.class)); car.setMaximumVelocity(this.vehSpeed); car.setPcuEquivalents(1.0);
VehicleType vt = VehicleUtils.getFactory().createVehicleType(Id.create(travelMode, VehicleType.class)); vt.setMaximumVelocity(travelMode == "bike" ? 5.0 : 20.0 ); vt.setPcuEquivalents(travelMode == "car" ? 1.0 : 0.25); Vehicle veh = VehicleUtils.getFactory().createVehicle(vehId, vt); scenario.getVehicles().addVehicle(veh);
scenario.getConfig().qsim().setUsingFastCapacityUpdate(true); VehicleType vt = VehicleUtils.getFactory().createVehicleType(Id.create(travelMode, VehicleType.class)); vt.setMaximumVelocity(20); vt.setPcuEquivalents(travelMode == "motorbike" ? 0.25 : 1.0); Vehicle veh = VehicleUtils.getFactory().createVehicle(vehId, vt); scenario.getVehicles().addVehicle(veh);