Subject: Re: [geometry] difference algorithm produces invalid polygon?
From: Volker Schöch (vschoech_at_[hidden])
Date: 2012-03-01 03:16:49
> > Strictly speaking, this means that your algorithms are not closed (domain of definition of f is not a superset of the image of f) which leaves me scratching my head with regard to the definition of "valid" polygons (I understand it's a given by OGC and hardly debatable).
> Yes, I understand this though I did not see it until now. But admitted, did not heavily test with all kinds of integer input.
While you are thinking about these issues, one more thought: Is an empty (or inversed) box a valid box? If so, special care has to be taken in boost::geometry::convert(). The convert() algorithm currently does not support box -> multi-polygon, but if it did, should an empty box result in an empty set of polygons? And what does this mean for box -> polygon?
I'm not deeply enough involved to be sure about the right answers here. Just asking questions actually that are bound to pop up sooner or later anyway.
Then again, if these issues are "defined-away" by declaring an empty or inverse box "not valid", the closedness/rounding issue is rearing its ugly head again wrt boxes as well.
> To make things more complicated, a "self-touching" polygon is actually not having a spike (IIRC). It has a self-tangency that is at most one point, and not a linear thing... Maybe my message about this was a bit misleading.
Thank you for the clarification. You were not misleading, I think I got that straight. Those are two different but related issues.
> Circular features were planned [...] But currently they are out of scope - I mean: we first want to concentrate on the quality of the current set, and completeness of the combinations of the current algorithms.
Good to hear! There's no debate about the priorities but it is reassuring to learn that circular (probably oval) features are part of your plans for future development of boost::geometry.
Thank you as always,
and looking forward to hearing from you again wrt to closedness/rounding,
-- Volker Schöch | vschoech_at_[hidden] Senior Software Engineer think-cell Software GmbH | Chausseestr. 8/E | 10115 Berlin | Germany http://www.think-cell.com | phone +49 30 666473-10 | US phone +1 800 891 8091 Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306 Directors: Dr. Markus Hannebauer, Dr. Arno Schoedl
Geometry list run by mateusz at loskot.net