All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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