Changes between Initial Version and Version 1 of MapGuideRfc141


Ignore:
Timestamp:
Jun 30, 2014, 10:20:41 AM (10 years ago)
Author:
jng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc141

    v1 v1  
     1
     2= !MapGuide RFC 141 - GEOS upgrade =
     3
     4This page contains a change request (RFC) for the !MapGuide Open Source project.
     5More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page.
     6
     7
     8== Status ==
     9
     10||RFC Template Version||(1.0)||
     11||Submission Date||1 July 2014||
     12||Last Modified||||
     13||Author||Jackie Ng||
     14||RFC Status||draft||
     15||Implementation Status||||
     16||Proposed Milestone||3.0||
     17||Assigned PSC guide(s)||(when determined)||
     18||'''Voting History'''||(vote date)||
     19||+1||||
     20||+0||||
     21||-0||||
     22||-1||||
     23||no vote|| ||
     24
     25== Overview ==
     26
     27This RFC proposes to update GEOS to the latest stable version.
     28
     29== Motivation ==
     30
     31Where possible, MapGuide's thirdparty components should be regularly kept up to date to ensure they get the latest bug fixes.
     32
     33GEOS is one such component. It is still on a very old version (2.2.0)
     34
     35== Proposed Solution ==
     36
     37Upgrade GEOS to the latest stable release (3.4.2)
     38
     39[http://trac.osgeo.org/mapguide/browser/sandbox/jng/geos34x This sandbox] has already implemented the GEOS upgrade as proposed by this RFC.
     40
     41Adoption of this RFC means the changes in this branch will be merged back into the trunk stream.
     42
     43Though not in the scope of this RFC, upgrading to the 3.4.2 release allows us to take advantage of new features such as
     44[http://blog.cleverelephant.ca/2009/01/must-faster-unions-in-postgis-14.html cascaded unions] and [http://blog.cleverelephant.ca/2008/10/postgis-performance-prepared-geometry.html prepared geometry]. Wherever applicable,
     45we should look at taking advantage of such features to improve the MgGeometry library.
     46
     47== Implications ==
     48
     49GEOS 3.0.0 introduces semantic changes to exception handling. GEOSExceptions are now caught by const reference and the MgGeometry macros need to be updated to catch GEOSExceptions in this way [http://trac.osgeo.org/mapguide/browser/sandbox/jng/geos34x/Common/Geometry/GeometryExceptionDef.h See updated macro].
     50
     51The result of a SymetricDifference operation is now sensitive to the order of the operands [http://trac.osgeo.org/mapguide/browser/sandbox/jng/geos34x/Server/src/UnitTesting/TestGeometry.cpp#L1549 See here for an explanation]
     52
     53Geometry area calculations may introduce rounding errors [http://trac.osgeo.org/mapguide/browser/sandbox/jng/geos34x/Server/src/UnitTesting/TestGeometry.cpp#L2188 example]. The author of this RFC is uncertain whether this will significantly impact adoption of this RFC.
     54
     55== Test Plan ==
     56
     57Verify existing Geometry tests still pass
     58
     59== Funding / Resources ==
     60
     61Community