Changes between Version 4 and Version 5 of FDORfc38


Ignore:
Timestamp:
07/15/09 06:11:47 (15 years ago)
Author:
oresthalustchak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc38

    v4 v5  
    1010||Submission Date|| June 08, 2009 ||
    1111||Last Modified|| Dan Stoica[[Timestamp]]||
    12 ||Author||Orest Halustchak ||
     12||Author||Dan Stoica, Orest Halustchak ||
    1313||RFC Status||draft||
    1414||Implementation Status||draft||
     
    2727== Motivation ==
    2828
    29 Currently, this provider supports only simple polygons. The SHP specification has only a polygon type, but it accounts for multiple outer polygon loops, which basically are multi-polygons. The SHP provider is not taking advantage of this and is not returning multi-polygons when the polygons are actual multi-polygons. The main processing that is missing with the current provider is on read, it does not check the polygon details to determine whether to generate an FDO polygon or an FDO multi-polygon geometry.
     29Currently, this provider supports only simple polygons. The SHP specification defines only a polygon type, but it defines it as supporting multiple outer polygon loops, which basically are multi-polygons as defined in FDO. The FDO SHP provider is not taking advantage of this and is not returning multi-polygons when the polygons are actual multi-polygons. The main processing that is missing with the current provider is on read, it does not check the polygon details to determine whether to generate an FDO polygon or an FDO multi-polygon geometry.
    3030
    3131== Proposed Solution ==
     
    3333Modify the FDO SHP provider:
    3434
    35     * Change its capability setting to indicate that it supports multi-polygon geometry types.[[BR]]
     35    * Change its capability setting to indicate that it supports multi-polygon geometry types, FdoIGeometryCapabilities::GetGeometryTypes().[[BR]]
    3636    * On input of geometry, there is no further processing needed as the current code will save all input loops without checking whether they are outer or inner.[[BR]]
    3737    * On read of geometry, the code should check the geometry to see if there are multiple loops. If there are multiple loops, determine if there are more than one outer loops. If so, change the output geometry type to FDO multi-polygon, otherwise, leave it as polygon with interior rings.[[BR]]
     
    4040== Implications ==
    4141
    42     * The code for this is mostly done, just turned off. We will need to measure the performance impact, but the extra processing would only apply for cases where there are multiple loops. The most common case of a single loop polygon would not be processed any differently and would not have a performance impact.
     42    * The code for this is mostly done, just turned off. We will need to measure any performance impact, but the extra processing would only apply for cases where there are multiple loops. The most common case of a single loop polygon would not be processed any differently and would not have a performance impact.
    4343
    44     * The FDO geometry type will be corrected automatically on reading. The caller must expect either a polygon or a multi-polygon regardless of original geometry type on insert.
     44    * The FDO geometry type will be set accordingly on reading. The caller must expect either a polygon or a multi-polygon regardless of original geometry type on insert.
    4545
    4646== Test Plan ==