Hi Ticker,

I tried to find a case where the bug in RemoveObsoletePointsFilter would really 
add the same point twice but failed. I tried with 
--x-no-force-end-nodes-routing-nodes so that the 1st point is not a CoordNode 
but still the first (and last) point of a MapLine is always preserved.
So, we always get into the Utils.isStraight() test which contains the needed 
continue.
So, in the end the bug has no effect on output, it just produced useless 
Utils.isStraight calls and possibly debug messages ""found three consecutive 
points on strictly straight line""

I commited only parts of your patch, I think the stuff regarding closed shapes 
is too confusing and the changed loop logic really doesn't improve robustness 
or readability.
See r4619 and r4620.

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-boun...@lists.mkgmap.org.uk> im Auftrag von Ticker 
Berkin <rwb-mkg...@jagit.co.uk>
Gesendet: Donnerstag, 25. März 2021 11:14
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] line/polygon filters fix

Hi Gerd

I doubt if forced close is needed - a mix of identical and equal
endPoint polygons has been fed through the filters and RGN polyline
processing for a long time without *noticeable* problems.

But I was trying to diagnose a problem that could have been caused by
the point duplication or the not-properly-closed polygons and it seemed
better to fix and make consistent on my way to finding where the
problem lay.

Ticker

On Thu, 2021-03-25 at 09:59 +0000, Gerd Petermann wrote:
> Hi Ticker,
>
> why do you think that this forced closing is needed? Do we have code
> that relies on this?
>
> Gerd
>
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-boun...@lists.mkgmap.org.uk> im Auftrag
> von Ticker Berkin <rwb-mkg...@jagit.co.uk>
> Gesendet: Donnerstag, 25. März 2021 10:47
> An: Development list for mkgmap
> Betreff: Re: [mkgmap-dev] line/polygon filters fix
>
> Hi Gerd
>
> Yes, you're right.
>
> I've changed it so it only keeps polygons correctly closed.
>
> Ticker
>
> On Wed, 2021-03-24 at 18:54 +0000, Gerd Petermann wrote:
> > Hi Ticker,
> >
> > I don't understand the last changes in RoundCoordsFilter.java. What
> > if the replaced 1st point is preserved?
> >
> > Gerd
> >
> > ________________________________________
> > Von: mkgmap-dev <mkgmap-dev-boun...@lists.mkgmap.org.uk> im Auftrag
> > von Ticker Berkin <rwb-mkg...@jagit.co.uk>
> > Gesendet: Dienstag, 23. März 2021 14:17
> > An: Development list for mkgmap
> > Betreff: Re: [mkgmap-dev] line/polygon filters fix
> >
> > Hi Gerd
> >
> > I don't get any detectable failures, but this might cause
> > difficulties
> > with adjacent junctions and/or housenumbers.
> >
> > If there are two adjacent equal points, with the first not
> > preserved
> > and the second preserved, the existing RemoveObsoleteFilter will
> > replace the first with the second and leave the second in as well.
> > The
> > code clearly intended not to duplicate the preserved point, and, if
> > they were the other way around, doesn't.
> >
> > Ticker
> >
> > On Tue, 2021-03-23 at 12:38 +0000, Gerd Petermann wrote:
> > > Hi Ticker,
> > >
> > > please add a unit test that shows where the old code fails.
> > >
> > > Gerd
> > >
> > > ________________________________________
> > > Von: mkgmap-dev <mkgmap-dev-boun...@lists.mkgmap.org.uk> im
> > > Auftrag
> > > von Ticker Berkin <rwb-mkg...@jagit.co.uk>
> > > Gesendet: Dienstag, 23. März 2021 13:10
> > > An: mkgmap development
> > > Betreff: [mkgmap-dev] line/polygon filters fix
> > >
> > > Hi Gerd
> > >
> > > I was trying to diagnose a problem with a repeating points in
> > > polylines
> > > as reported by GPSMapEdit and found a problem in
> > > RemoveObsoletePointsFilter where it duplicates a point.
> > >
> > > Also in this and/or RoundCoordsFilter I've made some changes:
> > > 1/ stop the chain when polygons get too small
> > > 2/ keep polygons closed with the same first/last point
> > > 3/ slight logic tidy-up
> > > 4/ add a couple of debug lines to be consistent
> > >
> > > Patch attached.
> > >
> > > Actually these didn't make any difference to the repeating points
> > > problem. This happens when there are enough unused bits in the
> > > last
> > > byte of the polyline bitsteam to represent an extra point. I
> > > can't
> > > see
> > > any good way of stopping this.
> > >
> > > Ticker
> > > _______________________________________________
> > > mkgmap-dev mailing list
> > > mkgmap-dev@lists.mkgmap.org.uk
> > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > _______________________________________________
> > mkgmap-dev mailing list
> > mkgmap-dev@lists.mkgmap.org.uk
> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > _______________________________________________
> > mkgmap-dev mailing list
> > mkgmap-dev@lists.mkgmap.org.uk
> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev@lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to