]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/geometry/test/algorithms/set_operations/difference/difference_linear_linear.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / geometry / test / algorithms / set_operations / difference / difference_linear_linear.cpp
index 701ec46124333764fbc3ce65ef8e90eba1c5dbfe..485a3418b5306e02c5bfafd91b9b989c942741d9 100644 (file)
@@ -1508,3 +1508,35 @@ BOOST_AUTO_TEST_CASE( test_difference_ml_ml_spikes )
          "mlmldf-spikes-19"
          );
 }
+
+BOOST_AUTO_TEST_CASE( test_difference_ls_mls_geo_rad )
+{
+    typedef bg::model::point<double, 2, bg::cs::geographic<bg::radian> > pt;
+    typedef bg::model::linestring<pt> ls;
+    typedef bg::model::multi_linestring<ls> mls;
+
+    bg::srs::spheroid<double> sph_wgs84(6378137.0, 6356752.3142451793);
+    boost::geometry::strategy::intersection::geographic_segments<> wgs84(sph_wgs84);
+
+    ls g1 = from_wkt<ls>("LINESTRING(0 0, -3.14159265358979 0)");
+    mls g2 = from_wkt<mls>("MULTILINESTRING((-2.1467549799530232 -0.12217304763960295,"
+                                            "-2.5481807079117185 -0.90757121103705041,"
+                                            "-2.6529004630313784 0.85521133347722067,"
+                                            " 0.92502450355699373 0.62831853071795796,"
+                                            "-2.5307274153917754 0,"
+                                            " 2.8099800957108676 1.0646508437165401,"
+                                            "-1.6057029118347816 -1.5009831567151219,"
+                                            " 0.2268928027592626 1.0646508437165401,"
+                                            "-2.199114857512853 -0.017453292519943278,"
+                                            " 0 0.31415926535897898,"
+                                            " 0 0.57595865315812822,"
+                                            " 1.0471975511965967 -0.73303828583761765,"
+                                            " 2.1118483949131366 -0.54105206811824158))");
+    mls out;
+    bg::difference(g1, g2, out, wgs84);
+
+    check_result(g1, g2, out,
+                 from_wkt<mls>("MULTILINESTRING((0 0,0 0.31415926535897897853),"
+                                               "(0 0.57595865315812821983,-3.1415926535897900074 0))"),
+                 "geo_lmldf-1");
+}
\ No newline at end of file