I have many more examples at hand, if you need them. How did you manage to fix that one particular case from the ticket, and still create closing points in “all” other cases? ;-)

 

Regards

   Volker

 

 

--
Volker Schöch | vschoech@think-cell.com
Senior Software Engineer


We are looking for C++ Developers: http://www.think-cell.com/career

From: Geometry [mailto:geometry-bounces@lists.boost.org] On Behalf Of Volker Schöch
Sent: Mittwoch, 8. Oktober 2014 19:33
To: Boost.Geometry library mailing list (geometry@lists.boost.org)
Subject: [geometry] #8376: difference of non-closed polygons returns closed polygon

 

https://svn.boost.org/trac/boost/ticket/8376

 

I’m confused. This ticket is marked resolved. Yet, in the following instance, difference still returns a closed polygon in 1.56.0:

 

A: MULTIPOLYGON(((1920 1660,1920 1462,3720 1462,3720 3262,1920 3262,1920 1958,2218 2189),(3718 1561,3360 2233,3718 1957),(2818 2653,2218 2189,2818 3253,3360 2233)))

B: MULTIPOLYGON(((1918 2155,1918 1957,2818 2653,3718 1957,3718 2154,2818 3055)))

difference(a, b) -> closed: MULTIPOLYGON(((2218 2189,1920 1660,1920 1462,3720 1462,3720 3262,1920 3262,1920 2157,2562 2799,2818 3253,3043 2829,3718 2154,3718 1957,3718 1561,3360 2233,3718 1957,3360 2234,3360 2233,2818 2653,2218 2189)))

 

What’s even worse, the closing point can no longer be removed by applying boost::geometry::correct, boost::geometry::remove_spikes, or boost::geometry::unique. I used to rely on these methods as a work-around to fix the output from difference for boost 1.55.0, but now it seems that with 1.56.0, not only the original issue isn’t fixed but even the work-around isn’t available any more.

 

Am I missing something?

Thanks!

   Volker

--
Volker Schöch | vschoech@think-cell.com
Senior Software Engineer


We are looking for C++ Developers: http://www.think-cell.com/career


think-cell Software GmbH

http://www.think-cell.com

Chausseestr. 8/E

phone / fax

+49 30 666473-10 / -19

10115 Berlin, Germany

US phone / fax

+1 800 891 8091 / +1 212 504 3039

Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306

Directors: Dr. Markus Hannebauer, Dr. Arno Schödl