Changes between Version 4 and Version 5 of FDORfc63


Ignore:
Timestamp:
05/17/12 13:40:27 (13 years ago)
Author:
danstoica
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc63

    v4 v5  
    2323== Overview ==
    2424
    25 This RFC is for adding a in-memory Spatial Index to FDO Spatial project.
     25This RFC is for adding an in-memory Spatial Index to the FDO Spatial project.
    2626
    2727== Motivation ==
     
    4545/// \ingroup (enums)
    4646/// \brief
    47 /// FdoSpatialIndexMode is an enumeration of the types of the Spatial Index,
    48 /// representing the granularity.
     47/// FdoSpatialIndexMode is an enumeration of the types of the Spatial Index
    4948enum FdoSpatialIndexMode
    5049{
    51     /// Mode #1 - Regular Spatial Index: one entry in the rtree for the entire geometry
     50    /// Mode #1 - Regular Spatial Index: one entry in the SI for the entire geometry
    5251    FdoSpatialIndex_ByGeometriesBoundingBox = 0,
    5352
    54     /// Mode #2 - The geometries are broken into segments and each segment has an entry in the rtree.
     53    /// Mode #2 - The geometries are broken into segments and each segment has an entry in the SI.
    5554    /// The segment index is contiguous over parts and subparts.
    5655    FdoSpatialIndex_BySegmentsMultipleFeatures = 1,
    5756
    5857    /// Mode #3 - Just one geometry is allowed. The geometry is broken into segments
    59     /// and each segment has an entry in the rtree. The part and subpart are encoded to allow
     58    /// and each segment has an entry in the SI. The part and subpart are encoded to allow
    6059    /// for sorting and fast processing.
    6160    FdoSpatialIndex_BySegmentsSingleFeature = 2
     
    108107    ///
    109108    /// \remarks
    110     /// Applies for Mode #2 and #3. The Featid is encoded as follows:
     109    /// Applies for Mode #2 and #3. The FeatId is encoded as follows:
    111110    /// Mode #2:
    112111    ///      32 bits (0-31)  - 1-based featId #
    113     ///      32 bits (32-63) - vertex # (contiguous)
     112    ///      32 bits (32-63) - 1-based segment # (contiguous)
    114113    ///
    115114    /// Mode #3:
    116     ///         0 bits          - featId # (will be ignored)
     115    ///     0 bits          - featId # (will be ignored)
    117116    ///      16 bits (0-15)  - part # (for multi-features) max. 65534
    118117    ///      16 bits (16-31) - subpart # (e.g. polygons with interior rings) max 65534
    119     ///      32 bits (32-63) - vertex #
     118    ///      32 bits (32-63) - 1-based segment #
    120119    ///
    121120    /// \param featId
     
    221220== Remarks ==
    222221
    223 The API proposes 3 modes. This provides maximum flexibility for various scenarios.
    224 For mode #2 and #3 the client code has to implement a segment visitor in order to retrieve a segment from the geomtry.
    225 
    226 The actual implementation will be the R-tree implementation found under Sqlite provider and developed by Traian Stanev.
     222* The API proposes 3 usage modes. This provides maximum flexibility for various scenarios.
     223* Mode 1 implements a regular spatial index, very performant
     224* For mode 2 and 3 the client code has to implement a segment visitor in order to retrieve a segment from the geometry.
     225* The actual implementation will be the R-tree implementation found under Sqlite provider and developed by Traian Stanev.
    227226
    228227== How to use this API ==
     
    289288== Managed FDO API ==
    290289
    291 The FDO Managed Interfaces will be updated in a similar manner to reflect the proposed changes.
     290The FDO Managed Interfaces will be updated if required in a similar manner to reflect the proposed changes.
    292291
    293292 
    294293== Test Plan ==
    295294
    296     * Enhance the unit tests and add roundtripping fidelity tests for !FdoInt16, !FdoInt32 and !FdoInt64 properties.
    297  
     295    * Add unit test to test the API in all modes and primary filtering with boundary conditions.
     296
    298297== !Funding/Resources ==
    299298