geometry icon indicating copy to clipboard operation
geometry copied to clipboard

Fix/issue 1410 repair dissolve

Open barendgehrels opened this issue 6 months ago • 4 comments

This PR:

  • prepares the traverse algorithm such that it supports dissolve better
  • fixes compilation in dissolve
  • fixes the unit test (and adding geojson)
  • add an alternative using buffer
  • add an alternative using correct as submitted in #868

Test results: original case

It is mostly as it was before. Note that the versions 1.85 did not run without errors either. Removing duplicate cases, there are just two errors now.

Running 1 test case...
dissolve.cpp:147: dissolve: ggl_list_denis #clips expected: 2 detected: 1 type: d
dissolve.cpp:150: difference{23.2553} between length_or_area{870.87609377304386} and expected_area{21123.328099999999} exceeds 0.001%

dissolve.cpp:150: difference{0.171709} between length_or_area{30.711676315570951} and expected_area{26.210999999999999} exceeds 0.001%

using buffer The expectations are a for some cases adapted, because the version using buffer always removes any interior ring. *** No errors detected

using correct The expectations are as in the original cases. *** No errors detected

barendgehrels avatar Jun 25 '25 17:06 barendgehrels

Thanks for your remarks!

Two things I noticed, though:

  1. line 13, run dissolve.cpp is still commented out in geometry/extensions/test/algorithms/Jamfile in your branch. If I run that test, I get 63 failures on my only tested configuration linux,

Indeed. The results are different than from before, I still have to work on that.

That does confirm that it compiles, though.

Indeed

  1. The compilation issues of dissolve would have been caught by a minimal test. Would we want such a test as part of the CI for extensions which are intended for future inclusion and active usage?

Good question. We don't have them for extensions. They are meant to be

  • candidates for the "real" library (though some already for way too long)
  • extra functionality which will not make it
  • maybe I miss some.

Also they should not be part of master and therefore I always split commits (extensions only / no extension code affected). Integrating it will make it (maybe) more inconvenient.

@vissarion what are your thoughts?

barendgehrels avatar Jul 05 '25 09:07 barendgehrels

I first wanted to make a follow-up. But because it is not merged (neither approved) anyway, it can be done in this PR

barendgehrels avatar Jul 19 '25 12:07 barendgehrels

I will add some pictures later this weekend.

barendgehrels avatar Jul 19 '25 12:07 barendgehrels

Sorry for being late reviewing here. I saw that some changes are separated in another PR and merged. @barendgehrels what is the status of this PR?

vissarion avatar Dec 08 '25 15:12 vissarion