[OSGeo-Discuss] The state of WMS tile caching
gilles.bassiere at makina-corpus.com
Wed Nov 26 03:46:48 PST 2008
I was recently confronted to the same problem. I needed a cached WMS,
although on some occasion I would need to perform untiled map requests.
Of course, it would have been much easier to send tiled and untiled
request to a single front server.
My idea was to hack TileCache. Indeed, TileCache already has WMS request
support et grid calculation and cache and so on. When the requested
extent/size does not match the tile grid, TileCache returns an error. I
guess it would be possible to catch this error. Then, instead of
returning the error to the client, it should be possible to forward the
request to the rendering back-end and return the resulting image to the
client (without storing it in the cache). I'm not sure whether this
could be possible with all back-end. I did not think of performance
either. But I think that could be a solution for someone needing
seamless map caching.
For some reasons we did not implement this idea. The main problem was
the lack of support for GetFeatureInfo in TileCache. I'm now thinking of
some kind of integration of TileCache within the OGCserver (part of the
Mapnik project). It is still a rough idea and, unfortunately, I don't
have any time to work on it. Moreover, I doubt if it's reasonable to mix
WMS with TMS-based cache. Of course, TMS-based cache is incredibly
efficient but it also impose the grid parameters to the client. In my
opinion it is an important restriction that reduce interoperability.
With such restrictions, it may not be possible to feed OpenLayers with
WMS-C stream coming from different servers.
I'm a bit surprised because standard-compliance is an important part of
this thread but the OGC discussion paper about tiled WMS was not
mentioned (see http://www.opengeospatial.org/standards/wms). The paper
is more than 1-year old now, does anybody know if there is ongoing work
or if it could become an implement specification soon? An important
point discussed in the paper is about describing the tile grid so that
an arbitrary client can build a valid request.
Jody Garnett wrote:
> Can WMS tiles be cached by the server for any WMS client and still
> serve WMS according to the standard?
> It should be possible; indeed that is my reading of how it should
> work. The difference is in the all important tiled=true part of the
> GetMap request; which would control if it is dispatched
> to the tile cache or the normal WMS rendering subsystem.
> I know that a you can constrain WMS requests to a predefined grid
> if you control the client's request, but what if you don't control
> the client's request, can caching still be done?
> Sasha at Refractions did exactly this; set up a WMS Proxy that made
> use of a tilecache behind the scenes - it was pretty cool but I do not
> think he took the time to open source it yet.
> [to provide some context for the curious ones, it's for a public
> prototype for Canadian weather data dissemination and we're pretty
> excited about it - however, because weatheroffice.ec.gc.ca
> <http://weatheroffice.ec.gc.ca> is the most visited Canadian
> website (that's what they tell us, but I guess google.com/.ca
> <http://google.com/.ca> probably comes first), we need caching
> I actually worked on that website back in the bad old days (a co-op
> job of all things). It used to be Java and IIS pulling data from an
> OS/2 system via a serial link. Good times.
> If you contact me offline I can put you in contact with Sasha; and of
> course would love to do any work in this direction myself ;-)
> Discuss mailing list
> Discuss at lists.osgeo.org
30 rue des Jeuneurs
+33 (0) 1 44 82 00 80
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 368 bytes
Desc: not available
More information about the Discuss