public static void readPopulation( Population population, String filename ) { MutableScenario scenario = ScenarioUtils.createMutableScenario( ConfigUtils.createConfig() ) ; scenario.setPopulation( population ); new PopulationReader( scenario ).readFile( filename ); // (yyyy population reader uses network to retrofit some missing geo information such as route lenth. // In my opinion, that should be done in prepareForSim, not in the parser. It is commented as such // in the PopulationReader class. kai, nov'18) }
@Override public void readURL( URL url ) { reader.parse( url ) ; }
@Test public void testOutput_V5() { final String testFile = new File(utils.getOutputDirectory() + "/plans.xml.gz").getAbsolutePath(); // read test population Config config = ConfigUtils.createConfig(ExamplesUtils.getTestScenarioURL("berlin")); final Scenario originalScenario = ScenarioUtils.createScenario(config); // necessary for v4... new MatsimNetworkReader(originalScenario.getNetwork()).parse(IOUtils.newUrl(config.getContext(), NET_FILE)); new PopulationReader(originalScenario).parse(IOUtils.newUrl(config.getContext(), BASE_FILE)); // write test population with conversion new PopulationWriter( transformation, originalScenario.getPopulation(), originalScenario.getNetwork()).writeV5( testFile ); // read converted population final Scenario reprojectedScenario = ScenarioUtils.createScenario(config); new PopulationReader(reprojectedScenario).readFile(testFile); assertPopulationCorrectlyTransformed( originalScenario.getPopulation() , reprojectedScenario.getPopulation() ); }
public void testSelectedPlansActsShape() throws IOException { String outputDir = getOutputDirectory(); String outShp = getOutputDirectory() + "acts.shp"; Scenario scenario = ScenarioUtils.createScenario(super.loadConfig(null)); Network network = scenario.getNetwork(); new MatsimNetworkReader(scenario.getNetwork()).parse(new GZIPInputStream(getClass().getResourceAsStream("/test/scenarios/berlin/network.xml.gz"))); Population population = scenario.getPopulation(); new PopulationReader(scenario).parse(new GZIPInputStream(getClass().getResourceAsStream("/test/scenarios/berlin/plans_hwh_1pct.xml.gz"))); CoordinateReferenceSystem crs = MGC.getCRS("DHDN_GK4"); SelectedPlans2ESRIShape sp = new SelectedPlans2ESRIShape(population, network, crs, outputDir); sp.setOutputSample(0.05); sp.setActBlurFactor(100); sp.setWriteActs(true); sp.setWriteLegs(false); sp.write(); Collection<SimpleFeature> writtenFeatures = ShapeFileReader.getAllFeatures(outShp); Assert.assertEquals(2235, writtenFeatures.size()); }
private void readPlansFile(final String plansfilePath, final Population plans) { System.out.println(" reading file "+plansfilePath); final MatsimReader plansReader = new PopulationReader(new PseudoScenario(this.scenario, plans)); plansReader.readFile(plansfilePath); }
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"); } }
@Override public void readFile(String filename) { reader.readFile(filename); }
@Test public void testOutput_V4() { final String testFile = new File(utils.getOutputDirectory() + "/plans.xml.gz").getAbsolutePath(); // read test population Config config = ConfigUtils.createConfig(ExamplesUtils.getTestScenarioURL("berlin")); final Scenario originalScenario = ScenarioUtils.createScenario(config); // necessary for v4... new MatsimNetworkReader(originalScenario.getNetwork()).parse(IOUtils.newUrl(config.getContext(), NET_FILE)); new PopulationReader(originalScenario).parse(IOUtils.newUrl(config.getContext(), BASE_FILE)); // write test population with conversion new PopulationWriter( transformation, originalScenario.getPopulation(), originalScenario.getNetwork()).writeV4( testFile ); // read converted population final Scenario reprojectedScenario = ScenarioUtils.createScenario(config); // necessary for v4... new MatsimNetworkReader(reprojectedScenario.getNetwork()).parse(IOUtils.newUrl(config.getContext(), NET_FILE)); new PopulationReader(reprojectedScenario).readFile(testFile); assertPopulationCorrectlyTransformed( originalScenario.getPopulation() , reprojectedScenario.getPopulation() ); }
public void testSelectedPlansLegsShape() throws IOException { String outputDir = getOutputDirectory(); String outShp = getOutputDirectory() + "legs.shp"; Scenario scenario = ScenarioUtils.createScenario(super.loadConfig(null)); Network network = scenario.getNetwork(); new MatsimNetworkReader(scenario.getNetwork()).parse(new GZIPInputStream(getClass().getResourceAsStream("/test/scenarios/berlin/network.xml.gz"))); Population population = scenario.getPopulation(); new PopulationReader(scenario).parse(new GZIPInputStream(getClass().getResourceAsStream("/test/scenarios/berlin/plans_hwh_1pct.xml.gz"))); CoordinateReferenceSystem crs = MGC.getCRS("DHDN_GK4"); SelectedPlans2ESRIShape sp = new SelectedPlans2ESRIShape(population, network, crs, outputDir); sp.setOutputSample(0.05); sp.setLegBlurFactor(100); sp.setWriteActs(false); sp.setWriteLegs(true); sp.write(); Collection<SimpleFeature> writtenFeatures = ShapeFileReader.getAllFeatures(outShp); Assert.assertEquals(1431, writtenFeatures.size()); }
public StreamingPopulationReader(String inputCRS, String targetCRS, Scenario scenario ) { if ( scenario instanceof MutableScenario ) { pop = new StreamingPopulation( scenario.getConfig() ) ; ((MutableScenario) scenario).setPopulation(pop); reader = new PopulationReader( inputCRS, targetCRS, scenario, true) ; } else { throw new RuntimeException("scenario given into this class needs to be an instance of MutableScenario.") ; } } Population getStreamingPopulation() {
private static Population readPopulation(final String inPlansFile) { final Scenario s = ScenarioUtils.createScenario( ConfigUtils.createConfig() ); new PopulationReader( s ).readFile( inPlansFile ); return s.getPopulation(); }
new PopulationReader(originalScenario).parse(IOUtils.newUrl(berlin, BASE_FILE)); final Config config = ConfigUtils.createConfig(berlin); new PopulationReader( dumpedScenario ).readFile( outputDirectory+"/output_plans.xml.gz" );
@Test public void testInput_V5() { final String testFile = new File(utils.getOutputDirectory() + "/plans.xml.gz").getAbsolutePath(); // create test file in V5 format Config config = ConfigUtils.createConfig(ExamplesUtils.getTestScenarioURL("berlin")); final Scenario scenario = ScenarioUtils.createScenario(config); // necessary for v4... new MatsimNetworkReader(scenario.getNetwork()).parse(IOUtils.newUrl(config.getContext(), NET_FILE)); new PopulationReader(scenario).parse(IOUtils.newUrl(config.getContext(), BASE_FILE)); new PopulationWriter(scenario.getPopulation(), scenario.getNetwork()).writeV5(testFile); testConversionAtInput(testFile); }
private void importPopulationAndMutatePlans() { Scenario dummyScenario = ScenarioUtils.createScenario(ConfigUtils.createConfig()); MatsimReader plansReader = new PopulationReader(dummyScenario); Population plans = dummyScenario.getPopulation(); plansReader.readFile(this.outFileRoot + this.modulePrefix + ExternalOutFileName); new UpdatePlansAlgo().run(plans); }
public void parse(InputStream is) { reader.parse(is); }
private Population loadPopulation(String filename) { Scenario scenario = ScenarioUtils.createScenario(ConfigUtils.createConfig()); new PopulationReader(scenario).readFile(filename); return scenario.getPopulation(); }
new PopulationReader(originalScenario).parse(IOUtils.newUrl(berlin, BASE_FILE)); final Config config = ConfigUtils.createConfig(berlin); new PopulationReader( dumpedScenario ).readFile( outputDirectory+"/output_plans.xml.gz" );
@Test public void testInput_V4() { final String testFile = new File(utils.getOutputDirectory() + "/plans.xml.gz").getAbsolutePath(); // create test file in V4 format Config config = ConfigUtils.createConfig(ExamplesUtils.getTestScenarioURL("berlin")); final Scenario scenario = ScenarioUtils.createScenario(config); new MatsimNetworkReader(scenario.getNetwork()).parse(IOUtils.newUrl(config.getContext(), NET_FILE)); new PopulationReader(scenario).parse(IOUtils.newUrl(config.getContext(), BASE_FILE)); new PopulationWriter(scenario.getPopulation(), scenario.getNetwork()).writeV4(testFile); testConversionAtInput(testFile); }
public static void main(String[] args) { Gbl.startMeasurement(); MutableScenario sc = (MutableScenario) ScenarioUtils.createScenario(ConfigUtils.createConfig()); String networkFile = "f:/p_runs/txl/network.final.xml.gz"; String inPlansFile = "f:/p_runs/txl/run71/it.380/run71.380.plans.xml.gz"; String outFilename = "f:/p_runs/txl/run71/it.380/actsFromParatransitUsers.txt"; new MatsimNetworkReader(sc.getNetwork()).readFile(networkFile); Population inPop = sc.getPopulation(); MatsimReader popReader = new PopulationReader(sc); popReader.readFile(inPlansFile); ActivityLocationsParatransitUser ana = new ActivityLocationsParatransitUser("para_", 100.0); ana.parsePopulation(inPop); ana.writeResults(outFilename); Gbl.printElapsedTime(); } }
public void parse(URL url) { reader.parse( url ); }