package se.kodapan.osm.sweden; import se.kodapan.osm.parser.xml.OsmXmlParserException; import se.kodapan.osm.parser.xml.instantiated.InstantiatedOsmXmlParser; import se.kodapan.osm.domain.root.Root; import se.kodapan.osm.services.overpass.Overpass; import se.kodapan.osm.services.overpass.OverpassException; import se.kodapan.osm.services.overpass.OverpassUtils; import java.io.InputStreamReader; /** * @author kalle * @since 2013-09-09 5:48 PM */ public class Sweden { private Overpass overpass; private OverpassUtils overpassUtils; public Sweden(Overpass overpass) { this.overpass = overpass; this.overpassUtils = new OverpassUtils(overpass); } private long relationshipSweden = 52822l; public Root loadBorders() throws OverpassException, OsmXmlParserException { Root root = new Root(); loadBorders(root); return root; } public void loadBorders(Root root) throws OsmXmlParserException, OverpassException { InstantiatedOsmXmlParser parser = new InstantiatedOsmXmlParser(); parser.setRoot(root); overpassUtils.loadRelation(parser, relationshipSweden); } public Root loadSimplifiedBorders() throws OverpassException, OsmXmlParserException { Root root = new Root(); loadSimplifiedBorders(root); return root; } public void loadSimplifiedBorders(Root root) throws OsmXmlParserException, OverpassException { InstantiatedOsmXmlParser parser = new InstantiatedOsmXmlParser(); parser.setRoot(root); parser.parse(new InputStreamReader(getClass().getResourceAsStream("/simplified sweden.osm"))); overpassUtils.loadRelation(parser, relationshipSweden); } public long getRelationshipSweden() { return relationshipSweden; } public void setRelationshipSweden(long relationshipSweden) { this.relationshipSweden = relationshipSweden; } }