[geos-commits] [SCM] GEOS branch master updated. b3cea2a7aa690b277cdf000a2b04e8f6ac0ca523

git at osgeo.org git at osgeo.org
Fri Aug 7 10:39:14 PDT 2020


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".

The branch, master has been updated
       via  b3cea2a7aa690b277cdf000a2b04e8f6ac0ca523 (commit)
      from  bacd58058025b25de93fb23bb78ff540ef1e3b63 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b3cea2a7aa690b277cdf000a2b04e8f6ac0ca523
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Fri Aug 7 10:39:08 2020 -0700

    Add snap-if-needed intersectionSIN mode to XMLTester that handles the misc-3 test cases. Sever the 2 failing STMLF cases from the 1800 passing ones and move the passing ones back into the active test area.

diff --git a/src/operation/overlayng/OverlayNGSnapIfNeeded.cpp b/src/operation/overlayng/OverlayNGSnapIfNeeded.cpp
index 6cc677f..5fc69e0 100644
--- a/src/operation/overlayng/OverlayNGSnapIfNeeded.cpp
+++ b/src/operation/overlayng/OverlayNGSnapIfNeeded.cpp
@@ -83,6 +83,7 @@ OverlayNGSnapIfNeeded::Overlay(const Geometry* geom0, const Geometry* geom1, int
     * in snap-rounding mode with that precision.
     */
     if (!geom0->getPrecisionModel()->isFloating()) {
+        // std::cout << std::endl << "Using fixed precision overlay." << std::endl;
         return OverlayNG::overlay(geom0, geom1, opCode, geom0->getPrecisionModel());
     }
 
@@ -95,13 +96,14 @@ OverlayNGSnapIfNeeded::Overlay(const Geometry* geom0, const Geometry* geom1, int
      */
     try {
         geom::PrecisionModel PM_FLOAT;
+        // std::cout << std::endl << "Using floating point overlay." << std::endl;
         result = OverlayNG::overlay(geom0, geom1, opCode, &PM_FLOAT);
 
         // Simple noding with no validation
         // There are cases where this succeeds with invalid noding (e.g. STMLF 1608).
         // So currently it is NOT safe to run overlay without noding validation
         //result = OverlayNG.overlay(geom0, geom1, opCode, createFloatingNoValidNoder());
-
+        // std::cout << std::endl << "Floating point overlay success." << std::endl;
         return result;
     }
     catch (const std::runtime_error &ex) {
@@ -112,6 +114,8 @@ OverlayNGSnapIfNeeded::Overlay(const Geometry* geom0, const Geometry* geom1, int
         exOriginal = ex;
     }
 
+    // std::cout << std::endl << "Floating point overlay FAILURE." << std::endl;
+
     /**
      * On failure retry using snapping noding with a "safe" tolerance.
      * if this throws an exception just let it go,
diff --git a/tests/unit/noding/snap/SnappingNoderTest.cpp b/tests/unit/noding/snap/SnappingNoderTest.cpp
index a18b8ee..6bad51a 100644
--- a/tests/unit/noding/snap/SnappingNoderTest.cpp
+++ b/tests/unit/noding/snap/SnappingNoderTest.cpp
@@ -124,6 +124,31 @@ void object::test<5> ()
     checkRounding(wkt1, wkt2, 1, expected);
 }
 
+//  testAlmostCoincidentEdge
+template<>
+template<>
+void object::test<6> ()
+{
+    std::string wkt1 = "MULTILINESTRING ((698400.5682737827 2388494.3828697307, 698402.3209180075 2388497.0819257903, 698415.3598714538 2388498.764371397, 698413.5003455497 2388495.90071853, 698400.5682737827 2388494.3828697307), (698231.847335025 2388474.57994264, 698440.416211779 2388499.05985776, 698432.582638943 2388300.28294705, 698386.666515791 2388303.40346027, 698328.29462841 2388312.88889197, 698231.847335025 2388474.57994264))";
+    std::string wkt2 = "";
+    std::string expected = "MULTILINESTRING ((698231.847335025 2388474.57994264, 698328.29462841 2388312.88889197, 698386.666515791 2388303.40346027, 698432.582638943 2388300.28294705, 698440.416211779 2388499.05985776, 698413.5003455497 2388495.90071853), (698231.847335025 2388474.57994264, 698400.5682737827 2388494.3828697307), (698400.5682737827 2388494.3828697307, 698402.3209180075 2388497.0819257903, 698415.3598714538 2388498.764371397, 698413.5003455497 2388495.90071853), (698400.5682737827 2388494.3828697307, 698413.5003455497 2388495.90071853), (698400.5682737827 2388494.3828697307, 698413.5003455497 2388495.90071853))";
+    checkRounding(wkt1, wkt2, 1, expected);
+}
+
+//  testAlmostCoincidentines
+template<>
+template<>
+void object::test<7> ()
+{
+    std::string wkt1 = "MULTILINESTRING ((698413.5003455497 2388495.90071853, 698400.5682737827 2388494.3828697307), (698231.847335025 2388474.57994264, 698440.416211779 2388499.05985776))";
+    std::string wkt2 = "";
+    std::string expected = "MULTILINESTRING ((698231.847335025 2388474.57994264, 698400.5682737827 2388494.3828697307), (698400.5682737827 2388494.3828697307, 698413.5003455497 2388495.90071853), (698400.5682737827 2388494.3828697307, 698413.5003455497 2388495.90071853), (698413.5003455497 2388495.90071853, 698440.416211779 2388499.05985776))";
+    checkRounding(wkt1, wkt2, 1, expected);
+}
+
+
+
+
 
 
 } // namespace tut
diff --git a/tests/xmltester/Makefile.am b/tests/xmltester/Makefile.am
index da5eb97..958e71b 100644
--- a/tests/xmltester/Makefile.am
+++ b/tests/xmltester/Makefile.am
@@ -122,6 +122,7 @@ SAFE_XMLTESTS= \
 	$(srcdir)/tests/robust/overlay/TestOverlay-jts-300.xml \
 	$(srcdir)/tests/robust/overlay/TestOverlay-misc-1.xml \
 	$(srcdir)/tests/robust/overlay/TestOverlay-misc-2.xml \
+	$(srcdir)/tests/robust/overlay/TestOverlay-misc-3.xml \
 	$(srcdir)/tests/robust/overlay/TestOverlay-misc-4.xml \
 	$(srcdir)/tests/robust/overlay/TestOverlay-misc-5.xml \
 	$(srcdir)/tests/robust/overlay/TestOverlay-osmwater.xml \
@@ -132,6 +133,7 @@ SAFE_XMLTESTS= \
 	$(srcdir)/tests/robust/overlay/TestOverlay-qgis-31552.xml \
 	$(srcdir)/tests/robust/overlay/TestOverlay-qgis-37032.xml \
 	$(srcdir)/tests/robust/overlay/TestOverlay-shapely-829.xml \
+	$(srcdir)/tests/robust/overlay/TestOverlay-stmlf.xml \
 	$(srcdir)/tests/issue/issue-geos-176.xml \
 	$(srcdir)/tests/issue/issue-geos-188.xml \
 	$(srcdir)/tests/issue/issue-geos-234.xml \
@@ -173,8 +175,7 @@ SAFE_XMLTESTS= \
 INVALID_OUTPUT_XMLTESTS =
 
 FAILING_XMLTESTS = \
-	$(srcdir)/tests/failure/robust-overlay-misc-3.xml \
-	$(srcdir)/tests/failure/robust-overlay-stmlf.xml \
+	$(srcdir)/tests/failure/robust-overlay-stmlf-failures.xml \
 	$(srcdir)/tests/failure/issue-geos-344.xml \
 	$(srcdir)/tests/failure/misc-TestBigNastyBuffer.xml \
 	$(srcdir)/tests/failure/misc-TestSameDirection.xml \
diff --git a/tests/xmltester/XMLTester.cpp b/tests/xmltester/XMLTester.cpp
index 1cc7cdd..c1a7831 100644
--- a/tests/xmltester/XMLTester.cpp
+++ b/tests/xmltester/XMLTester.cpp
@@ -1148,6 +1148,36 @@ XMLTester::parseTest(const tinyxml2::XMLNode* node)
             }
         }
 
+        else if(opName == "intersectionsin") {
+
+            GeomPtr gRes(parseGeometry(opRes, "expected"));
+            gRes->normalize();
+            double precision = 1.0;
+
+            if(opArg3 != "") {
+                precision = std::atof(opArg3.c_str());
+            }
+
+            profile.start();
+            geom::PrecisionModel precMod(precision);
+            GeomPtr gRealRes = OverlayNGSnapIfNeeded::Intersection(gA, gB);
+
+            profile.stop();
+
+            gRealRes->normalize();
+
+            if(gRes->compareTo(gRealRes.get()) == 0) {
+                success = 1;
+            }
+
+            actual_result = printGeom(gRealRes.get());
+            expected_result = printGeom(gRes.get());
+
+            if(testValidOutput) {
+                success &= int(testValid(gRealRes.get(), "result"));
+            }
+        }
+
 
         else if(opName == "unionsr") {
 
diff --git a/tests/xmltester/tests/failure/robust-overlay-stmlf-failures.xml b/tests/xmltester/tests/failure/robust-overlay-stmlf-failures.xml
new file mode 100644
index 0000000..752e7e3
--- /dev/null
+++ b/tests/xmltester/tests/failure/robust-overlay-stmlf-failures.xml
@@ -0,0 +1,34 @@
+<!--
+ The test cases have been taken from the robustness improvement project
+ funded by the Bavarian State Ministry of Agriculture and Forestry
+ (StMLF) and the State Survey of Bavaria (LVG). Written permission
+ to use the data for tests has been given by email on the 22 Nov 2006.
+ -->
+<run>
+	<desc>Overlay Robustness cases from StMLF (all handled by snapping)</desc>
+	<precisionModel type="FLOATING"/>
+
+
+<case><desc>414 - 2975038
+abs( area(A) - difference(A,B) - intersection(A,B) ) = 2  </desc>
+<a>
+0106000000010000000103000000010000000E00000014AE4721856850411F85EB914E3255410AD7A300886850413D0AD7933E32554185EB51A88A6850410AD7A3D02F325541AE47E15A7F685041A4703DDA32325541295C8F0278685041C3F528FC343255418FC2F5A8616850419A9999793B325541C3F5284C5E685041000000703C3255415C8FC2C559685041000000A05532554114AE47D154685041E17A142E71325541A4703D3A6268504114AE47B1683255415C8FC25570685041295C8FB25F3255419A9999297268504185EB51885E325541713D0A778268504114AE47615D32554114AE4721856850411F85EB914E325541
+</a>
+<b>
+010600000001000000010300000001000000070000002136520C83685041ED1728DC31325541315311AF7F685041110EE2E440325541FF87F7F080685041E36B3377413255413C4C442287685041AC2410C3303255419BC2C211876850412CBD7FC730325541DED34519836850410E09ADD8313255412136520C83685041ED1728DC31325541
+</b>
+<test><op name="overlayAreaTest" arg1="A" arg2="B">true</op></test>
+</case>
+
+
+<case><desc>256805 - 182216
+abs( area(A) - difference(A,B) - intersection(A,B) ) = -4  </desc>
+<a>
+0106000000010000000103000000010000000900000052B81E5598AE50418FC2F5F86D105541F6285C0F99AE5041666666E66E10554114AE47A19FAE5041E17A140E7610554152B81E65A4AE504185EB51287A10554152B81E55A8AE5041B81E859B7C1055410AD7A3A0C5AE5041AE47E1EA51105541000000A0B4AE5041EC51B8AE43105541666666069BAE5041E17A14FE6810554152B81E5598AE50418FC2F5F86D105541
+</a>
+<b>
+0106000000010000000103000000010000000900000004D39A65BAAE5041A4EE824862105541F93E0C4EB6AE5041F6100F3F68105541AAB0BEE3DAAE504132DEFFE18510554149833835E9AE50410AF37D1F71105541DAFEF324E9AE504194280489701055410A299712E9AE5041CF6E29DF6F105541502CBB8FDFAE504184F317A26710554113EFD0C1C5AE50413EEFA8065210554104D39A65BAAE5041A4EE824862105541
+</b>
+<test><op name="overlayAreaTest" arg1="A" arg2="B">true</op></test>
+</case>
+</run>
diff --git a/tests/xmltester/tests/failure/robust-overlay-misc-3.xml b/tests/xmltester/tests/robust/overlay/TestOverlay-misc-3.xml
similarity index 61%
rename from tests/xmltester/tests/failure/robust-overlay-misc-3.xml
rename to tests/xmltester/tests/robust/overlay/TestOverlay-misc-3.xml
index 5cc8068..ee308fd 100644
--- a/tests/xmltester/tests/failure/robust-overlay-misc-3.xml
+++ b/tests/xmltester/tests/robust/overlay/TestOverlay-misc-3.xml
@@ -3,17 +3,17 @@
 <case>
   <desc>AA - OLD robustness failure (works with snapping)</desc>
   <a>
-POLYGON ((301949.68 2767249.16, 301936.52 2767241.28, 301938.87 
-2767237.43, 301952.47 2767245.59, 301950.74 2767247.81, 301949.68 
+POLYGON ((301949.68 2767249.16, 301936.52 2767241.28, 301938.87
+2767237.43, 301952.47 2767245.59, 301950.74 2767247.81, 301949.68
 2767249.16))
   </a>
   <b>
-POLYGON ((302041.321 2767264.675, 301938.823 2767237.507, 301941.21 2767233.59, 301943.821 2767229.304, 
-302048.886 2767243.046, 302041.321 2767264.675))  
+POLYGON ((302041.321 2767264.675, 301938.823 2767237.507, 301941.21 2767233.59, 301943.821 2767229.304,
+302048.886 2767243.046, 302041.321 2767264.675))
   </b>
 <test>
-  <op name="intersection" arg1="A" arg2="B"> 
-  POLYGON ((301939.1370850084 2767237.5902510053, 301938.87 2767237.43, 301938.823 2767237.507, 301939.1370850084 2767237.5902510053)) 
+  <op name="intersectionSIN" arg1="A" arg2="B">
+  POLYGON ((301939.1370850084 2767237.5902510053, 301938.87 2767237.43, 301938.823 2767237.507, 301939.1370850084 2767237.5902510053))
   </op>
 </test>
 </case>
@@ -21,17 +21,17 @@ POLYGON ((302041.321 2767264.675, 301938.823 2767237.507, 301941.21 2767233.59,
 <case>
   <desc>AA - OLD robustness failure (works with snapping)</desc>
   <a>
-POLYGON ((301936.52 2767241.28, 301933.22 2767239.3, 301934.9 
-2767236.51, 301935.54 2767235.44, 301938.87 2767237.43, 301936.52 
+POLYGON ((301936.52 2767241.28, 301933.22 2767239.3, 301934.9
+2767236.51, 301935.54 2767235.44, 301938.87 2767237.43, 301936.52
 2767241.28))
   </a>
   <b>
-POLYGON ((302041.321 2767264.675, 301938.823 2767237.507, 301941.21 2767233.59, 301943.821 2767229.304, 
-302048.886 2767243.046, 302041.321 2767264.675))  
+POLYGON ((302041.321 2767264.675, 301938.823 2767237.507, 301941.21 2767233.59, 301943.821 2767229.304,
+302048.886 2767243.046, 302041.321 2767264.675))
 </b>
 <test>
-  <op name="intersection" arg1="A" arg2="B">    
-  POLYGON ((301938.823 2767237.507, 301938.87 2767237.43, 301938.86994385667 2767237.4299664493, 301938.823 2767237.507))  
+  <op name="intersectionSIN" arg1="A" arg2="B">
+  POLYGON ((301938.823 2767237.507, 301938.87 2767237.43, 301938.86994385667 2767237.4299664493, 301938.823 2767237.507))
   </op>
 </test>
 </case>
@@ -39,20 +39,20 @@ POLYGON ((302041.321 2767264.675, 301938.823 2767237.507, 301941.21 2767233.59,
 <case>
   <desc>AA - OLD robustness failure  (works with snapping)</desc>
   <a>
-POLYGON ((464664.782646596 5362148.87380619, 464664.713299 5362148.758128, 464686.806220838 5362136.92416521, 
-464713.650216607 5362122.5453135, 464711.113332785 5362117.30158834, 464707.408813375 5362110.21553566, 
-464703.323866879 5362103.23305736, 464698.945488413 5362096.31213576, 464694.461274991 5362089.42505804, 
-464625.876674576 5361951.92914952, 464622.430583893 5361944.69388208, 464535.3572 5361970.739, 
+POLYGON ((464664.782646596 5362148.87380619, 464664.713299 5362148.758128, 464686.806220838 5362136.92416521,
+464713.650216607 5362122.5453135, 464711.113332785 5362117.30158834, 464707.408813375 5362110.21553566,
+464703.323866879 5362103.23305736, 464698.945488413 5362096.31213576, 464694.461274991 5362089.42505804,
+464625.876674576 5361951.92914952, 464622.430583893 5361944.69388208, 464535.3572 5361970.739,
 464648.194399372 5362157.89548451, 464664.782646596 5362148.87380619))  </a>
   <b>
-POLYGON ((464769.977147523 5362187.88829332, 464765.146147008 5362180.84587461, 464754.387021019 5362169.93629911, 
-464747.786455245 5362160.11104076, 464734.810564627 5362148.45253107, 464725.386626381 5362135.71065214, 
-464712.646269 5362123.083073, 464727.794520848 5362149.37983229, 464738.165719397 5362165.72994593, 
-464746.257208116 5362179.45514151, 464752.378040379 5362191.80978275, 464769.977147523 5362187.88829332))  
+POLYGON ((464769.977147523 5362187.88829332, 464765.146147008 5362180.84587461, 464754.387021019 5362169.93629911,
+464747.786455245 5362160.11104076, 464734.810564627 5362148.45253107, 464725.386626381 5362135.71065214,
+464712.646269 5362123.083073, 464727.794520848 5362149.37983229, 464738.165719397 5362165.72994593,
+464746.257208116 5362179.45514151, 464752.378040379 5362191.80978275, 464769.977147523 5362187.88829332))
 </b>
 <test>
-  <op name="intersection" arg1="A" arg2="B">    
-  POINT (464712.646269 5362123.083073)  
+  <op name="intersectionSIN" arg1="A" arg2="B">
+  POINT (464712.646269 5362123.083073)
   </op>
 </test>
 </case>
@@ -60,20 +60,20 @@ POLYGON ((464769.977147523 5362187.88829332, 464765.146147008 5362180.84587461,
 <case>
   <desc>AA - OLD robustness failure  (works with snapping)</desc>
   <a>
-POLYGON ((698400.5682737827 2388494.3828697307, 698402.3209180075 
-2388497.0819257903, 698415.3598714538 2388498.764371397, 
-698413.5003455497 2388495.90071853, 698400.5682737827 
+POLYGON ((698400.5682737827 2388494.3828697307, 698402.3209180075
+2388497.0819257903, 698415.3598714538 2388498.764371397,
+698413.5003455497 2388495.90071853, 698400.5682737827
 2388494.3828697307))
 	</a>
   <b>
-POLYGON ((698231.847335025 2388474.57994264, 698440.416211779 
-2388499.05985776, 698432.582638943 2388300.28294705, 698386.666515791 
-2388303.40346027, 698328.29462841 2388312.88889197, 698231.847335025 
+POLYGON ((698231.847335025 2388474.57994264, 698440.416211779
+2388499.05985776, 698432.582638943 2388300.28294705, 698386.666515791
+2388303.40346027, 698328.29462841 2388312.88889197, 698231.847335025
 2388474.57994264))
 	</b>
 <test>
-  <op name="intersection" arg1="A" arg2="B">    
-  LINESTRING (698413.5003455497 2388495.90071853, 698400.5682737827 2388494.3828697307)  
+  <op name="intersectionSIN" arg1="A" arg2="B">
+  LINESTRING (698413.5003455497 2388495.90071853, 698400.5682737827 2388494.3828697307)
   </op>
 </test>
 </case>
@@ -82,19 +82,19 @@ POLYGON ((698231.847335025 2388474.57994264, 698440.416211779
 <case>
   <desc>AA - OLD robustness failure (works with snapping)</desc>
   <a>
-POLYGON ((698265.5760207245 2388415.007869463, 698266.5171698363 
-2388416.456984281, 698272.2367250263 2388406.868318228, 
-698271.2748419731 2388405.3872787533, 698265.5760207245 
+POLYGON ((698265.5760207245 2388415.007869463, 698266.5171698363
+2388416.456984281, 698272.2367250263 2388406.868318228,
+698271.2748419731 2388405.3872787533, 698265.5760207245
 2388415.007869463))
 	</a>
   <b>
-POLYGON ((698230.86813842 2388473.60074604, 698104.551776442 
-2388363.93072634, 698321.933422637 2388319.86687914, 698230.86813842 
+POLYGON ((698230.86813842 2388473.60074604, 698104.551776442
+2388363.93072634, 698321.933422637 2388319.86687914, 698230.86813842
 2388473.60074604))
 	</b>
 <test>
-  <op name="intersection" arg1="A" arg2="B">    
-  POLYGON ((698265.5760207245 2388415.007869463, 698265.5760207246 2388415.007869463, 698271.2748419731 2388405.3872787533, 698265.5760207245 2388415.007869463))  
+  <op name="intersectionSIN" arg1="A" arg2="B">
+  POLYGON ((698265.5760207245 2388415.007869463, 698265.5760207246 2388415.007869463, 698271.2748419731 2388405.3872787533, 698265.5760207245 2388415.007869463))
   </op>
 </test>
 </case>
diff --git a/tests/xmltester/tests/failure/robust-overlay-stmlf.xml b/tests/xmltester/tests/robust/overlay/TestOverlay-stmlf.xml
similarity index 99%
rename from tests/xmltester/tests/failure/robust-overlay-stmlf.xml
rename to tests/xmltester/tests/robust/overlay/TestOverlay-stmlf.xml
index e1dae7e..7c1dfce 100644
--- a/tests/xmltester/tests/failure/robust-overlay-stmlf.xml
+++ b/tests/xmltester/tests/robust/overlay/TestOverlay-stmlf.xml
@@ -9,16 +9,6 @@
 	<precisionModel type="FLOATING"/>
 
 
-<case><desc>414 - 2975038
-abs( area(A) - difference(A,B) - intersection(A,B) ) = 2  </desc>
-<a>
-0106000000010000000103000000010000000E00000014AE4721856850411F85EB914E3255410AD7A300886850413D0AD7933E32554185EB51A88A6850410AD7A3D02F325541AE47E15A7F685041A4703DDA32325541295C8F0278685041C3F528FC343255418FC2F5A8616850419A9999793B325541C3F5284C5E685041000000703C3255415C8FC2C559685041000000A05532554114AE47D154685041E17A142E71325541A4703D3A6268504114AE47B1683255415C8FC25570685041295C8FB25F3255419A9999297268504185EB51885E325541713D0A778268504114AE47615D32554114AE4721856850411F85EB914E325541
-</a>
-<b>
-010600000001000000010300000001000000070000002136520C83685041ED1728DC31325541315311AF7F685041110EE2E440325541FF87F7F080685041E36B3377413255413C4C442287685041AC2410C3303255419BC2C211876850412CBD7FC730325541DED34519836850410E09ADD8313255412136520C83685041ED1728DC31325541
-</b>
-<test><op name="overlayAreaTest" arg1="A" arg2="B">true</op></test>
-</case>
 
 <case><desc>880 - 2975626
 abs( area(A) - difference(A,B) - intersection(A,B) ) = -2  </desc>
@@ -5245,16 +5235,6 @@ abs( area(A) - difference(A,B) - intersection(A,B) ) = 3  </desc>
 <test><op name="overlayAreaTest" arg1="A" arg2="B">true</op></test>
 </case>
 
-<case><desc>256805 - 182216
-abs( area(A) - difference(A,B) - intersection(A,B) ) = -4  </desc>
-<a>
-0106000000010000000103000000010000000900000052B81E5598AE50418FC2F5F86D105541F6285C0F99AE5041666666E66E10554114AE47A19FAE5041E17A140E7610554152B81E65A4AE504185EB51287A10554152B81E55A8AE5041B81E859B7C1055410AD7A3A0C5AE5041AE47E1EA51105541000000A0B4AE5041EC51B8AE43105541666666069BAE5041E17A14FE6810554152B81E5598AE50418FC2F5F86D105541
-</a>
-<b>
-0106000000010000000103000000010000000900000004D39A65BAAE5041A4EE824862105541F93E0C4EB6AE5041F6100F3F68105541AAB0BEE3DAAE504132DEFFE18510554149833835E9AE50410AF37D1F71105541DAFEF324E9AE504194280489701055410A299712E9AE5041CF6E29DF6F105541502CBB8FDFAE504184F317A26710554113EFD0C1C5AE50413EEFA8065210554104D39A65BAAE5041A4EE824862105541
-</b>
-<test><op name="overlayAreaTest" arg1="A" arg2="B">true</op></test>
-</case>
 
 <case><desc>256885 - 182216
 abs( area(A) - difference(A,B) - intersection(A,B) ) = 4  </desc>

-----------------------------------------------------------------------

Summary of changes:
 src/operation/overlayng/OverlayNGSnapIfNeeded.cpp  |  6 +-
 tests/unit/noding/snap/SnappingNoderTest.cpp       | 25 ++++++++
 tests/xmltester/Makefile.am                        |  5 +-
 tests/xmltester/XMLTester.cpp                      | 30 +++++++++
 .../failure/robust-overlay-stmlf-failures.xml      | 34 ++++++++++
 .../overlay/TestOverlay-misc-3.xml}                | 74 +++++++++++-----------
 .../overlay/TestOverlay-stmlf.xml}                 | 20 ------
 7 files changed, 134 insertions(+), 60 deletions(-)
 create mode 100644 tests/xmltester/tests/failure/robust-overlay-stmlf-failures.xml
 rename tests/xmltester/tests/{failure/robust-overlay-misc-3.xml => robust/overlay/TestOverlay-misc-3.xml} (61%)
 rename tests/xmltester/tests/{failure/robust-overlay-stmlf.xml => robust/overlay/TestOverlay-stmlf.xml} (99%)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list