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