Hi Volker.

On 08/10/2014 08:32 μμ, Volker Schöch wrote:

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)))

 


I tried this example as well (see attached program and output).
What I see is that the output has 18 points (I can see that from both the dsv printout of the geometry, as well as from bg::num_points). So the resulting multi-polygon is not closed, but when you output it through bg::wkt, it is shown as closed.

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


I don't get this. There is no point to remove. The resulting multipolygon is open, but it seems it is not valid (I tried bg::is_valid on it), but have not investigated more. If there is an issue with the output, I do not think that this is closedness ot openness.

- m.

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



_______________________________________________
Geometry mailing list
Geometry@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/geometry