map::slippy(n) Mapping utilities map::slippy(n)
__________________________________________________________________________________________________________________________________________________
NAME
map::slippy - Common code for slippy based map packages
SYNOPSIS
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
_________________________________________________________________
DESCRIPTION
This package provides a number of methods doing things needed by all types of slippy-based map packages.
API
::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 bool-
ean 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 essen-
tially 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 con-
taining 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.
REFERENCES
[1] http://wiki.openstreetmap.org/wiki/Main_Page
KEYWORDS
geodesy, geography, latitute, location, longitude, map, slippy, zoom
map 0.3 map::slippy(n)