map::slippy - Common code for slippy based map packages
package require Tcl 8.4
package require Tk 8.4
package require map::slippy ?0.3?
::map::slippy length level
::map::slippy tiles level
::map::slippy tile size
::map::slippy tile valid tile levels
?msgvar?
::map::slippy geo 2tile geo
::map::slippy geo 2point geo
::map::slippy tile 2geo tile
::map::slippy tile 2point tile
::map::slippy point 2geo point
::map::slippy point 2tile point
This package provides a number of methods doing things needed by
all types of slippy-based map packages.
- ::map::slippy length level
- This method returns the width/height of a slippy-based map at the
specified zoom level, in pixels. This is, in essence, the result of
expr { [tiles $level] * [tile size] }
- ::map::slippy tiles level
- This method returns the width/height of a slippy-based map at the
specified zoom level, in tiles.
- ::map::slippy tile size
- This method returns the width/height of a tile in a slippy-based map, in
pixels.
- ::map::slippy tile valid tile levels
?msgvar?
- This method checks whether tile described a valid tile in a
slippy-based map containing that many zoom levels. The result is a
boolean value, true if the tile is valid, and false
otherwise. For the latter a message is left in the variable named by
msgvar, should it be specified.
A tile identifier as stored in tile is a list
containing zoom level, tile row, and tile column, in this order. The
command essentially checks this, i.e. the syntax, that the zoom level is
between 0 and "levels-1", and that the row/col
information is within the boundaries for the zoom level, i.e. 0 ...
"[tiles $zoom]-1".
- ::map::slippy geo 2tile geo
- Converts a geographical location at a zoom level (geo, a list
containing zoom level, latitude, and longitude, in this order) to a tile
identifier (list containing zoom level, row, and column) at that
level.
- ::map::slippy geo 2point geo
- Converts a geographical location at a zoom level (geo, a list
containing zoom level, latitude, and longitude, in this order) to a pixel
position (list containing zoom level, y, and x) at that level.
- ::map::slippy tile 2geo tile
- Converts a tile identifier at a zoom level (tile, list containing
zoom level, row, and column) to a geographical location (list containing
zoom level, latitude, and longitude, in this order) at that level.
- ::map::slippy tile 2point tile
- Converts a tile identifier at a zoom level (tile, a list containing
zoom level, row, and column, in this order) to a pixel position (list
containing zoom level, y, and x) at that level.
- ::map::slippy point 2geo point
- Converts a pixel position at a zoom level (point, list containing
zoom level, y, and x) to a geographical location (list containing zoom
level, latitude, and longitude, in this order) at that level.
- ::map::slippy point 2tile point
- Converts a pixel position at a zoom level (point, a list containing
zoom level, y, and x, in this order) to a tile identifier (list containing
zoom level, row, and column) at that level.
- [1]
- http://wiki.openstreetmap.org/wiki/Main_Page
geodesy, geography, latitute, location, longitude, map, slippy,
zoom