Changes between Version 15 and Version 16 of FDORfc49
- Timestamp:
- 06/15/10 07:56:04 (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
FDORfc49
v15 v16 41 41 Here 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. 42 42 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.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. If the spatial condition is a 2D evaluation the Z tolerance will be ignored. 44 44 45 45 == Proposed Solution == 46 46 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.47 Add 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. 48 48 49 49 {{{ … … 70 70 /// \param toleranceXY 71 71 /// 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 the73 /// user really wants 0).If an invalid value is provided, the default then will be used72 /// Default tolerance used is 1e-10. Valid range is >0 73 /// If an invalid value is provided, the default then will be used 74 74 /// 75 75 /// \param toleranceZ 76 76 /// 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 the78 /// user really wants 0).If an invalid value is provided, the default then will be used77 /// Default tolerance used is 1e-10. Valid range is >0 78 /// If an invalid value is provided, the default then will be used 79 79 /// 80 80 /// \return … … 99 99 /// \param toleranceXY 100 100 /// 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 the102 /// user really wants 0).If an invalid value is provided, the default then will be used101 /// Default tolerance used is 1e-10. Valid range is >0 102 /// If an invalid value is provided, the default then will be used 103 103 /// 104 104 /// \return … … 122 122 /// \param toleranceXY 123 123 /// 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 the125 /// user really wants 0).If an invalid value is provided, the default then will be used124 /// Default tolerance used is 1e-10. Valid range is >0 125 /// If an invalid value is provided, the default then will be used 126 126 /// 127 127 /// \return … … 167 167 /// \param toleranceXY 168 168 /// 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 the170 /// user really wants 0).If an invalid value is provided, the default then will be used169 /// Default tolerance used is 1e-10. Valid range is >0 170 /// If an invalid value is provided, the default then will be used 171 171 /// 172 172 /// \param toleranceZ 173 173 /// 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 the175 /// user really wants 0).If an invalid value is provided, the default then will be used174 /// Default tolerance used is 1e-10. Valid range is >0 175 /// If an invalid value is provided, the default then will be used 176 176 /// 177 177 /// \return … … 201 201 /// \param toleranceXY 202 202 /// 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 the204 /// user really wants 0).If an invalid value is provided, the default then will be used203 /// Default tolerance used is 1e-10. Valid range is >0 204 /// If an invalid value is provided, the default then will be used 205 205 /// 206 206 /// \return … … 230 230 /// \param toleranceXY 231 231 /// 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 the233 /// user really wants 0).If an invalid value is provided, the default then will be used232 /// Default tolerance used is 1e-10. Valid range is >0 233 /// If an invalid value is provided, the default then will be used 234 234 /// 235 235 /// \return