wiki:MapGuideRfc141

Version 3 (modified by jng, 10 years ago) ( diff )

--

MapGuide RFC 141 - GEOS upgrade

This page contains a change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.

Status

RFC Template Version(1.0)
Submission Date1 July 2014
Last Modified24 August 2014
AuthorJackie Ng
RFC Statusadopted
Implementation Statusimplemented
Proposed Milestone3.0
Assigned PSC guide(s)(when determined)
Voting History(vote date)
+1Jackie,Crispin,Kevin
+0
-0
-1
no voteTrevor,Haris,Gordon

Overview

This RFC proposes to update GEOS to the latest stable version.

Motivation

Where possible, MapGuide's thirdparty components should be regularly kept up to date to ensure they get the latest bug fixes.

GEOS is one such component. It is still on a very old version (2.2.0)

Proposed Solution

Upgrade GEOS to the latest stable release (3.4.2)

This sandbox has already implemented the GEOS upgrade as proposed by this RFC.

Adoption of this RFC means the changes in this branch will be merged back into the trunk stream.

Though not in the scope of this RFC, upgrading to the 3.4.2 release allows us to take advantage of new features such as cascaded unions and prepared geometry. Wherever applicable, we should look at taking advantage of such features to improve the MgGeometry library.

Implications

GEOS 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 See updated macro.

The result of a SymetricDifference operation is now sensitive to the order of the operands See here for an explanation

Geometry area calculations may introduce rounding errors example. The author of this RFC is uncertain whether this will significantly impact adoption of this RFC.

Test Plan

Verify existing Geometry tests still pass

Funding / Resources

Community

Note: See TracWiki for help on using the wiki.