Wrong result in intersection of linestrings
The following piece of code returns wrong result for intersection of linestrings. In particular it returns false while the two linestrings have a common point.
Produced on Ubuntu 14.04.3 with gcc 4.8.4
#include <iostream>
#include <string>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/geometries.hpp>
namespace bg = boost::geometry;
int main()
{
typedef bg::model::point<double, 2,
bg::cs::geographic<bg::radian> > point;
typedef bg::model::linestring<point> linestring;
linestring ls1, ls2;
bg::read_wkt("LINESTRING(0 -0.31415926535897897853,0.26179938779914918578 0,-0.034906585039886556254 0.13962634015954622502,-0.12217304763960294689 0.12217304763960294689)", ls1);
bg::read_wkt("LINESTRING(-0.034906585039886556254 0.13962634015954622502,-0.26179938779914918578 0)", ls2);
std::cout << bg::intersects(ls1, ls2) << std::endl;
return 0;
}
Change History
(2)
Resolution: |
→ fixed
|
Status: |
new → closed
|
Milestone: |
To Be Determined → Boost 1.65.0
|
GitHub: https://github.com/boostorg/geometry/pull/407
Fix: https://github.com/boostorg/geometry/commit/bcae6f1e81127ad02dca8effb5c539bf8a95ff46