/** * Replaces the method that converted a lane from format 11 to format 20. * Use this when you have not defined an original lane of the link and when you have not set lane capacities yet. */ public static void createOriginalLanesAndSetLaneCapacities(Network network, Lanes lanes){ LanesFactory factory = lanes.getFactory(); for (LanesToLinkAssignment l2l : lanes.getLanesToLinkAssignments().values()){ Link link = network.getLinks().get(l2l.getLinkId()); Lane olLane = factory.createLane(Id.create(l2l.getLinkId().toString() + ".ol", Lane.class)); l2l.addLane(olLane); for (Lane lane : l2l.getLanes().values()) { olLane.addToLaneId(lane.getId()); //set capacity of the lane depending on link capacity and number of representative lanes LanesUtils.calculateAndSetCapacity(lane, true, link, network); } olLane.setNumberOfRepresentedLanes(link.getNumberOfLanes()); olLane.setStartsAtMeterFromLinkEnd(link.getLength()); } }
private void createLanes() { Lanes ld = scenario.getLanes(); LanesFactory f = ld.getFactory(); LanesToLinkAssignment l2l = f.createLanesToLinkAssignment(Id.create(12, Link.class)); ld.addLanesToLinkAssignment(l2l); Lane l = f.createLane(Id.create(121, Lane.class)); l.setStartsAtMeterFromLinkEnd(300); l.addToLaneId(Id.create(122, Lane.class)); l2l.addLane(l); l = f.createLane(Id.create(122, Lane.class)); l.setStartsAtMeterFromLinkEnd(150); l.addToLinkId(Id.create(25, Link.class)); l2l.addLane(l); }
.getLinkIdRef(), Link.class)); for (XMLLaneType laneType : lldef.getLane()) { Lane lane = factory.createLane(Id.create(laneType.getId(), Lane.class));
int numberOfRepresentedLanes, List<Id<Link>> toLinkIds, List<Id<Lane>> toLaneIds) { Lane lane = factory.createLane(laneId); if (toLinkIds != null){ for (Id<Link> toLinkId : toLinkIds) {
private static void createOneLane(Scenario scenario, int numberOfRepresentedLanes) { scenario.getConfig().qsim().setUseLanes(true); Lanes lanes = scenario.getLanes(); LanesFactory builder = lanes.getFactory(); //lanes for link 1 LanesToLinkAssignment lanesForLink1 = builder.createLanesToLinkAssignment(Id.create(1, Link.class)); Lane link1FirstLane = builder.createLane(Id.create("1.ol", Lane.class)); link1FirstLane.addToLaneId(Id.create(1, Lane.class)); link1FirstLane.setNumberOfRepresentedLanes(2.0); link1FirstLane.setStartsAtMeterFromLinkEnd(1005.0); link1FirstLane.setCapacityVehiclesPerHour(1800.0); lanesForLink1.addLane(link1FirstLane); Lane link1lane1 = builder.createLane(Id.create(1, Lane.class)); link1lane1.addToLinkId(Id.create(2, Link.class)); link1lane1.setStartsAtMeterFromLinkEnd(105.0); link1lane1.setNumberOfRepresentedLanes(numberOfRepresentedLanes); link1lane1.setCapacityVehiclesPerHour(numberOfRepresentedLanes * 900.0); lanesForLink1.addLane(link1lane1); lanes.addLanesToLinkAssignment(lanesForLink1); }
/** * create a lane on link 1 representing the given number of lanes. * the lanes capacity is 900 times the number of represented lanes. * */ private static void createOneLane(Scenario scenario, int numberOfRepresentedLanes) { scenario.getConfig().qsim().setUseLanes(true); Lanes lanes = scenario.getLanes(); LanesFactory builder = lanes.getFactory(); //lanes for link 1 LanesToLinkAssignment lanesForLink1 = builder.createLanesToLinkAssignment(Id.create(1, Link.class)); Lane link1FirstLane = builder.createLane(Id.create("1.ol", Lane.class)); link1FirstLane.addToLaneId(Id.create(1, Lane.class)); link1FirstLane.setNumberOfRepresentedLanes(2.0); link1FirstLane.setStartsAtMeterFromLinkEnd(25000.0); link1FirstLane.setCapacityVehiclesPerHour(1800.0); lanesForLink1.addLane(link1FirstLane); Lane link1lane1 = builder.createLane(Id.create(1, Lane.class)); link1lane1.addToLinkId(Id.createLinkId(2)); link1lane1.setStartsAtMeterFromLinkEnd(10000.0); link1lane1.setNumberOfRepresentedLanes(numberOfRepresentedLanes); link1lane1.setCapacityVehiclesPerHour(numberOfRepresentedLanes * 900.0); lanesForLink1.addLane(link1lane1); lanes.addLanesToLinkAssignment(lanesForLink1); }
Lane link1FirstLane = builder.createLane(Id.create("1.ol", Lane.class)); link1FirstLane.addToLaneId(Id.create("1", Lane.class)); link1FirstLane.addToLaneId(Id.create("2", Lane.class)); lanesForLink1.addLane(link1FirstLane); Lane link1lane1 = builder.createLane(Id.create(1, Lane.class)); link1lane1.addToLinkId(Id.create(2, Link.class)); link1lane1.setStartsAtMeterFromLinkEnd(105.0); lanesForLink1.addLane(link1lane1); Lane link1lane2 = builder.createLane(Id.create(2, Lane.class)); link1lane2.addToLinkId(Id.create(2, Link.class)); link1lane2.setNumberOfRepresentedLanes(2); lanesForLink1.addLane(link1lane2); Lane link1lane3 = builder.createLane(Id.create(3, Lane.class)); link1lane3.addToLinkId(Id.create(2, Link.class)); link1lane3.setCapacityVehiclesPerHour(900.0);
Lane link1FirstLane = builder.createLane(Id.create("1.ol", Lane.class)); link1FirstLane.addToLaneId(Id.create("1", Lane.class)); link1FirstLane.addToLaneId(Id.create("2", Lane.class)); lanesForLink1.addLane(link1FirstLane); Lane link1lane1 = builder.createLane(Id.create(1, Lane.class)); link1lane1.addToLinkId(Id.createLinkId(2)); link1lane1.setStartsAtMeterFromLinkEnd(10000.0); lanesForLink1.addLane(link1lane1); Lane link1lane2 = builder.createLane(Id.create(2, Lane.class)); link1lane2.addToLinkId(Id.createLinkId(2)); link1lane2.setNumberOfRepresentedLanes(2); lanesForLink1.addLane(link1lane2); Lane link1lane3 = builder.createLane(Id.create(3, Lane.class)); link1lane3.addToLinkId(Id.createLinkId(2)); link1lane3.setStartsAtMeterFromLinkEnd(10000.0);