map::slippy(n) Mapping utilities map::slippy(n)


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

0.3 map