Boost logo

Geometry :

Subject: Re: [geometry] Ring intersection question
From: Will Lucas (wlucas_at_[hidden])
Date: 2014-11-06 16:26:52


On Thu, Nov 6, 2014 at 3:07 PM, Menelaos Karavelas <
menelaos.karavelas_at_[hidden]> wrote:

> Dear Will,
>
> I tried your polygons and the intersection seems to work.
> Please checkout the attached program, and let us know if you get a similar
> output. The output that I get is:
> MULTIPOLYGON(((75 150,250 150,250 75,75 75,75 150)))
>
> Best,
>
> - m.
>
>
> On 06/11/2014 10:44 μμ, Will Lucas wrote:
>
> Hi all,
>
> I have a question regarding the intersection of ring concepts using
> Boost.Geometry. I currently have two overlapping rectangles defined by the
> following WKTs:
>
> POLYGON((75 75,75 175,275 175,275 75,75 75))
> POLYGON((50 50,50 150,250 150,250 50,50 50))
>
> When I perform the intersection of these rectangles, I get the
> intersection points:
>
> POLYGON((75 150,250 75))
>
> The intersection points do not allow me to compute the area correctly
> after the intersection. Is there way to get a fully valid ring/polygon out
> of intersection, so that the area will be equal to the overlapping region?
>
> Thanks!
> Will
>
>
> _______________________________________________
> Geometry mailing listGeometry_at_[hidden]http://lists.boost.org/mailman/listinfo.cgi/geometry
>
>
>
> _______________________________________________
> Geometry mailing list
> Geometry_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/geometry
>
>
Menelaos,

Thanks for the quick response! I have tested your code, and it correctly
outputs

MULTIPOLYGON(((75 150,250 150,250 75,75 75,75 150)))

I had to comment out the is_valid calls as I'm running the Ubuntu package
(boost 1.54.0), which doesn't contain that helper method.

I'm guess the problem may be my re-mapping of the OpenCV data-types. Here
is what I currently am working with
https://gist.github.com/wlucas-DFT/0b8e1e07f34ee7e489c6

Do I need to define a polygon wrapper for the custom Contour type I have?



Geometry list run by mateusz at loskot.net