8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/tiletanic/tile_cover.rb', line 8
def cover_geometry(tile_scheme, geometry, zooms, &)
return enum_for(__method__, tile_scheme, geometry, zooms) unless block_given?
validate_geometry!(geometry)
return if geometry.empty?
zoom_levels = normalize_zoom_levels(zooms)
current_tile = Tile.new(x: 0, y: 0, z: 0)
if polygonal?(geometry)
cover_polygonal(tile_scheme, current_tile, geometry, zoom_levels, zoom_levels.max, &)
else
cover_non_polygonal(tile_scheme, current_tile, geometry, zoom_levels, &)
end
end
|