Changes between Version 15 and Version 16 of FDORfc49


Ignore:
Timestamp:
Jun 15, 2010, 7:56:04 AM (14 years ago)
Author:
romicadascalescu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc49

    v15 v16  
    4141Here we try to change the FDO API for spatial evaluation (!FdoSpatialUtility - FDOSpatial.dll) used by providers like SQLite, SDF, SHP and not providers like !KingOracle or SQL Spatial Server where the spatial evaluation is done on the server side.
    4242
    43 The idea behind this RFC is to add support in FDO API for passing the tolerance into the spatial utility. FDO has already support for tolerances, so users can provide them when a new spatial context is created. Also those values can later be obtained using a spatial context reader. Each class in FDO has a dedicated spatial context reader. The provider can get those tolerances (XY and Z) by getting the spatial context of the class before running the spatial evaluation. Since providers might want to have 0.0 tolerances we cannot pass default values as 0.0, so we can pass 1e-10 same as before this RFC, which is the default value used by FDO API. If the spatial condition is a 2D evaluation the Z tolerance will be ignored.
     43The idea behind this RFC is to add support in FDO API for passing the tolerance into the spatial utility. FDO has already support for tolerances, so users can provide them when a new spatial context is created. Also those values can later be obtained using a spatial context reader. Each class in FDO has a dedicated spatial context reader. The provider can get those tolerances (XY and Z) by getting the spatial context of the class before running the spatial evaluation. If the spatial condition is a 2D evaluation the Z tolerance will be ignored.
    4444
    4545== Proposed Solution ==
    4646
    47 Add two new parameters which by default will be 1e-10. The default tolerance used is 1e-10 and valid range is >=0 (that is, 0 is valid in case the user really wants 0). If an invalid value is provided, the default then will be used. We can modify SQLite and possible SDF providers only, rest of the providers will remain unchanged and if needed will be changed later. All internal functions from spatial FDO module will be updated to add extra parameters for tolerance.
     47Add two new parameters which by default will be 1e-10. The default tolerance used is 1e-10 and valid range is > 0. If an invalid value is provided, the default then will be used. We can modify SQLite and possible SDF providers only, rest of the providers will remain unchanged and if needed will be changed later. All internal functions from spatial FDO module will be updated to add extra parameters for tolerance.
    4848
    4949{{{
     
    7070            /// \param toleranceXY
    7171            /// Input XY tolerance to evaluate the spatial condition
    72             /// Default tolerance used is 1e-10. Valid range is >=0 (that is, 0 is valid in case the
    73             /// user really wants 0). If an invalid value is provided, the default then will be used
     72            /// Default tolerance used is 1e-10. Valid range is >0
     73            /// If an invalid value is provided, the default then will be used
    7474            ///
    7575            /// \param toleranceZ
    7676            /// Input Z tolerance to evaluate the spatial condition in case we have 3D geometries
    77             /// Default tolerance used is 1e-10. Valid range is >=0 (that is, 0 is valid in case the
    78             /// user really wants 0). If an invalid value is provided, the default then will be used
     77            /// Default tolerance used is 1e-10. Valid range is >0
     78            /// If an invalid value is provided, the default then will be used
    7979            ///
    8080            /// \return
     
    9999            /// \param toleranceXY
    100100            /// Input XY tolerance to evaluate the spatial condition
    101             /// Default tolerance used is 1e-10. Valid range is >=0 (that is, 0 is valid in case the
    102             /// user really wants 0). If an invalid value is provided, the default then will be used
     101            /// Default tolerance used is 1e-10. Valid range is >0
     102            /// If an invalid value is provided, the default then will be used
    103103            ///
    104104            /// \return
     
    122122            /// \param toleranceXY
    123123            /// Input XY tolerance to evaluate the spatial condition
    124             /// Default tolerance used is 1e-10. Valid range is >=0 (that is, 0 is valid in case the
    125             /// user really wants 0). If an invalid value is provided, the default then will be used
     124            /// Default tolerance used is 1e-10. Valid range is >0
     125            /// If an invalid value is provided, the default then will be used
    126126            ///
    127127            /// \return
     
    167167    /// \param toleranceXY
    168168    /// Input tolerance to used to compare XY coordinates
    169     /// Default tolerance used is 1e-10. Valid range is >=0 (that is, 0 is valid in case the
    170     /// user really wants 0). If an invalid value is provided, the default then will be used
     169    /// Default tolerance used is 1e-10. Valid range is >0
     170    /// If an invalid value is provided, the default then will be used
    171171    ///
    172172    /// \param toleranceZ
    173173    /// Input tolerance to used to compare Z coordinate
    174     /// Default tolerance used is 1e-10. Valid range is >=0 (that is, 0 is valid in case the
    175     /// user really wants 0). If an invalid value is provided, the default then will be used
     174    /// Default tolerance used is 1e-10. Valid range is >0
     175    /// If an invalid value is provided, the default then will be used
    176176    ///
    177177    /// \return
     
    201201    /// \param toleranceXY
    202202    /// Input tolerance to used to compare XY coordinates
    203     /// Default tolerance used is 1e-10. Valid range is >=0 (that is, 0 is valid in case the
    204     /// user really wants 0). If an invalid value is provided, the default then will be used
     203    /// Default tolerance used is 1e-10. Valid range is >0
     204    /// If an invalid value is provided, the default then will be used
    205205    ///
    206206    /// \return
     
    230230    /// \param toleranceXY
    231231    /// Input tolerance to used to compare XY coordinates
    232     /// Default tolerance used is 1e-10. Valid range is >=0 (that is, 0 is valid in case the
    233     /// user really wants 0). If an invalid value is provided, the default then will be used
     232    /// Default tolerance used is 1e-10. Valid range is >0
     233    /// If an invalid value is provided, the default then will be used
    234234    ///
    235235    /// \return