Boost logo

Boost Users :

From: Giorgino R (giorginor21_at_[hidden])
Date: 2019-10-03 16:04:14


Hi there,

Is there any boost functionality to "split" a linestring with an
intersecting point?
I was expecting that boost::geometry::intersection could return a
multi-linestring (of size two) or a vector of linestrings (size two).

For example, please see a very simple case below which doesn't compile:

  point_2d pt(0.5, 0);
> linestring_2d ls({ point_2d(0, 0), point_2d(1, 0), point_2d(3, 0),
> point_2d(5, 0) });
> std::vector<linestring_2d> inter;
> bg::intersection(pt, ls, inter);

Is there any way to get inter vector with two linestrings
(linestring_2d({point_2d(0, 0), point_2d(0.5, 0) }) and
linestring_2d({point_2d(0.5, 0), point_2d(1, 0), point_2d(3, 0),
point_2d(5, 0) }) ) or any multi geometry container that will hold the
spatial information of two lines connected in this point? Or should I
create these two lines myself by working out which points of the linestring
are left and right of the intersecting point?

Many thanks in advance.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net