[mkgmap-dev] Fix Sea Patch
From Ticker Berkin rwb-mkgmap at jagit.co.uk on Sat Jan 30 17:05:05 GMT 2021
Hi Mike & Gerd I've just tried running with this on britain-and-ireland.osm.pbf using: --generate-sea=multipolygon,extend-sea-sectors,close-gaps=750 I got a few messages from it that I don't get normally - attached. Looking at some of these, I found: 1/ islands, tagged with coastline, within lakes. 2/ strange inland coastline triangles (didn't check which way round the coastline went) Source "OS_Opendata_Vectormap_District" 3/ water areas, close to the sea - maybe salt-water lagoons, tagged with coastline - I'm not sure why these are flagged if inland seas are allowed. Some of these could be fixed in OSM. The run-time has increases from about 35 mins to 44 mins (would need to run again in a clean environment to be sure of this). I suggest having an option to enable the extra checking. I don't have any problem with more detailed logging. Good to fix the spelling mistake (but should fix loadLandAndSee as well) Ticker On Fri, 2021-01-29 at 11:18 +0000, Mike Baggaley wrote: > Hi Gerd, attached is a slightly updated patch, with test data and the > results from r4600 and the patch. The existing code does not identify > all > the problems in the test data and does not provide sufficiently > detailed > information on those it does find to enable investigation/correction. > > The test data contains 4 test scenarios: > land within sea within land, no errors - the existing code is ok here > sea within land within sea, the outer sea should produce an error - > the > existing code is ok here > land within land within land, the two inner lands should produce an > error - > these are not found by the existing code > sea within sea within sea, all three seas should produce an error - > the > existing code finds the errors but does not identify the surrounding > way for > the inner two > > Cheers, > Mike > > -----Original Message----- > From: Gerd Petermann [mailto:gpetermann_muenchen at hotmail.com] > Sent: 18 January 2021 11:54 > To: Development list for mkgmap <mkgmap-dev at lists.mkgmap.org.uk> > Subject: Re: [mkgmap-dev] Fix Sea Patch > > Hi Mike, > > it would be great to have some unit tests or at least a sample file > containing the problem cases which are treated by your patch. > > Gerd > > ________________________________________ > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag > von Mike > Baggaley <mike at tvage.co.uk> > Gesendet: Montag, 18. Januar 2021 10:06 > An: 'Development list for mkgmap' > Betreff: Re: [mkgmap-dev] Fix Sea Patch > > Hi Gerd, > > I had too little logging information in the version I sent > previously. The > attached remedies that. > > Cheers, > Mike > > -----Original Message----- > From: Mike Baggaley [mailto:mike at tvage.co.uk] > Sent: 18 January 2021 00:28 > To: 'Development list for mkgmap' <mkgmap-dev at lists.mkgmap.org.uk> > Subject: RE: [mkgmap-dev] Fix Sea Patch > > Hi Gerd, > > I'm not sure that mkgmap should be prescriptive about where the input > data > comes from. However, I have produced an updated patch that reports on > errors > in the input data without providing any functionality to fix the > problems. > Please see the attached patch that is able to identify most problems > in sea > data. > > Cheers, > Mike > > -----Original Message----- > From: Gerd Petermann [mailto:gpetermann_muenchen at hotmail.com] > Sent: 05 January 2021 08:40 > To: Development list for mkgmap <mkgmap-dev at lists.mkgmap.org.uk> > Subject: Re: [mkgmap-dev] Fix Sea Patch > > Hi Mike & Ticker, > > I would not want to add code to mkgmap to fix problems which only > occur in > data that is produced by a 3rd party software. My understanding is > that the > "fixing" should happen in that 3rd party software, not in mkgmap. > > Gerd > > ________________________________________ > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag > von Mike > Baggaley <mike at tvage.co.uk> > Gesendet: Montag, 4. Januar 2021 20:40 > An: 'Development list for mkgmap' > Betreff: Re: [mkgmap-dev] Fix Sea Patch > > Hi Ticker, > > I use coastline data that is generated from just line data and the > algorithm > used is not able to properly determine whether polygons are islands > or > water. It does however make sure polygons are closed, so I don't have > problems with having to join ways together and hence I don't use > close-gaps > or extend sea-sectors. > > I'm unclear exactly what an anti-island is supposed to be - I have > considered it to be a separate bit of sea, and in my data I have lots > of > those that are correct. They are only incorrect if they are within > the sea, > rather than the land. For example, if there is a coast road with sea > on both > sides of it, I am likely to have a separate sea polygon within the > land if > its connection to the sea is under a bridge. The patch checks for sea > within > sea and land within land. It doesn't then go back and recursively > check for > nested problems - I suspect this would be quite an overhead. > > The code is certainly not perfect, but does produce enormously > improved > results for me at least. I can still see at least one error in my > map, but I > think the remaining errors are tile boundary issues that are resolved > differently on adjacent tiles. I am thinking of a small app to read > the > mkgmap log file and the coastline data, reversing whatever mkgmap > says is > wrong. By running mkgmap without splitter on just the coastline data > I > should be able to avoid any tile boundary problems. > > Cheers, > Mike > > -----Original Message----- > From: Ticker Berkin [mailto:rwb-mkgmap at jagit.co.uk] > Sent: 04 January 2021 13:58 > To: Development list for mkgmap <mkgmap-dev at lists.mkgmap.org.uk> > Subject: Re: [mkgmap-dev] Fix Sea Patch > > Hi Mike & Gerd > > I always try to use the coastline data in the downloaded OSM map to > generate the sea with option: > --generate-sea=multipolygon,extend-sea > -sectors,close-gaps=750 > and have only ever had 1 problem with faulty > coastline. In this case it wasn't a reversed section but a lake had > been tagged with coastline, worse, in the wrong direction so it > wasn't > treated as an internal sea, rather an island, flipping the rest of > the > tile to sea. > > I sometimes have problems with the continuation of the downloaded > country's > coastlines being cut off and ending up near the middle of tiles, but > closer > to the wrong edge or, when extended to the edge, they are in the same > direction as an adjacent coastline, because the un-crossing is > outside the > downloaded area. > > @Mike - Do you use --coastlinefile to circumvent this type of problem > and is > there an advantage to this over using --precomp-sea? The data seems > to need > a lot of correcting! > > If arbitrary bits of coastline are in the wrong direction, should you > have > another phase, after joining in the same direction and removing > anti/islands. Try to join against their direction and moving closed > ways to > an ambiguous closed list and other ways that joined to an ambiguous > linear > list. Then see if the ambiguous ones can be resolved, maybe by > weighting by > the direction of the majority. > > I feel that some of your fixes of land/sea are too late in the flow > of code, > ie after generateSeaBackgound has been set. > > It seems a reasonably assertion that all anti-islands are a mistake > in the > data. I think the only one is the Caspian Sea, which is unlikely to > be fully > contained in a tile. > > checkIslands(), to do the full job, would need to look at the nesting > of > sea/land/sea... so, given above, I don't think it worthwhile. > > In verifyHits(), I don't see where any changes that resolves > "adjacent hits > in same direction" are applied. The 'fix' could make it totally wrong > rather > than partially wrong. Looking for 3 in the same direction and > reversing the > middle one might be better. > > As I said earlier, I've never had a problem where this type of fixing > would > be of any use. > > The swapping between land and sea needs to do more than just re > -tagging; the > multi-polygon handling needs to be considered and also the fullArea > of sea. > > Ticker > > On Sat, 2021-01-02 at 10:32 +0000, Gerd Petermann wrote: > > Hi Mike, > > > > > This was removed some time ago because it didn't work properly > > Do you have a version number where this happened? I only know the > > floodblocker option which is still evaluated in the source. > > > > Gerd > > > > > > ________________________________________ > > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag > > von Mike Baggaley <mike at tvage.co.uk> > > Gesendet: Donnerstag, 31. Dezember 2020 16:17 > > An: 'Development list for mkgmap' > > Betreff: [mkgmap-dev] Fix Sea Patch > > > > Hi Gerd, > > > > Mkgmap used to contain some code that attempted to correct > > incorrect > > sea and > > land data where polygons were ordered in the wrong direction. This > > was > > removed some time ago because it didn't work properly. I have put > > together > > the attached patch that works much better and have been using it > > for > > some > > time. With the sea data that I use, which contains quite a large > > number of > > incorrectly ordered polygons, it manages to correct every error it > > finds. It > > won't be able to fix really gross errors, but providing most of the > > data is > > correct it will produce good results. > > > > Please review and commit if happy. > > > > Cheers, > > Mike > > _______________________________________________ > > 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: sea3.log Type: text/x-log Size: 4953 bytes Desc: not available URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20210130/85fb4fbd/attachment.bin>
- Previous message: [mkgmap-dev] Fix Sea Patch
- Next message: [mkgmap-dev] Fix Sea Patch
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list