#!/usr/bin/python
# This example code demonstrates how you can construct # a custom service as an alternative to the config file. # This allows you to, for example, determine what layers to # load based on request parameters or something similar – # the config file based loading technique is handy, but # probably doesn’t solve all problems.
from TileCache.Service import Service, modPythonHandler, cgiHandler from TileCache.Caches.Disk import Disk import TileCache.Layers.WMS as WMS import TileCache.Layers.MapServer as MS
- myService = Service (
Disk(“/www/wms-c/cache”), {
“basic” : MS.MapServer( “basic”, “/www/wms-c/basic.map” ), “satellite” : MS.MapServer( “satellite”, “/www/wms-c/basic.map”,
extension = “jpeg” ),- “cascade” : WMS.WMS( “basic”, “http://labs.metacarta.com/wms/vmap0?”,
- extension = “jpeg” ),
- “DRG” : WMS.WMS( “DRG”, “http://terraservice.net/ogcmap.ashx?”,
- extension = “jpeg” ),
- “OSM” : WMS.WMS( “roads”,
- “http://aesis.metacarta.com/cgi-bin/mapserv?FORMAT=png8&” + “map=/home/crschmidt/osm.map&TRANSPARENT=TRUE&”, extension = “png” ),
- “Boston” : WMS.WMS(
- “border,water,openspace,roads,buildings,rapid_transit”, “http://nyc.freemap.in/cgi-bin/mapserv?” + “map=/www/freemap.in/boston/map/gmaps.map&” ),
- “hfoot” : WMS.WMS( “hfoot”,
- “http://beta.sedac.ciesin.columbia.edu/mapserver/wms/hfoot?”, levels = 20, extension = “jpeg”)
}
)
- def handler (req):
- return modPythonHandler(req, myService)
- if __name__ == ‘__main__’:
- cgiHandler(myService)