[geos-devel] GEOS NG Regression Review

Paul Ramsey pramsey at cleverelephant.ca
Tue Sep 15 18:03:03 PDT 2020


All, after receiving the latest improvement from Martin, to allow overlay to return mixed dimensionality results, which harmonizes with old behaviour, and porting that improvement, I have flipped the default overlay functions (setting DISABLE_OVERLAYNG to OFF) to use NG, and then run the GEOS internal regression suite.

That means the following operations all use NG overlay, instead of the old overlay.

Geometry->Intersection(Geometry)
Geometry->Difference(Geometry)
Geometry->SynDifference(Geometry)
Geometry->Union(Geometry)
Geometry->Union()

Doing this run over the whole suite basically compares the behaviour of the new overlay to all the examples we have of the old behaviour.

The result of that work can be reviewed here:

https://docs.google.com/document/d/1TDm2aR4a7O41-soS-25Xog1EdQcjmvKCnKltxjbxOC0/edit#

In general, all the failures are entirely defensible. The new results aren't the same as the old ones, but they are different in ways that generally fall into a "who cares" bucket or a "that's actually better" bucket.

If we are to move to NG as our default overlay engine, I'd simply recommend updating the tests to expect the NG results. They seem just fine to me.

The next major effort of testing on NG overlay needs to be the PostGIS regression suite, which has a lot of routines that will exercise the code in interesting and different ways.

ATB,

P


PS - Although we know that GEOS has Z-coordinate handling in overlay, we have no regression failures in Z-coordinate handling, which means we probably are low on unit and integration tests for that behaviour. Something to improve when we get that last compatibility feature from Martin.



More information about the geos-devel mailing list