id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 13593,intersects assertion failure for linestrings in spherical_equatorial coordinates,swordvetal@…,Barend Gehrels,"I have found a specific case when boost::geometry::intersects fails with assertion ""lhs.denominator() != 0"" on linestrings with equal (or very close) segments in spherical_equatorial coordinate system. Here is the test example: {{{ #include #include #include #include #include int main() { using GeoCoordSystem = boost::geometry::cs::spherical_equatorial; using GeoPoint = boost::geometry::model::d2::point_xy; boost::geometry::model::linestring line1, line2; boost::geometry::read_wkt(""linestring(11.5800734 48.2523631, 11.580114 48.2524051, 11.5801572 48.2524435)"", line1); boost::geometry::read_wkt(""linestring(11.5800734 48.2523631, 11.580114 48.2524051, 11.5801572 48.2524434)"", line2); std::cout << ""Using boost v"" << BOOST_VERSION << std::endl; const bool b = boost::geometry::intersects(line1, line2); std::cout << ""Intersects: "" << (b ? ""YES"" : ""NO"") << std::endl; return 0; } }}} Program output is the following: {{{ Using boost v106700 a.out: /opt/Storage/Install/boost_1_67_0/boost/geometry/policies/robustness/segment_ratio.hpp:54: static bool boost::geometry::detail::segment_ratio::less::apply(const Ratio&, const Ratio&) [with Ratio = boost::geometry::segment_ratio; Type = double]: Assertion `lhs.denominator() != 0' failed. Aborted (core dumped) }}} The issue is reproducible in both boost v1.63 and latest v1.67.",Bugs,new,To Be Determined,geometry,Boost 1.67.0,Problem,,"geometry, intersects, spherical_equatorial, linestrings",