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



______________________________________________________________________________

NAME
       map::slippy::cache - Management of a tile cache in the local filesystem

SYNOPSIS
       package require Tcl  8.4

       package require Tk  8.4

       package require img::png

       package require map::slippy

       package require map::slippy::cache  ?0.2?

       ::map::slippy::cache cacheName cachedir provider

       cacheName valid tile ?msgvar?

       cacheName exists tile

       cacheName get tile donecmd

_________________________________________________________________

DESCRIPTION
       This package provides a class for managing a cache of tiles for slippy-
       based maps in the local filesystem.

API
       ::map::slippy::cache cacheName cachedir provider
              Creates the cache cacheName and configures it with both the path
              to the directory contaiing the locally cached tiles (cachedir),
              and the command prefix from which it will pull tiles asked for
              and not yet known to the cache itself (provider).

              The result of the command is cacheName.

   METHODS
       cacheName valid tile ?msgvar?
              This method checks the validity of a the given tile identifier.
              This is a convenience wrapper to ::map::slippy tile valid and
              has the same interface.

       cacheName exists tile
              This methods tests whether the cache contains the specified tile
              or not. The result is a boolean value, true if the tile is
              known, and false otherwise. The tile is identified by a list
              containing three elements, zoom level, row, and column number,
              in this order.

       cacheName get tile donecmd
              This is the main method of the cache, retrieving the image for
              the specified tile from the cache. The tile identifier is a list
              containing three elements, the zoom level, row, and column
              number of the tile, in this order.

              The command refix donecmd will be invoked when the cache either
              knows the image for the tile or that no image will forthcoming.
              It will be invoked with either 2 or 3 arguments, i.e.

              [1]    The string set, the tile, and the image.

              [2]    The string unset, and the tile.

              These two possibilities are used to either signal the image for
              the tile, or that the tile has no image defined for it.

              When the cache has no information about the tile it will invoke
              the provider command prefix specified during its construction,
              adding three arguments: The string get, the tile, and a callback
              into the cache. The latter will be invoked by the provider to
              either transfer the image to the cache, or signal that the tile
              has no image.

              When multiple requests for the same tile are made only one
              request will be issued to the provider.

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

KEYWORDS
       cache, filesystem, location, map, slippy, tile, zoom



map                                   0.2                map::slippy::cache(n)
