private void loadPopulation() { if ((this.config.plans() != null) && (this.config.plans().getInputFile() != null)) { URL populationFileName = this.config.plans().getInputFileURL(this.config.getContext()); log.info("loading population from " + populationFileName); final String targetCRS = config.global().getCoordinateSystem(); final String internalCRS = config.global().getCoordinateSystem(); final PopulationReader reader = new PopulationReader(targetCRS, internalCRS, this.scenario); reader.putAttributeConverters( attributeConverters ); reader.parse( populationFileName ); PopulationUtils.printPlansCount(this.scenario.getPopulation()) ; } else { log.info("no population file set in config, not able to load population"); } if ((this.config.plans() != null) && (this.config.plans().getInputPersonAttributeFile() != null)) { URL personAttributesURL = this.config.plans().getInputPersonAttributeFileURL(this.config.getContext()); log.info("loading person attributes from " + personAttributesURL); ObjectAttributesXmlReader reader = new ObjectAttributesXmlReader(this.scenario.getPopulation().getPersonAttributes()); reader.putAttributeConverters( attributeConverters ); reader.parse(personAttributesURL); } else { log.info("no person-attributes file set in config, not loading any person attributes"); } }
/** Starts the assignment of links to activities. * * @param args command-line arguments */ public void run(final String[] args) { parseArguments(args); this.config = ConfigUtils.loadConfig(this.configfile); MatsimRandom.reset(this.config.global().getRandomSeed()); MutableScenario scenario = ScenarioUtils.createMutableScenario(this.config); new MatsimNetworkReader(scenario.getNetwork()).readFile(this.config.network().getInputFile()); this.config = scenario.getConfig(); StreamingPopulationReader reader = new StreamingPopulationReader( scenario ) ; final StreamingPopulationWriter plansWriter = new StreamingPopulationWriter(); plansWriter.startStreaming(this.plansfile); reader.addAlgorithm(new org.matsim.core.population.algorithms.XY2Links(scenario)); reader.addAlgorithm(plansWriter); reader.readFile(this.config.plans().getInputFile()); PopulationUtils.printPlansCount(reader) ; plansWriter.closeStreaming(); System.out.println("done."); }
reader.addAlgorithm(new PlanRouter(injector.getInstance(TripRouter.class), null)); reader.addAlgorithm(plansWriter); reader.readFile(this.config.plans().getInputFile()); PopulationUtils.printPlansCount(reader) ; plansWriter.closeStreaming();
config.plans().setInputFile(getAbsolutePath(prefix, config.plans().getInputFile())); config.facilities().setInputFile(getAbsolutePath(prefix, config.facilities().getInputFile())); config.counts().setInputFile(getAbsolutePath(prefix, config.counts().getCountsFileName()));