Browse Source

fixing the bbox issue. constructing a 20km bbox and not some insanely big bounding box.

pull/11/head
Harish Krishna 10 years ago
parent
commit
57f969117e
  1. 8
      middleware/search.js
  2. 12
      query/search.js

8
middleware/search.js

@ -26,7 +26,7 @@ function WGS84EarthRadius(lat){
function boundingBox(latitudeInDegrees, longitudeInDegrees, halfSideInKm) { function boundingBox(latitudeInDegrees, longitudeInDegrees, halfSideInKm) {
var lat = deg2rad(latitudeInDegrees); var lat = deg2rad(latitudeInDegrees);
var lon = deg2rad(longitudeInDegrees); var lon = deg2rad(longitudeInDegrees);
var halfSide = 1000000*halfSideInKm; var halfSide = 1000*halfSideInKm;
// Radius of Earth at given latitude // Radius of Earth at given latitude
var radius = WGS84EarthRadius(lat); var radius = WGS84EarthRadius(lat);
@ -39,11 +39,11 @@ function boundingBox(latitudeInDegrees, longitudeInDegrees, halfSideInKm) {
var lonMax = lon + halfSide/pradius; var lonMax = lon + halfSide/pradius;
return { return {
'top_left': { 'bottom_left': {
'lat': rad2deg(latMin), 'lat': rad2deg(latMin),
'lon': rad2deg(lonMin) 'lon': rad2deg(lonMin)
}, },
'bottom_right': { 'top_right': {
'lat': rad2deg(latMax), 'lat': rad2deg(latMax),
'lon': rad2deg(lonMax) 'lon': rad2deg(lonMax)
} }
@ -57,7 +57,7 @@ function middleware(req, res, next){
req.clean = req.clean || {}; req.clean = req.clean || {};
// ideally, bbox should be part of the req (and not to be calculated) // ideally, bbox should be part of the req (and not to be calculated)
// TBD // TBD
req.clean.bbox = boundingBox(req.query.lat, req.query.lon, 2000); req.clean.bbox = boundingBox(req.query.lat, req.query.lon, 20);
next(); next();
} }

12
query/search.js

@ -14,13 +14,13 @@ function generate( params ){
"filter": { "filter": {
"geo_bounding_box": { "geo_bounding_box": {
"center_point": { "center_point": {
"top_left": { "bottom_left": {
"lat": params.bbox.top_left.lat, "lat": params.bbox.bottom_left.lat,
"lon": params.bbox.top_left.lon "lon": params.bbox.bottom_left.lon
}, },
"bottom_right": { "top_right": {
"lat": params.bbox.bottom_right.lat, "lat": params.bbox.top_right.lat,
"lon": params.bbox.bottom_right.lon "lon": params.bbox.top_right.lon
} }
} }
} }

Loading…
Cancel
Save