[mkgmap-dev] [mkgmap-svn] Commit r4622: - use IsInUtil to do geometry calculations like insideness or outsideness: Allows to remove a lot of complex code but might be slower in some cases.
From Ticker Berkin rwb-mkgmap at jagit.co.uk on Thu Apr 1 12:24:00 BST 2021
I meant intersecting polygons Ticker On Thu, 2021-04-01 at 12:08 +0100, Ticker Berkin wrote: > Hi Gerd > > I agree that calcContains should be changed as you suggest. > > My view otherwise is that the code should be as simple as possible > for > "correct" cases and not go to any trouble to detect overlapping > polygons in this phase, but just allocate them as [outer {inner}]+ > and, > if the cutting logic has problems during its processing, then it can > flag errors. > > Ticker > > On Thu, 2021-04-01 at 09:13 +0000, Gerd Petermann wrote: > > Hi Ticker, > > > > I think the big question is what the code is expected to do with > > overlapping polygons. The code in trunk may or may not cut out an > > inner ring that overlaps the outer. If I got that right it was > > intended to ignore all rings which are overlapping, but I showed > > that > > this doesn't always work. > > > > So, probably I should change the logic in the branch from > > return (x & IsInUtil.IN) != 0; > > to > > return (x & IsInUtil.OUT) == 0; > > > > Means, calcContains() would return false if at least one point is > > not > > contained. > > > > Gerd > > > > ________________________________________ > > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag > > von Gerd Petermann <gpetermann_muenchen at hotmail.com> > > Gesendet: Donnerstag, 1. April 2021 10:16 > > An: Development list for mkgmap > > Betreff: Re: [mkgmap-dev] [mkgmap-svn] Commit r4622: - use IsInUtil > > to do geometry calculations like insideness or outsideness: Allows > > to > > remove a lot of complex code but might be slower in some cases. > > > > Hi Ticker, > > > > to be more prezise: Looking at the code in runIntersectionCheck() > > it > > may change the Bitset unfinishedPolys. Up to now I did not find a > > case where this happens, so I am tempted to remove the code, but > > I'd > > feel better if I would understand why it was coded before removing > > it. > > > > Gerd > > > > > > ________________________________________ > > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag > > von Gerd Petermann <gpetermann_muenchen at hotmail.com> > > Gesendet: Donnerstag, 1. April 2021 09:29 > > An: Development list for mkgmap > > Betreff: Re: [mkgmap-dev] [mkgmap-svn] Commit r4622: - use IsInUtil > > to do geometry calculations like insideness or outsideness: Allows > > to > > remove a lot of complex code but might be slower in some cases. > > > > Hi Ticker, > > > > yes, that's what I plan to do. Right now I try to understand what > > is > > done with the data in collection intersectingPolygons. > > > > Gerd > > > > > > ________________________________________ > > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag > > von Ticker Berkin <rwb-mkgmap at jagit.co.uk> > > Gesendet: Donnerstag, 1. April 2021 09:25 > > An: mkgmap-dev at lists.mkgmap.org.uk; mkgmap-svn at lists.mkgmap.org.uk > > Betreff: Re: [mkgmap-dev] [mkgmap-svn] Commit r4622: - use IsInUtil > > to do geometry calculations like insideness or outsideness: Allows > > to > > remove a lot of complex code but might be slower in some cases. > > > > Hi Gerd > > > > Wouldn't it be more efficient to choose a point within a each > > polygon > > and then use IsInUtils.isPointInShape and the relative areas to > > test > > if > > this polygon is in others. The point could be the centre of the > > polygon, after checking isPointInShape == IN on itself, and, if > > not, > > make do with the closing point, or some trial and error moving from > > the > > closing point. > > > > This also bypasses ambiguities cause by overlapping polygons in > > this > > phase of the logic. > > > > Ticker > > > > On Wed, 2021-03-31 at 15:56 +0100, svn commit wrote: > > > Version mkgmap-r4622 was committed by gerd on Wed, 31 Mar 2021 > > > BRANCH: faster-mp > > > - use IsInUtil to do geometry calculations like insideness or > > > outsideness: Allows to remove a lot of complex code but might be > > > slower in some cases. > > > - document the poor completeness of collection > > > intersectingPolygons. > > > Probably will removed as well. > > > > > > > > > http://www.mkgmap.org.uk/websvn/revision.php?repname=mkgmap&rev=4 > > > 62 > > > 2 > > > _______________________________________________ > > > mkgmap-svn mailing list > > > To unsubscribe send an mail to > > > mkgmap-svn-leave at lists.mkgmap.org.uk > > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-svn > > _______________________________________________ > > mkgmap-dev mailing list > > mkgmap-dev at lists.mkgmap.org.uk > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > _______________________________________________ > > mkgmap-dev mailing list > > mkgmap-dev at lists.mkgmap.org.uk > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > _______________________________________________ > > mkgmap-dev mailing list > > mkgmap-dev at lists.mkgmap.org.uk > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > _______________________________________________ > > mkgmap-dev mailing list > > mkgmap-dev at lists.mkgmap.org.uk > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
- Previous message: [mkgmap-dev] [mkgmap-svn] Commit r4622: - use IsInUtil to do geometry calculations like insideness or outsideness: Allows to remove a lot of complex code but might be slower in some cases.
- Next message: [mkgmap-dev] [mkgmap-svn] Commit r4622: - use IsInUtil to do geometry calculations like insideness or outsideness: Allows to remove a lot of complex code but might be slower in some cases.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list