Version 11 (modified by 17 years ago) ( diff ) | ,
---|
FDO RFC 13 - Tile Caching Support in the WMS Provider
This page contains a request for comments document (RFC) for the FDO Open Source project. More FDO RFCs can be found on the RFCs page.
Status
RFC Template Version | (1.0) |
Submission Date | |
Last Modified | Greg Boone Timestamp |
Author | Jack Wang |
RFC Status | Adopted |
Implementation Status | Implemented |
Proposed Milestone | 3.3.0.0 |
Assigned PSC guide(s) | Orest Halustchak |
Voting History | |
+1 | Greg B., Jason B., Orest H. |
+0 | Frank W. |
-0 | |
-1 |
Overview
The tile caching technology is a commonly used approach to optimize the delivery of map imagery across the Internet. Many applications such as Microsoft® Virtual Earth™ and Google Earth have leveraged it and got significant improvement of the user experience.
Currently, WMS doesn’t support it appropriately. But some people have written proposals in order to introduce it to the WMS standard. Refer to those articles at http://wiki.osgeo.org/index.php/WMS_Tile_Caching and http://portal.opengeospatial.org/files/?artifact_id=23206
We’ve started preparing for tile caching support in FDO. And we found that in most cases the GETMAP request in current WMS protocol can be used for the tiling query. One exception is for the case where some stylization rules applied. For example, the following picture shows that duplicated labels are drawn when tiling is done.
To solve this problem, we’re intent to add a flag per WMS layer which indicates whether using tile cache or not. This way, user can set it up for different WMS layers, and can persist it in the FDO configuration.
Proposed Solution
In order to facilitate the implementation, some new WMS Override APIs will be added.
The following section outlines the necessary unmanaged and managed code changes as well as the corresponding configuration xml document change.
Unmanaged Code
/// \brief /// /// The FdoWmsOvRasterDefinition class defines the physical overrides for a raster property in a WMS FDO schema. class FdoWmsOvRasterDefinition : public FdoPhysicalElementMapping { ... /// \brief /// Gets the tile caching option value. /// /// \remarks /// This option specifies whether using the tile caching method to query the raster data. /// The default value is true. /// /// \return /// Returns a FdoBoolean indicating whether using tile cache or not. /// FDOWMS_API FdoBoolean GetUseTileCache(void) const; /// \brief /// Sets the tile caching option value. /// /// \remarks /// This option specifies whether using the tile caching method to query the raster data. /// The default value is true. /// /// \return /// Returns nothing. /// FDOWMS_API void SetUseTileCache(FdoBoolean value); ... }
Managed Code
/// <summary> /// The FdoWmsOvRasterDefinition class defines the physical overrides for a raster property in a WMS FDO schema. /// </summary> public __gc class OvRasterDefinition : public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalElementMapping { ... /// <summary> Gets the tile caching option value. </summary> /// <returns> Returns a FdoBoolean indicating whether using tile cache or not. </returns> /// <remarks> This option specifies whether using the tile caching method to query the raster data. /// The default value is true.</remarks> __property System::Boolean get_UseTileCache(); /// <summary> Sets the tile caching option value. </summary> /// <returns> Returns nothing. </returns> /// <remarks> This option specifies whether using the tile caching method to query the raster data. /// The default value is true.</remarks> __property System::Void set_UseTileCache(System::Boolean value); ... }
Configuration xml document:
<RasterDefinition name="Image"> ... <UseTileCache>True</UseTileCache> ... </RasterDefinition>
Test Plan
Existing unit tests will be expanded to test the proposed enhancements defined above.
Funding/Resources
Autodesk to provide resources / funding to update WMS Override API.
Attachments (1)
- wmstileproblem.jpg (9.1 KB ) - added by 17 years ago.
Download all attachments as: .zip