Difference between revisions of "WMS Tile Caching"
Line 7: | Line 7: | ||
=== WMS-C as WMS Profile === | === WMS-C as WMS Profile === | ||
− | One approach to take might be to define ''WMS-C'' (as in ''Web Mapping Service - Cached'') as a constrained profile of [http://www.opengeospatial.org/docs/01-068r2.pdf OGC WMS] that permits servers to optimize their image generation, and allows tiles to be cached at intermediate points. The basic idea is that, unlike with WMS, two different requests for a given WMS-C tile should form the exact same request | + | One approach to take might be to define ''WMS-C'' (as in ''Web Mapping Service - Cached'') as a constrained profile of [http://www.opengeospatial.org/docs/01-068r2.pdf OGC WMS] that permits servers to optimize their image generation, and allows tiles to be cached at intermediate points. The basic idea is that, unlike with WMS, two different requests for a given WMS-C tile should form the exact same HTTP GET request. This invites several constraints on WMS: |
# Minimal query string arguments | # Minimal query string arguments | ||
− | # Fixed query string argument ordering | + | # Fixed query string argument ordering and case (versus §6.4.1) |
# Fixed range of possible bounding boxes, computed from the WMS-C profile parameters | # Fixed range of possible bounding boxes, computed from the WMS-C profile parameters | ||
− | # Fixed precision on bounding box values | + | # Fixed precision on bounding box values (clarifying §6.5.6) |
# Fixed tile size in pixels | # Fixed tile size in pixels | ||
# Fixed layer name and/or layer name ordering | # Fixed layer name and/or layer name ordering |
Revision as of 14:45, 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 in Web Mapping Service - Cached) as a constrained profile of OGC WMS that permits servers to optimize their image generation, and allows tiles to be cached at intermediate points. The basic idea is that, unlike with WMS, two different requests for a given WMS-C tile should form the exact same HTTP GET request. This invites several constraints on WMS:
- Minimal query string arguments
- Fixed query string argument ordering and case (versus §6.4.1)
- Fixed range of possible bounding boxes, computed from the WMS-C profile parameters
- Fixed precision on bounding box values (clarifying §6.5.6)
- Fixed tile size in pixels
- Fixed layer name and/or layer name ordering
- Fixed output format
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
- Variable (i.e. likely to be different from one server to the next)
- Maximal extent (typically, the entire world... but not always!)
- Number of horizontal and vertical tiles at the maximal extent
- Tile size in pixels
- Minimum scale (i.e., the number of zoom levels)
- Fixed (i.e. maybe we don't even want to complicate a proposal by including these things)
- Projection (typically, EPSG 4326)
- Scale quantization factor (typically, powers of 2)
Related Projects
- osgPlanet
- NASA WorldWind (wiki)
- Community MapBuilder
- other AJAX map clients, presumably
Interested Parties
- Schuyler Erle
- Allan Doyle
- add yourself