private int getVehicleCapacity(Id<Vehicle> vehicleId) { VehicleType type = vehicles.get(vehicleId).getType(); VehicleCapacity capacity = vehicleTypes.get(type.getId()).getCapacity(); return capacity.getSeats() + capacity.getStandingRoom(); }
this.currentCapacity.setSeats(Integer.valueOf(atts.getValue(VehicleSchemaV1Names.PERSONS))); this.currentCapacity.setStandingRoom(Integer.valueOf(atts.getValue(VehicleSchemaV1Names.PERSONS)));
private void writeCapacity(VehicleCapacity cap) throws UncheckedIOException { this.writeStartTag(VehicleSchemaV1Names.CAPACITY, null); if (cap.getSeats() != null) { atts.clear(); atts.add(this.createTuple(VehicleSchemaV1Names.PERSONS, cap.getSeats())); this.writeStartTag(VehicleSchemaV1Names.SEATS, atts, true); } if (cap.getStandingRoom() != null) { atts.clear(); atts.add(this.createTuple(VehicleSchemaV1Names.PERSONS, cap.getStandingRoom())); this.writeStartTag(VehicleSchemaV1Names.STANDINGROOM, atts, true); } if (cap.getFreightCapacity() != null) { this.writeFreightCapacity(cap.getFreightCapacity()); } this.writeEndTag(VehicleSchemaV1Names.CAPACITY); }
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; }
@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; } }
public void testAddPassenger() { VehicleType vehType = new VehicleTypeImpl(Id.create("busType", VehicleType.class)); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(Integer.valueOf(5)); vehType.setCapacity(capacity); Vehicle vehicle = new VehicleImpl(Id.create(1976, Vehicle.class), vehType); TransitVehicle veh = createTransitVehicle(vehicle); ArrayList<PTPassengerAgent> passengers = new ArrayList<PTPassengerAgent>(veh.getPassengerCapacity()); for (int i = 0; i < veh.getPassengerCapacity(); i++) { PTPassengerAgent passenger = new FakePassengerAgent(null); passengers.add(passenger); assertFalse(veh.getPassengers().contains(passenger)); assertTrue(veh.addPassenger(passenger)); assertTrue(veh.getPassengers().contains(passenger)); } assertEquals(passengers.size(), veh.getPassengers().size()); for (PTPassengerAgent passenger : passengers) { assertTrue(veh.getPassengers().contains(passenger)); } assertFalse(veh.addPassenger(new FakePassengerAgent(null))); }
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()); } } } } }
public QVehicleImpl(final Vehicle basicVehicle) { this.id = basicVehicle.getId(); this.vehicle = basicVehicle; this.passengers = new ArrayList<>(); VehicleCapacity capacity = basicVehicle.getType().getCapacity(); if (capacity == null) { this.passengerCapacity = 4; if (warnCount < 10) { log.warn("No VehicleCapacity (= maximum number of passengers) set in Vehicle. " + "Using default value of 4. This is only a problem if you need vehicles with different " + "capacities, e.g. for minibuses."); warnCount++; if ( warnCount == 10 ) { log.warn( Gbl.FUTURE_SUPPRESSED ) ; } } } else { // do *not* subtract one for the driver! Most pt vehicles define the capacity without the driver. // for private cars, think about if we should subtract one from the capacity if the driver is set? // But if we do, change the number of seats of the default vehicle from 4 to 5. this.passengerCapacity = capacity.getSeats() + (capacity.getStandingRoom() == null ? 0 : capacity.getStandingRoom()); } }
public void testInitialization_SeatOnlyCapacity() { VehicleType vehType = new VehicleTypeImpl(Id.create("busType", VehicleType.class)); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(Integer.valueOf(4)); vehType.setCapacity(capacity); Vehicle vehicle = new VehicleImpl(Id.create(1976, Vehicle.class), vehType); TransitVehicle veh = createTransitVehicle(vehicle); assertEquals(vehicle, veh.getVehicle()); assertEquals(4, veh.getPassengerCapacity()); }
assertEquals(42.0, vehType.getMaximumVelocity(), EPSILON); assertNotNull(vehType.getCapacity()); assertEquals(Integer.valueOf(5), vehType.getCapacity().getSeats()); assertEquals(Integer.valueOf(20), vehType.getCapacity().getStandingRoom()); assertNotNull(vehType.getCapacity().getFreightCapacity()); assertEquals(23.23, vehType.getCapacity().getFreightCapacity().getVolume(), EPSILON); assertNotNull(vehType.getEngineInformation()); assertEquals(EngineInformation.FuelType.diesel, vehType.getEngineInformation().getFuelType());
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)); } }
@Override public void updateVehicles(Vehicles vehicles) { this.vehId2VehicleCapacity = new HashMap<>(); for (Vehicle veh : vehicles.getVehicles().values()) { Integer seats = veh.getType().getCapacity().getSeats(); Integer standing = veh.getType().getCapacity().getStandingRoom(); // setting these values is not mandatory. Thus, they maybe null \\DR, aug'13 this.vehId2VehicleCapacity.put(veh.getId(), ((seats == null) ? 0 : seats) + ((standing == null) ? 0 : standing) - 1); } }
public void testRemovePassenger() { VehicleType vehType = new VehicleTypeImpl(Id.create("busType", VehicleType.class)); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(Integer.valueOf(5)); vehType.setCapacity(capacity); Vehicle vehicle = new VehicleImpl(Id.create(1976, Vehicle.class), vehType); TransitVehicle veh = createTransitVehicle(vehicle); PTPassengerAgent passenger1 = new FakePassengerAgent(null); PTPassengerAgent passenger2 = new FakePassengerAgent(null); PTPassengerAgent passenger3 = new FakePassengerAgent(null); assertTrue(veh.addPassenger(passenger1)); assertTrue(veh.addPassenger(passenger2)); assertTrue(veh.addPassenger(passenger3)); assertTrue(veh.getPassengers().contains(passenger2)); // try to remove a passenger assertTrue(veh.removePassenger(passenger2)); assertFalse(veh.getPassengers().contains(passenger2)); assertTrue(veh.getPassengers().contains(passenger1)); assertTrue(veh.getPassengers().contains(passenger3)); // try to remove a passenger that is not in the list assertFalse(veh.removePassenger(passenger2)); // make sure this did not remove someone else assertTrue(veh.getPassengers().contains(passenger1)); assertTrue(veh.getPassengers().contains(passenger3)); // some more tests assertTrue(veh.removePassenger(passenger1)); assertTrue(veh.removePassenger(passenger3)); assertEquals(0, veh.getPassengers().size()); }
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 updateVehicles(Vehicles vehicles) { this.vehId2VehicleCapacity = new HashMap<>(); for (Vehicle veh : vehicles.getVehicles().values()) { Integer seats = veh.getType().getCapacity().getSeats(); Integer standing = veh.getType().getCapacity().getStandingRoom(); // setting these values is not mandatory. Thus, they maybe null \\DR, aug'13 this.vehId2VehicleCapacity.put(veh.getId(), ((seats == null) ? 0 : seats) + ((standing == null) ? 0 : standing) - 1.0); } }
public void testSizeInEquivalents() { VehicleType carType = new VehicleTypeImpl(Id.create("carType", VehicleType.class)); VehicleType busType = new VehicleTypeImpl(Id.create("busType", VehicleType.class)); busType.setPcuEquivalents(2.5); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(Integer.valueOf(5)); carType.setCapacity(capacity); busType.setCapacity(capacity); Vehicle car = new VehicleImpl(Id.create(1976, Vehicle.class), carType); Vehicle bus = new VehicleImpl(Id.create(1976, Vehicle.class), busType); TransitQVehicle veh = new TransitQVehicle(car); assertEquals(1.0, veh.getSizeInEquivalents(), MatsimTestCase.EPSILON); veh = new TransitQVehicle(bus); assertEquals(2.5, veh.getSizeInEquivalents(), MatsimTestCase.EPSILON); } }
public void testInitialization_SeatAndStandCapacity() { VehicleType vehType = new VehicleTypeImpl(Id.create("busType", VehicleType.class)); VehicleCapacity capacity = new VehicleCapacityImpl(); capacity.setSeats(Integer.valueOf(5)); capacity.setStandingRoom(Integer.valueOf(2)); vehType.setCapacity(capacity); Vehicle vehicle = new VehicleImpl(Id.create(1976, Vehicle.class), vehType); TransitVehicle veh = createTransitVehicle(vehicle); assertEquals(vehicle, veh.getVehicle()); assertEquals(7, veh.getPassengerCapacity()); }
@Override public void updateVehicles(Vehicles vehicles) { this.vehId2VehicleCapacity = new HashMap<>(); for (Vehicle veh : vehicles.getVehicles().values()) { Integer seats = veh.getType().getCapacity().getSeats(); Integer standing = veh.getType().getCapacity().getStandingRoom(); // setting these values is not mandatory. Thus, they maybe null \\DR, aug'13 this.vehId2VehicleCapacity.put(veh.getId(), ((seats == null) ? 0 : seats) + ((standing == null) ? 0 : standing) - 1.0); } }
capacity.setSeats(Integer.valueOf(5)); vehType.setCapacity(capacity); Vehicle vehicle = new VehicleImpl(Id.create(1976, Vehicle.class), vehType);
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 capacity.setStandingRoom(0); vehType.setCapacity(capacity); vehType.setPcuEquivalents(this.pConfig.getPassengerCarEquivalents());