return t
end
+
+ def self.iterate_tiles_for_area(minlat, minlon, maxlat, maxlon)
+ tiles = tiles_for_area(minlat, minlon, maxlat, maxlon)
+ first = last = nil
+
+ tiles.sort.each do |tile|
+ if last.nil?
+ first = last = tile
+ elsif tile == last + 1
+ last = tile
+ else
+ yield first, last
+
+ first = last = tile
+ end
+ end
+
+ yield first, last unless last.nil?
+ end
end
def self.sql_for_area(minlat, minlon, maxlat, maxlon, prefix)
return "( " + sql.join(" OR ") + " )"
end
- def self.iterate_tiles_for_area(minlat, minlon, maxlat, maxlon)
- tiles = tiles_for_area(minlat, minlon, maxlat, maxlon)
- first = last = nil
-
- tiles.sort.each do |tile|
- if last.nil?
- first = last = tile
- elsif tile == last + 1
- last = tile
- else
- yield first, last
-
- first = last = tile
- end
- end
-
- yield first, last unless last.nil?
- end
-
private_class_method :tile_for_xy, :iterate_tiles_for_area
end