


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

       ::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                            0.2                              1





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


       ::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 msg-
              var, 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 col-
              umn) 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 contain-
              ing 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  con-
              taining  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  contain-
              ing  zoom level, y, and x) to a geographical location (list con-
              taining 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 con-
              taining zoom level, y, and x, in this order) to a  tile  identi-
              fier  (list  containing  zoom  level,  row,  and column) at that
              level.


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





map                            0.2                              2





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


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























































map                            0.2                              3


