Difference between revisions of "WMS Tile Caching"
Line 4: | Line 4: | ||
== Proposal == | == Proposal == | ||
+ | |||
+ | === WMS-C as WMS Profile === | ||
+ | |||
+ | One approach to take might be to define WMS-C as a constrained profile of WMS that permits servers to optimize their image generation, and allows tiles to be cached at intermediate points. This invites several constraints on WMS: | ||
+ | |||
+ | # Minimal query string arguments | ||
+ | # Fixed query string argument ordering | ||
+ | # Fixed range of possible bounding boxes, computed from the WMS-C profile parameters | ||
+ | # Fixed precision on bounding box values | ||
+ | # Fixed tile size in pixels | ||
+ | # Fixed layer name and/or layer name ordering | ||
+ | |||
+ | Some means of identifying these constraints programmatically on a per-server basis, a la ''GetCapabilities'' might be desirable. | ||
+ | |||
+ | A WMS-C proxy or server should be free to return an error or a redirect, if it receives a WMS request that is not WMS-C compliant. | ||
== Existing Tiling Schemes == | == Existing Tiling Schemes == |
Revision as of 10:21, 29 March 2006
Goal
The goal of a WMS Tile Caching proposal, perhaps WMS-C for short, is to find a way to optimize the generation of map imagery for transmission across the Internet. The proposal needs to offer ideally a single means by which map clients can fetch tiles from existing servers, in such a way that map tiles can be cached on the server, or at an intermediate location, or even be completely pre-generated, if desired. The proposal should leverage the existing investment in OGC-compliant WMS servers on the 'Net.
Proposal
WMS-C as WMS Profile
One approach to take might be to define WMS-C as a constrained profile of WMS that permits servers to optimize their image generation, and allows tiles to be cached at intermediate points. This invites several constraints on WMS:
- Minimal query string arguments
- Fixed query string argument ordering
- Fixed range of possible bounding boxes, computed from the WMS-C profile parameters
- Fixed precision on bounding box values
- Fixed tile size in pixels
- Fixed layer name and/or layer name ordering
Some means of identifying these constraints programmatically on a per-server basis, a la GetCapabilities might be desirable.
A WMS-C proxy or server should be free to return an error or a redirect, if it receives a WMS request that is not WMS-C compliant.
Existing Tiling Schemes
- Mikel Maron's description of OnEarth's LandSat tiling scheme
- World Wind's tiling scheme: PDF, wiki
Possible Tile Scheme Parameters
- Maximal extent (typically, the entire world)
- Projection (typically, EPSG 4326)
- Number of horizontal and vertical tiles at the maximal extent
- Tile size in pixels
- Scale quantization factor (typically, powers of 2)
- Minimum scale (i.e., the number of zoom levels)
Related Projects
- osgPlanet
- NASA WorldWind (wiki)
- Community MapBuilder
- other AJAX map clients, presumably
Interested Parties
- Schuyler Erle
- add yourself