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 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.

REFERENCES
       [1]    http://wiki.openstreetmap.org/wiki/Main_Page

KEYWORDS
       geodesy, geography, latitute, location, longitude, map, slippy, zoom



map                                   0.3                       map::slippy(n)
