TileCache Package

TileCache Package

Cache Module

class TileCache.Cache.Cache(timeout=30.0, stale_interval=300.0, readonly=False, expire=False, sendfile=False, **kwargs)[source]

Bases: object

attemptLock(tile)[source]
delete(tile)[source]
get(tile)[source]
getKey(tile)[source]
getLockName(tile)[source]
lock(tile, blocking=True)[source]
set(tile, data)[source]
unlock(tile)[source]

Client Module

class TileCache.Client.WMS(base, params, user=None, password=None)[source]

Bases: object

base
client
data
defaultParams = {'version': '1.1.1', 'request': 'GetMap', 'service': 'WMS'}
fetch()[source]
fields = ('bbox', 'srs', 'width', 'height', 'format', 'layers', 'styles')
params
response
setBBox(box)[source]
url()[source]
TileCache.Client.main()[source]
TileCache.Client.seed(svc, layer, levels=(0, 5), bbox=None, padding=0, force=False, reverse=False, delay=0)[source]

Layer Module

class TileCache.Layer.Layer(name, layers=None, bbox=(-180, -90, 180, 90), data_extent=None, srs='EPSG:4326', description='', maxresolution=None, size=(256, 256), levels=20, resolutions=None, extension='png', mime_type=None, cache=None, debug=True, watermarkimage=None, watermarkopacity=0.2, spherical_mercator=False, extent_type='strict', units='degrees', tms_type='', **kwargs)[source]

Bases: object

bbox
cache
config_properties = [{'type': 'boolean', 'name': 'spherical_mercator', 'description': 'Layer is in spherical mercator. (Overrides bbox, maxresolution, SRS, Units)'}, {'name': 'layers', 'description': 'Comma seperated list of layers associated with this layer.'}, {'default': 'png', 'name': 'extension', 'description': 'File type extension'}, {'default': '-180,-90,180,90', 'name': 'bbox', 'description': 'Bounding box of the layer grid'}, {'default': 'EPSG:4326', 'name': 'srs', 'description': 'Spatial Reference System for the layer'}, {'default': '', 'type': 'map', 'name': 'data_extent', 'description': 'Bounding box of the layer data. (Same SRS as the layer grid.)'}]
contains((x, y), res=0)[source]
>>> l = Layer("name")
>>> l.contains((0,0))
True
>>> l.contains((185, 94))
False
data_extent
debug
description
extension
extent_type
format()[source]
>>> l = Layer("name")
>>> l.format()
'image/png'
getCell((minx, miny, maxx, maxy), exact=True)[source]

Returns x, y, z

>>> l = Layer("name")
>>> l.bbox
(-180, -90, 180, 90)
>>> l.resolutions[0]
0.703125
>>> l.getCell((-180.,-90.,0.,90.))
(0, 0, 0)
>>> l.getCell((-45.,-45.,0.,0.))
(3, 1, 2)
getClosestCell(z, (minx, miny))[source]
>>> l = Layer("name")
>>> l.getClosestCell(2, (84, 17))
(6, 2, 2)
getClosestLevel(res, size=[256, 256])[source]
getLevel(res, size=[256, 256])[source]
>>> l = Layer("name")
>>> l.getLevel(.703125)
0
getResolution((minx, miny, maxx, maxy))[source]
>>> l = Layer("name")
>>> l.getResolution((-180,-90,0,90))
0.703125
getTile(bbox)[source]
>>> l = Layer("name")
>>> l.getTile((-180,-90,0,90)).bbox()
'-180.0,-90.0,0.0,90.0'
grid(z)[source]

Returns size of grid at a particular zoom level

>>> l = Layer("name")
>>> l.grid(3)
(16.0, 8.0)
layers
metadata
mime_type
name
paletted
render(tile, **kwargs)[source]
renderTile(tile)[source]
resolutions
size
spherical_mercator
srs
tms_type
units
watermarkimage
watermarkopacity
class TileCache.Layer.MetaLayer(name, metatile='', metasize=(5, 5), metabuffer=(10, 10), **kwargs)[source]

Bases: TileCache.Layer.Layer

config_properties = [{'type': 'boolean', 'name': 'spherical_mercator', 'description': 'Layer is in spherical mercator. (Overrides bbox, maxresolution, SRS, Units)'}, {'name': 'layers', 'description': 'Comma seperated list of layers associated with this layer.'}, {'default': 'png', 'name': 'extension', 'description': 'File type extension'}, {'default': '-180,-90,180,90', 'name': 'bbox', 'description': 'Bounding box of the layer grid'}, {'default': 'EPSG:4326', 'name': 'srs', 'description': 'Spatial Reference System for the layer'}, {'default': '', 'type': 'map', 'name': 'data_extent', 'description': 'Bounding box of the layer data. (Same SRS as the layer grid.)'}, {'name': 'name', 'description': 'Name of Layer'}, {'default': 'false', 'type': 'boolean', 'name': 'metaTile', 'description': 'Should metatiling be used on this layer?'}, {'default': '5,5', 'name': 'metaSize', 'description': 'Comma seperated-pair of numbers, defininig the tiles included in a single size'}, {'name': 'metaBuffer', 'description': 'Number of pixels outside the metatile to include in the render request.'}]
getMetaSize(z)[source]
getMetaTile(tile)[source]
metaBuffer
metaSize
metaTile
render(tile, force=False)[source]
renderMetaTile(metatile, tile)[source]
watermark(img)[source]
class TileCache.Layer.MetaTile(layer, x, y, z)[source]

Bases: TileCache.Layer.Tile

actualSize()[source]
>>> l = MetaLayer("name")
>>> t = MetaTile(l, 0,0,0)
>>> t.actualSize()
(256, 256)
bounds()[source]
size()[source]
class TileCache.Layer.Tile(layer, x, y, z)[source]

Bases: object

>>> l = Layer("name", maxresolution=0.019914, size="256,256")
>>> t = Tile(l, 18, 20, 0)
bbox()[source]
>>> l = Layer("name", maxresolution=0.019914)
>>> t = Tile(l, 18, 20, 0)
>>> t.bbox()
'-88.236288,11.95968,-83.138304,17.057664'
bounds()[source]
>>> l = Layer("name", maxresolution=0.019914)
>>> t = Tile(l, 18, 20, 0)
>>> t.bounds()
(-88.236288000000002, 11.959680000000006, -83.138303999999991, 17.057664000000003)
data
layer
size()[source]
>>> l = Layer("name", maxresolution=0.019914, size="256,256")
>>> t = Tile(l, 18, 20, 0)
>>> t.size()
[256, 256]
x
y
z

Service Module

class TileCache.Service.Capabilities(format, data)[source]

Bases: object

class TileCache.Service.Request(service)[source]

Bases: object

getLayer(layername)[source]
class TileCache.Service.Service(cache, layers, metadata={})[source]

Bases: object

cache
config
dispatchRequest(params, path_info='/', req_method='GET', host='http://example.com/')[source]
expireTile(tile)[source]
files
generate_crossdomain_xml()[source]

Helper method for generating the XML content for a crossdomain.xml file, to be used to allow remote sites to access this content.

layers
classmethod load(*files)
classmethod loadFromSection(config, section, module, **objargs)
metadata
renderTile(tile, force=False)[source]
tilecache_options
exception TileCache.Service.TileCacheException[source]

Bases: exceptions.Exception

TileCache.Service.binaryPrint(binary_data)[source]

This function is designed to work around the fact that Python in Windows does not handle binary output correctly. This function will set the output to binary, and then write to stdout directly rather than using print.

TileCache.Service.cgiHandler(service)[source]
TileCache.Service.handler(apacheReq)[source]
TileCache.Service.import_module(name)[source]

Helper module to import any module based on a name, and return the module.

TileCache.Service.modPythonHandler(apacheReq, service)[source]
TileCache.Service.paste_deploy_app(global_conf, full_stack=True, **app_conf)[source]
TileCache.Service.wsgiApp(environ, start_response)[source]
TileCache.Service.wsgiHandler(environ, start_response, service)[source]

Swarm Module

class TileCache.Swarm.Client(service=None, **kwargs)[source]

Bases: TileCache.Swarm.Peer

drop_timeout(peer)[source]
handle(thunk, (host, port))[source]
handle_DELETE(peer, msg)[source]
handle_GET(peer, msg)[source]
handle_PING(peer, msg)[source]
handle_PONG(peer, msg)[source]
handle_PUT(peer, msg)[source]
load_peers()[source]
load_peers_from_string(data)[source]
max_ring_inserts = 64
message(type, tile=None)[source]
rebalance_peers()[source]
replication = 3
schedule(when, callback, *args)[source]
schedule_timeout(peer)[source]
select_peers(key, count=3)[source]
send(peer, msg)[source]
send_GET(tile, callback=None)[source]
send_PING(peer)[source]
send_PONG(ping)[source]
send_PUT(tile)[source]
set_peers(peers)[source]
set_put_callback(tile, callback)[source]
tile_key(tile)[source]
trigger_put_callbacks(tile)[source]
class TileCache.Swarm.Message(msgtype, key, seq, tile=None)[source]

Bases: object

freeze()[source]
freeze_DELETE()[source]
freeze_GET()[source]
freeze_PING()[source]
freeze_PONG()[source]
freeze_PUT()[source]
header = '!20sLHH'
header_len = 28
classmethod thaw(classobj, msgtxt, layers)
thaw_DELETE(msgtxt, layers)[source]
thaw_GET(msgtxt, layers)[source]
thaw_PING(msgtxt, layers)[source]
thaw_PONG(msgtxt, layers)[source]
thaw_PUT(msgtxt, layers)[source]
tilespec = '!31pHLL'
tilespec_len = 41
types = ('PING', 'PONG', 'GET', 'PUT', 'DELETE')
class TileCache.Swarm.Peer(key=None, address=None, weight=10.0)[source]

Bases: object

min_timeout = 15

Table Of Contents

Previous topic

Welcome to TileCache’s documentation!

Next topic

Caches Package

This Page