[GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
41 messages Options
123
Reply | Threaded
Open this post in threaded view
|

[GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

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  |   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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

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:              |
------------------------+---------------------------
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1051: overlayng::EdgeMerger::merge(): Assertion `baseEdge->size() == edge->size()' failed.

geos-2
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
123