[geos-devel] Re: [GEOS] #527: Union and UnaryUnion both fail at correctly node input lines

Sandro Santilli strk at keybit.net
Tue Apr 3 02:37:14 EDT 2012


On Mon, Apr 02, 2012 at 10:13:16PM -0700, Martin Davis wrote:
> JTS uses the FastNodingValidator to check for correctly noded line
> arrangements.  Basically it checks for any interior-interior segment
> intersections, using indexing to speed things up.
> 
> And yes, the OGC operation semantics aren't fully capable when it
> comes to more specific uses like checking noding.  That's one reason
> I introduced the boundary-node rule.
> 
> The Polygonizer is fine with closed lines (as long as, as always,
> the linework is FULLY noded).
> 
> This issue is just one more example of a robustness failure.

Do you think the use of a selected Noder might handle such cases
better than relying on Union operation to do noding ?

It seems to me that GeometryGraph class (used by overlay ops)
uses EdgeIntersectionList and friends to perform noding, rather
than the "noding" package. I've been thinking that this specific
case of a noding failure could have been resolved by an
IteratedNoder (just guessing that the problem is in a splitting
node modifying an edge shape to cross another existing edge).

--strk;

  ,------o-. 
  |   __/  |    Delivering high quality PostGIS 2.0 !
  |  / 2.0 |    http://strk.keybit.net - http://vizzuality.com
  `-o------'



More information about the geos-devel mailing list