Changes between Initial Version and Version 1 of FDORfc13


Ignore:
Timestamp:
Dec 12, 2007, 5:28:41 PM (17 years ago)
Author:
jackwang
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc13

    v1 v1  
     1
     2
     3= FDO RFC 13 - The WMS tile caching support in the FDO =
     4
     5This page contains a request for comments document (RFC) for the FDO Open Source project. 
     6More FDO RFCs can be found on the [wiki:FDORfcs RFCs] page.
     7
     8== Status ==
     9 
     10||RFC Template Version||(1.0)||
     11||Submission Date||||
     12||Last Modified||Jack Wang [[Timestamp]]||
     13||Author||Jack Wang||
     14||RFC Status||Draft||
     15||Implementation Status ||Pending||
     16||Proposed Milestone||3.3.0.0||
     17||Assigned PSC guide(s)|| ||
     18||'''Voting History'''|| ||
     19||+1||||
     20||+0||||
     21||-0||||
     22||-1||||
     23 
     24== Overview ==
     25
     26The 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.
     27Currently, 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
     28http://wiki.osgeo.org/index.php/WMS_Tile_Caching
     29and
     30http://portal.opengeospatial.org/files/?artifact_id=23206
     31We’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.
     32 
     33To 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.
     34
     35
     36== Proposed Solution ==
     37In order to facilitate the implementation, some new WMS Override APIs will be added.
     38The following section outlines the necessary unmanaged and managed code changes as well as the corresponding configuration xml document change.
     39
     40'''Unmanaged Code'''
     41
     42{{{
     43/// \brief
     44///
     45/// The FdoWmsOvRasterDefinition class defines the physical overrides for a raster property in a WMS FDO schema.
     46class FdoWmsOvRasterDefinition : public FdoPhysicalElementMapping
     47{
     48...
     49    /// \brief
     50    /// Gets the tile caching option value.
     51    ///
     52    /// \remarks
     53    /// This option specifies whether using the tile caching method to query the raster data.
     54    /// The default value is true.
     55    ///
     56    /// \return
     57    /// Returns a FdoBoolean indicating whether using tile cache or not.
     58    ///
     59    FDOWMS_API FdoBoolean GetTileCacheOption(void) const;
     60
     61    /// \brief
     62    /// Sets the tile caching option value.
     63    ///
     64    /// \remarks
     65/// This option specifies whether using the tile caching method to query the raster data.
     66/// The default value is true.
     67    ///
     68    /// \return
     69    /// Returns nothing.
     70    ///
     71    FDOWMS_API void SetTileCacheOption(FdoBoolean value);
     72...
     73}
     74}}}
     75
     76'''Managed Code'''
     77{{{
     78/// <summary>
     79/// The FdoWmsOvRasterDefinition class defines the physical overrides for a raster property in a WMS FDO schema.
     80/// </summary>
     81public __gc class OvRasterDefinition : public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalElementMapping
     82{
     83...
     84    /// <summary> Gets the tile caching option value. </summary>
     85    /// <returns> Returns a FdoBoolean indicating whether using tile cache or not. </returns>
     86    /// <remarks> This option specifies whether using the tile caching method to query the raster data.
     87    /// The default value is true.</remarks>
     88    __property System::Boolean get_TileCacheOption ();
     89
     90    /// <summary> Sets the tile caching option value. </summary>
     91    /// <returns> Returns nothing. </returns>
     92    /// <remarks> This option specifies whether using the tile caching method to query the raster data.
     93    /// The default value is true.</remarks>
     94    __property System::Void set_TileCacheOption(System::Boolean value);
     95...
     96}
     97}}}
     98
     99'''Configuration xml document:'''
     100{{{
     101<RasterDefinition name="Image">
     102...
     103  <TileCacheOption>True</TileCacheOption >
     104...
     105</RasterDefinition>
     106}}}
     107
     108
     109
     110
     111== Test Plan ==
     112
     113Existing unit tests will be expanded to test the proposed enhancements defined above.
     114
     115== Funding/Resources ==
     116
     117Autodesk to provide resources / funding to update WMS Override API.