#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+-------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Keywords: ------------------------+-------------------------- OverlayNG difference crashes with a failed assertion when fed valid data in input. The input data can be found in https://github.com/qgis/QGIS/issues/39029 Old generation results in TopologyException. New generation crashes: {{{ postgres: ../../../../../src/operation/overlayng/EdgeMerger.cpp:57: std::vector<geos::operation::overlayng::Edge*> geos::operation::overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed. }}} -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Changes (by strk): * Attachment "TestOverlayNG-geos-1051.xml" added. XML testcase -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by strk): I've attached an XML testcase to reproduce the problem. Simple OverlayNG still throws an exception, but OverlayRobust catches the exception to attempt another run (after snapping, I guess) and triggers the crash. Martin: how do I trigger OverlayNGRobust in JTS from the XML ? I found GEOS only uses OverlayNGRobust with the "overlayareatest" XML operation, but JTS doesn't look like doing that -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:1> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by strk): The crash happens when OverlayNGRobust tries overlaySnapping(tol 1.79499e-06) -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:2> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by strk): I tried {{{ <op name="differencesr" arg1="A" arg2="B" arg3="1.79499e-06"> }}} but it returns a POLYGON EMPTY, which doesn't make much sense to me (both in JTS and GEOS) -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:3> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by mdavis): Replying to [comment:3 strk]: > I tried {{{ <op name="differencesr" arg1="A" arg2="B" arg3="1.79499e-06"> }}} but it returns a POLYGON EMPTY, which doesn't make much sense to me (both in JTS and GEOS) Yes, because that is using SnapRounding, which is not what needs to be tested. -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:4> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by mdavis): Replying to [comment:1 strk]: > I've attached an XML testcase to reproduce the problem. Simple OverlayNG still throws an exception, but OverlayRobust catches the exception to attempt another run (after snapping, I guess) and triggers the crash. > > Martin: how do I trigger OverlayNGRobust in JTS from the XML ? I found GEOS only uses OverlayNGRobust with the "overlayareatest" XML operation, but JTS doesn't look like doing that Use the TestRunner option `-geomfunc org.locationtech.jtstest.function.OverlayNGRobustFunctions org.locationtech.jts.operation.overlayng.OverlayNGRobust`. Note that the `overlayAreaTest` operation is boolean-valued, so the XML test file will be have to changed to have `true` as the expected output. -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:5> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by mdavis): This is a good test - we can add it to the robust/overlay test corpus. -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:6> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by mdavis): A quick hack/fix would be to change the EdgeMerger assertion into a TopologyException. Then the OverlayNGRobust logic I think would drop through to use Snap-Rounding, which should work. It would be nice to fix the noding code, however - if that's possible. -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:7> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by strk): Martin I'm unable to use the -geomfunc option, can you give full commandline ? I'm getting: {{{ java.lang.ClassNotFoundException: org.locationtech.jtstest.function.OverlayNGRobustFunctions org.locationtech.jts.operation.overlayng.OverlayNGRobust }}} -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:8> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: new Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: Keywords: | ------------------------+--------------------------- Comment (by strk): The TopologyException trick works, without getting to Snap-Rounding but simply using a bigger snap tolerance: {{{ loating point overlay FAILURE: TopologyException: found non-noded intersection between LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) and LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) at 655065.0840699079 1794820.6249905184 Trying overlaySnapping(tol 1.79499e-06). overlaySnapping(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. overlaySnapBoth(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. Trying overlaySnapping(tol 1.79499e-05). Floating point overlay FAILURE: TopologyException: found non-noded intersection between LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) and LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) at 655065.0840699079 1794820.6249905184 Trying overlaySnapping(tol 1.79499e-06). overlaySnapping(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. overlaySnapBoth(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. Trying overlaySnapping(tol 1.79499e-05). Floating point overlay FAILURE: TopologyException: found non-noded intersection between LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) and LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) at 655065.0840699079 1794820.6249905184 Trying overlaySnapping(tol 1.79499e-06). overlaySnapping(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. overlaySnapBoth(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. Trying overlaySnapping(tol 1.79499e-05). Floating point overlay FAILURE: TopologyException: found non-noded intersection between LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) and LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) at 655065.0840699079 1794820.6249905184 Trying overlaySnapping(tol 1.79499e-06). overlaySnapping(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. overlaySnapBoth(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. Trying overlaySnapping(tol 1.79499e-05). Floating point overlay FAILURE: TopologyException: found non-noded intersection between LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) and LINESTRING (655065 1.79482e+06, 655065 1.79482e+06) at 655065.0840699079 1794820.6249905184 Trying overlaySnapping(tol 1.79499e-06). overlaySnapping(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. overlaySnapBoth(tol 1.79499e-06) FAILURE: TopologyException: Merge of edges of different sizes - probable noding error. Trying overlaySnapping(tol 1.79499e-05). ../../tests/xmltester/tests/robust/overlay/TestOverlayNG-geos-1051.xml: case1: test1: overlayareatest(A, B): ok. (0 ms) }}} -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:9> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Changes (by Sandro Santilli <strk@…>): * status: new => closed * resolution: => fixed Comment: In [changeset:"abb96620c275dc898be5795261359e4c0ce3760c/git" abb9662/git]: {{{ #!CommitTicketReference repository="git" revision="abb96620c275dc898be5795261359e4c0ce3760c" Throw TopologyException on noding error after snapping Fixes #1051 NOTE: JTS passes the test without change, so we should really fix the noding code... }}} -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:10> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Comment (by mdavis): After building JTS with `mvn clean install`, the command for running the test is: {{{ bin/testrunner.sh -geomfunc org.locationtech.jtstest.function.OverlayNGRobustFunctions org.locationtech.jts.operation.overlayng.OverlayNGRobust -files <file-dir>/TestOverlayNG-geos-1051.xml }}} Note that the `Functions` classes are in the `app` module, so if running in an environment such as Eclipse, the run needs to include that module. -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:11> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Comment (by strk): Here's what happens to me: {{{ $ bin/testrunner.sh -geomfunc \ > org.locationtech.jtstest.function.OverlayNGRobustFunctions \ > org.locationtech.jts.operation.overlayng.OverlayNGRobust \ > -files TestOverlayNG-geos-1051.xml ===== Test Runner - JTS Topology Suite (Version 1.18.0 SNAPSHOT) ===== Adding Geometry Functions from: org.locationtech.jtstest.function.OverlayNGRobustFunctions java.lang.ClassNotFoundException: org.locationtech.jtstest.function.OverlayNGRobustFunctions at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at org.locationtech.jtstest.geomop.GeometryFunctionRegistry.add(GeometryFunctionRegistry.java:77) at org.locationtech.jtstest.testrunner.JTSTestRunnerCmd.readOptions(JTSTestRunnerCmd.java:227) at org.locationtech.jtstest.testrunner.JTSTestRunnerCmd.main(JTSTestRunnerCmd.java:205) }}} -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:12> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Comment (by strk): Sorry, after {{{ mvn clean install }}} things work fine! -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:13> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Comment (by mdavis): Hmm, I'm actually suprised to hear that, since I realized that `testrunner.sh` runs a jar file that doesn't include the `app` module classes. Here's a command line that works for me. In the JTS root dir: {{{ java -cp modules/app/target/JTSTestBuilder.jar \ org.locationtech.jtstest.testrunner.JTSTestRunnerCmd \ -geomfunc org.locationtech.jtstest.function.OverlayNGRobustFunctions \ org.locationtech.jts.operation.overlayng.OverlayNGRobust \ -files TestOverlayNG-geos-1051.xml }}} -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:14> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Comment (by mdavis): One way to try and bisect the cause of this problem is to choose some info to dump out during noding, and compare to JTS. Could start with the points that are snapped. Also the final set of edge before merging would be interesting to compare (since that is apparently the source of the error). -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:15> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Comment (by strk): Martin: I'm trying at first to reduce the test for easier comparison. Should I be able to detect the difference by using the SnappingNoderTest class ? How would I run a single test in that class, with JTS test runner ? In GEOS, the inputs in this class result in: {{{ message: `TopologyException: found non-noded intersection between LINESTRING (655016 1.79494e+06, 655016 1.79494e+06) and LINESTRING (655016 1.79494e+06, 655016 1.79494e+06) at 655016.27295748401 1794940.0344945551` }}} Both with 1.79499E-6 and 1 tolerance -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:16> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Comment (by strk): It does not help that for Java these inputs trigger "constant string too long" -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:17> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
In reply to this post by geos-2
#1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() ==
edge->size()' failed. ------------------------+--------------------------- Reporter: strk | Owner: geos-devel@… Type: defect | Status: closed Priority: blocker | Milestone: 3.9.0 Component: Default | Version: master Severity: Unassigned | Resolution: fixed Keywords: | ------------------------+--------------------------- Comment (by strk): For the record: SnappingNoderTest can be run in JTS as such: {{{ java -cp \ ./modules/core/target/jts-core-1.18.0-SNAPSHOT.jar:./modules/core/target /jts-core-1.18.0-SNAPSHOT- tests.jar:/home/strk/.m2/repository/junit/junit/4.12/junit-4.12.jar \ org.locationtech.jts.noding.snap.SnappingNoderTest }}} Will still need a way to avoid the long literal -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1051#comment:18> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). _______________________________________________ geos-devel mailing list [hidden email] https://lists.osgeo.org/mailman/listinfo/geos-devel |
Free forum by Nabble | Edit this page |