Opengeo

GeoWebCache Roadmap

Get a quote now!

Get a quote on road-map development and add your support to a road-map item.

Click here to start...

 

GeoWebCache @ OpenGeo

Roadmap Items

Caching Dynamic Servers

While GeoWebCache currently does a great job caching static datasets, there are a number of improvements that could be done to make it a more active cache - automatically truncating and reseeding areas of the cache that are affected by changes in data. It should be improved to be aware of transactions (through direct code hooks or GeoRSS feeds), and also set the proper Conditional Get http headers so clients are aware of changes.

Seeding Improvements

Seeding is the process of pre-populating the cache with tiles. Currently a seed request can only take a bounding box. One improvement we could make is to let the seeder take a polygon, which can efficiently delimit the area of interest, saving significant time and bandwidth. Another improvement to be made is depth-first seeding, for cases when the center of the seed is of the most interest.

Respond to arbitrary zoom levels (WMS through tile recombination)

The main limitation of a cache like GeoWebCache is that it can only respond to requests at set zoom levels. A more intelligent cache, however, could properly recombine the raster tiles it knows about and sub-sample it up or down to the requested zoom level. In this way it could serve most any WMS request, instead of being limited by the pre-set cache.

Queued Requests

Right now a seeding process can easily overload a server, especially if it is in a live environment also responding to client requests. This could be improved in several ways to queue and prioritize requests so that the GeoWebCache seeder is smart enough to not overload the server.

Clustering

Several improvements to GeoWebCache could be done to better support clustering for reliability and scalability. While traditional clustering techniques work there are several unique aspects of geospatial cache clustering which can be optimized for directly in the GeoWebCache codebase.