org.osmtools.overpass.OverpassTemplate Maven / Gradle / Ivy
package org.osmtools.overpass;
import org.osm.schema.Osm;
import org.osmtools.api.BoundingBox;
import org.springframework.web.client.RestOperations;
public class OverpassTemplate implements OverpassOperations {
private RestOperations restOperations;
public OverpassTemplate(RestOperations restOperations) {
this.restOperations = restOperations;
}
public Osm getBBox(BoundingBox boundingBox) {
String data = "(way[highway=track](" + boundingBox.getSouth() + "," + boundingBox.getWest() + ","
+ boundingBox.getNorth() + "," + boundingBox.getEast() + ");node(w)->.x;);out meta;";
return restOperations.getForObject("http://overpass-api.de/api/interpreter?data={data}", Osm.class, data);
}
public Osm getRaw(String query) {
return restOperations.getForObject("http://overpass-api.de/api/interpreter?data={data}", Osm.class, query);
}
public Osm getBuildings(BoundingBox boundingBox) {
String data = "(way[building=yes](" + boundingBox.getSouth() + "," + boundingBox.getWest() + ","
+ boundingBox.getNorth() + "," + boundingBox.getEast() + ");node(w)->.x;);out meta;";
System.out.println("Data: " + data);
return restOperations.getForObject("http://overpass-api.de/api/interpreter?data={data}", Osm.class, data);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy