org.heigit.ohsome.ohsomeapi.controller.rawdata.ElementsController Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ohsome-api Show documentation
Show all versions of ohsome-api Show documentation
A public Web-RESTful-API for "ohsome" OpenStreetMap history data.
package org.heigit.ohsome.ohsomeapi.controller.rawdata;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.heigit.ohsome.ohsomeapi.executor.ElementsRequestExecutor;
import org.heigit.ohsome.ohsomeapi.executor.RequestResource;
import org.heigit.ohsome.ohsomeapi.output.rawdataresponse.DataResponse;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* REST controller containing the methods, which are mapped to "/elements" and used to return OSM
* data.
*/
@Api(tags = "Data Extraction")
@RestController
@RequestMapping("/elements")
public class ElementsController {
/**
* Gives the OSM objects as GeoJSON features, which have the geometry of the respective objects in
* the geometry field.
*
* @param servletRequest HttpServletRequest
of the incoming request
* @param servletResponse HttpServletResponse
of the outgoing response
* @throws Exception thrown by
* {@link org.heigit.ohsome.ohsomeapi.executor.ElementsRequestExecutor#extract(RequestResource, ElementsGeometry, HttpServletRequest, HttpServletResponse)
* extract}
*/
@ApiOperation(value = "OSM Data having the raw geometry of each OSM object as geometry",
nickname = "elementsGeometry", response = DataResponse.class)
@RequestMapping(value = "/geometry", method = {RequestMethod.GET, RequestMethod.POST},
produces = "application/json")
public void elementsGeometry(HttpServletRequest servletRequest,
HttpServletResponse servletResponse) throws Exception {
ElementsRequestExecutor.extract(RequestResource.DATAEXTRACTION, ElementsGeometry.RAW,
servletRequest, servletResponse);
}
/**
* Gives the OSM objects as GeoJSON features, which have the bounding box of the respective
* objects in the geometry field.
*
* @param servletRequest HttpServletRequest
of the incoming request
* @param servletResponse HttpServletResponse
of the outgoing response
* @throws Exception thrown by
* {@link org.heigit.ohsome.ohsomeapi.executor.ElementsRequestExecutor#extract(RequestResource, ElementsGeometry, HttpServletRequest, HttpServletResponse)
* extract}
*/
@ApiOperation(value = "OSM Data, having the bounding box of each OSM object as geometry",
nickname = "elementsBbox", response = DataResponse.class)
@RequestMapping(value = "/bbox", method = {RequestMethod.GET, RequestMethod.POST},
produces = "application/json")
public void elementsBbox(HttpServletRequest servletRequest, HttpServletResponse servletResponse)
throws Exception {
ElementsRequestExecutor.extract(RequestResource.DATAEXTRACTION, ElementsGeometry.BBOX,
servletRequest, servletResponse);
}
/**
* Gives the OSM objects as GeoJSON features, which have the centroid of the respective objects in
* the geometry field.
*
* @param servletRequest HttpServletRequest
of the incoming request
* @param servletResponse HttpServletResponse
of the outgoing response
* @throws Exception thrown by
* {@link org.heigit.ohsome.ohsomeapi.executor.ElementsRequestExecutor#extract(RequestResource, ElementsGeometry, HttpServletRequest, HttpServletResponse)
* extract}
*/
@ApiOperation(value = "OSM Data, having the centroid of each OSM object as geometry",
nickname = "elementsCentroid", response = DataResponse.class)
@RequestMapping(value = "/centroid", method = {RequestMethod.GET, RequestMethod.POST},
produces = "application/json")
public void elementsCentroid(HttpServletRequest servletRequest,
HttpServletResponse servletResponse) throws Exception {
ElementsRequestExecutor.extract(RequestResource.DATAEXTRACTION, ElementsGeometry.CENTROID,
servletRequest, servletResponse);
}
}