Source code for TileCache.Services.MGMaps
# BSD Licensed, Copyright (c) 2006-2010 TileCache Contributors
from TileCache.Service import Request, Capabilities
import TileCache.Layer as Layer
[docs]class MGMaps (Request):
[docs] def parse (self, fields, path, host):
param = {}
for key in ['layer', 'zoom', 'x', 'y']:
if fields.has_key(key.upper()):
param[key] = fields[key.upper()]
elif fields.has_key(key):
param[key] = fields[key]
else:
param[key] = ""
return self.getMap(param)
[docs] def getMap (self, param):
layer = self.getLayer(param["layer"])
level = int(param["zoom"])
level = 17 - level
x = float(param["x"])
y = float(param["y"])
res = layer.resolutions[level]
maxY = int(
round(
(layer.bbox[3] - layer.bbox[1]) /
(res * layer.size[1])
)
) - 1
tile = Layer.Tile(layer, x, maxY - y, level)
return tile