Difference between revisions of "WMS Tile Caching"

From OSGeo
Jump to navigation Jump to search
Line 25: Line 25:
 
{| cellpadding="5" cellspacing="1" border="1"
 
{| cellpadding="5" cellspacing="1" border="1"
 
| '''Parameter''' || '''Default value''' || '''Specifiable in WMS GetCapabilities?'''
 
| '''Parameter''' || '''Default value''' || '''Specifiable in WMS GetCapabilities?'''
 +
|-
 +
| Projection || EPSG:4326 || ''<SRS>''
 
|-
 
|-
 
| Maximal extent || (-180,-90,180,90) || ''<BoundingBox>'' (§7.1.4.5.7)
 
| Maximal extent || (-180,-90,180,90) || ''<BoundingBox>'' (§7.1.4.5.7)
 
|-
 
|-
| Number of horizontal and vertical tiles at the maximal extent || ''none'' || ?
+
| Number of horizontal and vertical tiles at the maximal extent || ''none'' || Could be implied by '<ScaleHint>'' (§7.1.4.5.8, but note that the format is weakly specified)
 
|-
 
|-
 
| Tile size in pixels || some power of 2 || <Layer> attribute ''fixedWidth'', ''fixedHeight'' (§7.1.4.6)
 
| Tile size in pixels || some power of 2 || <Layer> attribute ''fixedWidth'', ''fixedHeight'' (§7.1.4.6)
 
|-
 
|-
| Minimum scale || ''none'' || ''<ScaleHint>'' (§7.1.4.5.8, but note that the format is weakly specified)
+
| Minimum scale || ''none'' || ''<ScaleHint>'' (see note, above)
|-
 
| Projection || EPSG:4326 || ''<SRS>''
 
 
|-
 
|-
 
| Scale quantization factor || 2 || ?
 
| Scale quantization factor || 2 || ?

Revision as of 16:09, 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 GetMap requests:

  1. Minimal query string arguments (i.e. no optional arguments permitted, versus §7.2)
  2. Fixed query string argument ordering and case (versus §6.4.1)
  3. Fixed range of possible bounding boxes, computed from the WMS-C profile parameters
  4. Fixed precision on bounding box values (clarifying §6.5.6)
  5. Fixed tile size in pixels
  6. Fixed layer name and/or layer name ordering
  7. 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 exception or a redirect, if it receives a WMS request that is not WMS-C compliant.

Possible Tile Scheme Parameters

Parameter Default value Specifiable in WMS GetCapabilities?
Projection EPSG:4326 <SRS>
Maximal extent (-180,-90,180,90) <BoundingBox> (§7.1.4.5.7)
Number of horizontal and vertical tiles at the maximal extent none Could be implied by '<ScaleHint> (§7.1.4.5.8, but note that the format is weakly specified)
Tile size in pixels some power of 2 <Layer> attribute fixedWidth, fixedHeight (§7.1.4.6)
Minimum scale none <ScaleHint> (see note, above)
Scale quantization factor 2 ?

Existing Tiling Schemes

Related Projects

Interested Parties