21 package org.matsim.facilities.algorithms;
23 import org.apache.logging.log4j.LogManager;
24 import org.apache.logging.log4j.Logger;
36 import java.util.HashSet;
56 log.info(
" connecting facilities with links via "+CONFIG_F2L_INPUTF2LFile+
"="+file);
60 br.readLine(); lineCnt++;
61 while ((currLine = br.readLine()) != null) {
62 String[] entries = currLine.split(
"\t", -1);
69 if ((f != null) && (l != null)) {
72 remainingFacilities.remove(f.
getId());
74 else { log.warn(lineCnt+
": at least one of the two locations not found."); }
77 }
catch (IOException e) {
78 throw new RuntimeException(
"Error while reading given inputF2LFile='"+file+
"'.", e);
80 log.info(
" number of facilities that are still not connected to a link = "+remainingFacilities.size());
81 log.info(
" done. (connecting facilities with links via "+CONFIG_F2L_INPUTF2LFile+
"="+file+
")");
89 log.info(
" writing f<-->l connections to "+CONFIG_F2L_OUTPUTF2LFile+
"="+file);
91 bw.write(
"fid\tlid\n");
93 bw.write(f.getId().toString()+
"\t"+f.getLinkId().toString()+
"\n");
95 }
catch (IOException e) {
96 throw new RuntimeException(
"Error while writing given outputF2LFile='"+file+
"'.", e);
98 log.info(
" done. (writing f<-->l connections to "+CONFIG_F2L_OUTPUTF2LFile+
"="+file+
")");
102 log.info(
" connecting facilities with links...");
104 Set<Id<ActivityFacility>> remainingFacilities =
new HashSet<>(facilities.
getFacilities().keySet());
105 if (this.config != null) {
106 String inputF2LFile = this.config.
findParam(CONFIG_F2L,CONFIG_F2L_INPUTF2LFile);
107 if (inputF2LFile != null) {
108 connectByFile(facilities,network,inputF2LFile,remainingFacilities);
112 log.info(
" connecting remaining facilities with links ("+remainingFacilities.size()+
" remaining)...");
121 if (this.config != null) {
122 String outputF2LFile = this.config.
findParam(CONFIG_F2L,CONFIG_F2L_OUTPUTF2LFile);
123 if (outputF2LFile != null) {
127 log.info(
" done. (connecting facilities with links)");
static final String CONFIG_F2L_OUTPUTF2LFile
final void writeF2LFile(final ActivityFacilities facilities, final String file)
static final String CONFIG_F2L_INPUTF2LFile
void mapFacilityToLink(ActivityFacility f, Link l)
Map< Id< ActivityFacility >, ? extends ActivityFacility > getFacilities()
final void connectFacilitiesWithLinks(final ActivityFacilities facilities, final Network network)
WorldConnectLocations(final Config config)
static Link getNearestRightEntryLink(Network network, final Coord coord)
static final String CONFIG_F2L
static BufferedReader getBufferedReader(URL url, Charset charset)
final String findParam(final String moduleName, final String paramName)
static BufferedWriter getBufferedWriter(URL url, Charset charset, boolean append)
static< T > Id< T > create(final long key, final Class< T > type)
Map< Id< Link >, ? extends Link > getLinks()
final void connectByFile(final ActivityFacilities facilities, final Network network, final String file, final Set< Id< ActivityFacility >> remainingFacilities)