Use quad tiling to select bugs in an area
Remove the _no_quadtile versiond of the selection routines and switch to using the ordinary ones but with a (large) limit applied on the size of the area to prevent us spending ages working out the list of tiles to be selected.
This commit is contained in:
parent
7bba798990
commit
22bef89d1a
6 changed files with 17 additions and 28 deletions
|
@ -37,9 +37,9 @@ class MapBugsController < ApplicationController
|
|||
limit = getLimit
|
||||
conditions = closedCondition
|
||||
|
||||
check_boundaries(@min_lon, @min_lat, @max_lon, @max_lat, :false)
|
||||
check_boundaries(@min_lon, @min_lat, @max_lon, @max_lat, MAX_BUG_REQUEST_AREA)
|
||||
|
||||
@bugs = MapBug.find_by_area_no_quadtile(@min_lat, @min_lon, @max_lat, @max_lon, :include => :comments, :order => "last_changed DESC", :limit => limit, :conditions => conditions)
|
||||
@bugs = MapBug.find_by_area(@min_lat, @min_lon, @max_lat, @max_lon, :include => :comments, :order => "last_changed DESC", :limit => limit, :conditions => conditions)
|
||||
|
||||
respond_to do |format|
|
||||
format.html {render :template => 'map_bugs/get_bugs.js', :content_type => "text/javascript"}
|
||||
|
@ -138,9 +138,9 @@ class MapBugsController < ApplicationController
|
|||
bbox = bbox.split(',')
|
||||
@min_lon, @min_lat, @max_lon, @max_lat = sanitise_boundaries(bbox)
|
||||
|
||||
conditions = cond_merge conditions, [OSM.sql_for_area_no_quadtile(@min_lat, @min_lon, @max_lat, @max_lon)]
|
||||
check_boundaries(@min_lon, @min_lat, @max_lon, @max_lat, MAX_BUG_REQUEST_AREA)
|
||||
|
||||
check_boundaries(@min_lon, @min_lat, @max_lon, @max_lat, :false)
|
||||
conditions = cond_merge conditions, [OSM.sql_for_area(@min_lat, @min_lon, @max_lat, @max_lon)]
|
||||
end
|
||||
|
||||
@comments = MapBugComment.find(:all, :limit => limit, :order => "date_created DESC", :joins => :map_bug, :include => :map_bug, :conditions => conditions)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue