Class: Tiletanic::TileSchemes::WebMercatorBL

Inherits:
BasicTilingBottomLeft show all
Defined in:
lib/tiletanic/tileschemes.rb

Constant Summary collapse

WEB_MERCATOR_LIMIT =
20_037_508.342789244

Constants inherited from BasicTiling

BasicTiling::QUADKEY_PATTERN

Instance Attribute Summary

Attributes inherited from BasicTiling

#bounds

Instance Method Summary collapse

Methods inherited from BasicTilingBottomLeft

#br, #ul

Methods inherited from BasicTiling

#bbox, #children, #parent, #tile

Constructor Details

#initializeWebMercatorBL

Returns a new instance of WebMercatorBL.



191
192
193
# File 'lib/tiletanic/tileschemes.rb', line 191

def initialize
  super(-WEB_MERCATOR_LIMIT, -WEB_MERCATOR_LIMIT, WEB_MERCATOR_LIMIT, WEB_MERCATOR_LIMIT)
end

Instance Method Details

#quadkey(*tile) ⇒ Object



195
196
197
198
199
200
201
202
203
204
205
206
# File 'lib/tiletanic/tileschemes.rb', line 195

def quadkey(*tile)
  x, y, z = send(:extract_tile, *tile)
  return '' if z.zero?

  z.downto(1).map do |zoom|
    digit = 0
    mask = 1 << (zoom - 1)
    digit += 1 if x.anybits?(mask)
    digit += 2 if y.nobits?(mask)
    digit
  end.join
end

#quadkey_to_tile(quadkey) ⇒ Object



208
209
210
211
# File 'lib/tiletanic/tileschemes.rb', line 208

def quadkey_to_tile(quadkey)
  tile = super
  Tile.new(x: tile.x, y: (2**quadkey.length) - tile.y - 1, z: tile.z)
end