use of de.topobyte.osm4j.tbo.access.TboIterator in project osm4j-geometry by topobyte.
the class TestBuildLinework method main.
public static void main(String[] args) throws MalformedURLException, IOException, ParserConfigurationException, SAXException, EntityNotFoundException {
if (args.length == 0) {
System.out.println("Please specify an input file");
usage();
}
if (args.length != 1) {
System.out.println("Please specify only one input file");
usage();
}
InputStream input = new FileInputStream(args[0]);
OsmIterator iterator = new TboIterator(input, true, true);
InMemoryMapDataSet data = MapDataSetLoader.read(iterator, false, false, true);
TLongObjectMap<OsmRelation> relations = data.getRelations();
if (relations.isEmpty()) {
logger.warn("No relation found");
return;
}
LineworkBuilder lineworkBuilder = new LineworkBuilder();
lineworkBuilder.setMissingEntitiesStrategy(MissingEntitiesStrategy.BUILD_PARTIAL);
lineworkBuilder.setMissingWayNodeStrategy(MissingWayNodeStrategy.SPLIT_POLYLINE);
RegionBuilder regionBuilder = new RegionBuilder();
regionBuilder.setMissingEntitiesStrategy(MissingEntitiesStrategy.BUILD_PARTIAL);
long[] ids = relations.keys();
Arrays.sort(ids);
for (long id : ids) {
OsmRelation relation = relations.get(id);
logger.info("Relation " + relation.getId());
lineworkBuilder.build(relation, data);
regionBuilder.build(relation, data);
}
}
Aggregations