private Map<Id<Link>, List<TurnInfo>> createTurnInfos(Lanes laneDefs) { Map<Id<Link>, List<TurnInfo>> inLinkIdTurnInfoMap = new HashMap<>(); Set<Id<Link>> toLinkIds = new HashSet<>(); for (LanesToLinkAssignment l2l : laneDefs.getLanesToLinkAssignments().values()) { toLinkIds.clear(); for (Lane lane : l2l.getLanes().values()) { if (lane.getToLinkIds() != null && (lane.getToLaneIds() == null || lane.getToLaneIds().isEmpty())) { // make sure that it is a lane at the end of a link toLinkIds.addAll(lane.getToLinkIds()); } } if (!toLinkIds.isEmpty()) { List<TurnInfo> turnInfoList = new ArrayList<TurnInfo>(); for (Id<Link> toLinkId : toLinkIds) { turnInfoList.add(new TurnInfo(l2l.getLinkId(), toLinkId)); } inLinkIdTurnInfoMap.put(l2l.getLinkId(), turnInfoList); } } return inLinkIdTurnInfoMap; }
public static void calculateMissingCapacitiesForLanes20(String networkInputFilename, String lanes20InputFilename, String lanes20OutputFilename){ Config config = ConfigUtils.createConfig(); config.network().setInputFile(networkInputFilename); config.qsim().setUseLanes(true); config.network().setLaneDefinitionsFile(lanes20InputFilename); Scenario scenario = ScenarioUtils.loadScenario(config); Network network = scenario.getNetwork(); Lanes lanes = scenario.getLanes(); for (LanesToLinkAssignment l2l : lanes.getLanesToLinkAssignments().values()){ Link link = network.getLinks().get(l2l.getLinkId()); for (Lane lane : l2l.getLanes().values()){ if (lane.getToLaneIds() == null || lane.getToLaneIds().isEmpty()){ calculateAndSetCapacity(lane, true, link, network); } else { calculateAndSetCapacity(lane, false, link, network); } } } LanesWriter writerDelegate = new LanesWriter(lanes); writerDelegate.write(lanes20OutputFilename); }
List<Id<Lane>> toLaneIds = lastQLane.getLaneData().getToLaneIds(); double nextMetersFromLinkEnd = 0.0; double laneLength = 0.0;
if (lane.getToLaneIds() != null) { for (Id<Lane> toLaneId : lane.getToLaneIds()){ if (! l2l.getLanes().containsKey(toLaneId)){ log.error("Error: toLane not existing:");
xmllane.setId(bl.getId().toString()); if ((bl.getToLinkIds() == null && bl.getToLaneIds() != null) || (bl.getToLinkIds() != null && bl.getToLaneIds() == null)){ xmllane.setLeadsTo(fac.createXMLLaneTypeXMLLeadsTo()); else if (bl.getToLaneIds() != null){ for (Id<Lane> id : bl.getToLaneIds()) { XMLIdRefType xmlToLink = fac.createXMLIdRefType(); xmlToLink.setRefId(id.toString());