Project Description
geoCache is a WMS Tile Caching (WMS-C) compliant server that allows you to create your own local disk-based cache of any WMS server, and use the result in any WMS-C supporting client, like OpenLayers. The geoCache library can speed up access to your WMS by factors of 10 – 100, or more. The software is written in C# and based on the .Net 3.5 framework.


geoCache is released under GNU Lesser General Public License

Portions of geoCache are based on , ported to C#.geoCache supports WMS tile request mechanisms, like this.
In order to be cacheable, requested tiles must have bounding boxes aligned to a set of consistent grids at successively larger map resolutions in geographic space. Tile grids originate in the lower left corner of the tiled layer's BoundingBox. Valid tile requests must include all mandatory WMS GetMap parameters, e.g. service, version, request, layers, styles, srs, bbox, width, height, format. Values for the request parameter should follow the mixed-caps case used in the WMS spec (ISO 19128), e.g. "GetMap", "GetCapabilties", and so on. In the "dynamic tile" world of the OGC Web Map Server (WMS) specification, this is already possible. However, dynamic mapping requires the server to render new tiles for every request, which is often a very slow process.

Tile-based mapping is all about speed.

In an ideal world, tile-based clients would be able to use the data already published in WMS servers, but at a speed high enough to satisfy their end-users.
Verbatim request parameters must be given in a tiled WMS request exactly as specified in the tiling profile / layer definition. First, cachability of map imagery can be improved by using image tiles of fixed width and height, referenced to some fixed geographic grid at fixed scales. A "valid" tile request is one that conforms to the specification of fixed image parameters and geographic grid(s) for a given layer.

Projects using geoCache:

geoCache is provided by Gecko Informasjonssystemer AS, with financial and technological support from the Norwegian Mapping and Cadastre Authority

About WMS-C
The WMS Tiling Client Recommendation, was the result of a set of discussions at the FOSS4G conference in 2006. The recommendation describes a way to constrain WMS requests to a predefined grid, so that clients can request data that has been pre-rendered or rendered on the fly and the cached. Delivering cached map imagery can reduce image load times from the client's point of view by as much as one or even two orders of magnitude.
Although some users of WMS have attempted to use naive HTTP proxies to solve the problems of WMS caching, caching HTTP proxies alone don't take full advantage of prior knowledge of the WMS protocol, and don't account for the various idiosyncrasies that WMS clients can present.
Rendering map imagery on the fly for every WMS request typically requires profound hardware resources to scale well, creating a barrier to entry for organizations wishing to offer WMS access to their data. We hope that creating simple-to-deploy solutions for caching map imagery will help to push forward the publication of geographic data via WMS servers, which will in turn make more and richer maps available to more people.

Last edited Jun 26, 2008 at 8:36 AM by gyllar, version 10