logo separator

[mkgmap-dev] Bug in Road Merging - actually doubling roads.

From Felix Hartmann extremecarver at gmail.com on Tue Feb 27 22:30:53 GMT 2018

oh - forgot to mention. If roads are thrown away - that's complicated.
Actually for my maps I would need to have a rule like 1. throw away any
road with type 0x13 (I use that type invisible) - then throw away those
created earlier in the style. I build my style that first things like
route=hiking are created routable (using continue), or bridges to improve
the chance they are used for routing, then the style ends with the actual
road being inserted. And well - if something is thrown away because such
doubling cannot be fixed - it would be better if the first instances
therefore are thrown away, and the last 4 or 5 kept - however 0x13 should
always be thrown away first.

Felix

On 27 February 2018 at 23:26, Felix Hartmann <extremecarver at gmail.com>
wrote:

> and yeah - way  111528851 is causing even more troubles. If you simply
> create a rule like
> route=hiking [0x13 road_class=4 road_speed=2 resolution 24 continue]
>
> then mkgmap puts in a long merged road, however a road with a 180° turn in
> itself - and routing in this case is going pretty havoc in Basecamp - on
> the other junction you're right - it seems that it's only visually
> incorrect, but routing instructions are correct - while in this case
> routing also goes wild.
> (oh I changed the patch from 4 to 5 instances - I do think 5 overall
> instances of a single road is okay, 6 is too much and causes some devices
> (reportedly edge) to switch off, while others will simply draw a long
> straight line through the air or not route along that section at all.
>
> On 27 February 2018 at 23:17, Felix Hartmann <extremecarver at gmail.com>
> wrote:
>
>> Oh sorry, I'm stupid. I did not realise that I need to copy in the
>> optional lib files also to the running instance of mkgmap.jar. Really
>> should have noticed that based on the error message.
>>
>> well anyhow - here is the debug data and the orig.osm.pbf compiled with
>> the patched mkgmap version: https://openmtbmap.org/map_with_debug.zip
>>
>>
>> Felix
>>
>> On 27 February 2018 at 22:49, Gerd Petermann <
>> gpetermann_muenchen at hotmail.com> wrote:
>>
>>> Hi Felix,
>>>
>>> sorry, I always use the debugging stuff within Eclipse.
>>> Something like this should work:
>>>
>>> java -XX:StringTableSize=100003 -Xms6000M -Xmx13300M -cp
>>> d:\mkgmap\lib\optional\splitter-412.jar;d:\mkgmap\dist\mkgmap.jar
>>> uk.me.parabola.mkgmap.main.Main --max-jobs=8 ...
>>> Replace d:\mkgmap with the directory where you ran the ant
>>> resolve-optional dist command
>>>
>>> Gerd
>>>
>>> ________________________________________
>>> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von
>>> Felix Hartmann <extremecarver at gmail.com>
>>> Gesendet: Dienstag, 27. Februar 2018 21:29:20
>>> An: Development list for mkgmap
>>> Betreff: Re: [mkgmap-dev] Bug in Road Merging - actually doubling roads.
>>>
>>> I looked into the files for sometime - and right now tried to compile it
>>> with the patched mkgmap version - however I get:
>>> C:\OpenMTBMap\maps>start /low /b /wait java -jar
>>> -XX:StringTableSize=100003 -Xms6000M -Xmx13300M C:\openmtbmap\mkgmap.jar
>>> --max-jobs=8 "--generate-sea" --code-page=1252
>>> "--precomp-sea=C:\openmtbmap\maps\sea.zip"
>>> "--style-file=C:\openmtbmap\test_style" --lower-case --nsis --index
>>> --levels="0:24, 1:23, 2:22, 3:21, 4:20, 5:19, 6:18"
>>> --overview-levels="7:17, 8:16, 9:15, 10:14, 11:13, 12:12" --add-pois
>>> -to-areas --pois-to-areas-placement=entrance=main;entrance=yes;building=entrance;barrier=entrance
>>> --reduce-point-density=3.4 --reduce-point-density-polygon=6 --cycle-map
>>> --ignore-fixme-values --housenumbers --link-pois-to-ways
>>> --ignore-turn-restrictions --polygon-size-limits="24:16, 23:14, 22:12,
>>> 21:11, 20:10, 19:9, 18:8, 17:7, 16:6, 15:5, 14:4, 13:3, 12:2, 11:0, 10:0"
>>> --description=openmtbmap_it
>>> --show-profiles=1  --location-autofill=bounds,is_in,nearest
>>> --bounds=C:\openmtbmap\maps\bounds.zip --route --country-abbr=it
>>> --country-name=italy --mapname=63670000 --family-id=6367 --product-id=1
>>> --series-name=openmtbmap_italy_27.02.2018 --family-name=mtbmap_it_27.02.2018
>>> --tdbfile --overview-mapname=mapsetc --keep-going --area-name="
>>> italy_27.02.2018_openmtbmap.org<http://italy_27.02.2018_openmtbmap.org>"
>>> c:\openmtbmap\orig.osm.pbf  1
>>> >NUL
>>> java.lang.NoClassDefFoundError: uk/me/parabola/splitter/Area
>>>         at uk.me.parabola.mkgmap.osmstyle.WrongAngleFixer.writeOSM(Wron
>>> gAngleFixer.java:1279)
>>>         at uk.me.parabola.mkgmap.osmstyle.WrongAngleFixer.printBadAngle
>>> s(WrongAngleFixer.java:733)
>>>         at uk.me.parabola.mkgmap.osmstyle.WrongAngleFixer.optimizeWays(
>>> WrongAngleFixer.java:90)
>>>         at uk.me.parabola.mkgmap.osmstyle.StyledConverter.end(StyledCon
>>> verter.java:609)
>>>         at uk.me.parabola.mkgmap.reader.osm.ElementSaver.convert(Elemen
>>> tSaver.java:243)
>>>         at uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.load(OsmMa
>>> pDataSource.java:157)
>>>         at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.ja
>>> va:154)
>>>         at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:52)
>>>         at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:290)
>>>         at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:286)
>>>         at java.util.concurrent.FutureTask.run(Unknown Source)
>>>         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
>>> Source)
>>>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>>> Source)
>>>         at java.lang.Thread.run(Unknown Source)
>>> Caused by: java.lang.ClassNotFoundException:
>>> uk.me.parabola.splitter.Area
>>>         at java.net.URLClassLoader.findClass(Unknown Source)
>>>         at java.lang.ClassLoader.loadClass(Unknown Source)
>>>         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
>>>         at java.lang.ClassLoader.loadClass(Unknown Source)
>>>         ... 14 more
>>>
>>>
>>>
>>>
>>>
>>> As for compiling the orig.osm.pbf with my style - the resulting map is
>>> here:
>>> https://openmtbmap.org/orig_osm_compiled.zip
>>>
>>> On 27 February 2018 at 13:48, Felix Hartmann <extremecarver at gmail.com
>>> <mailto:extremecarver at gmail.com>> wrote:
>>> Had no time the last 3 days, I'm right now testing some things will post
>>> back in a couple of hours....
>>>
>>> On 27 February 2018 at 12:01, Gerd Petermann <
>>> gpetermann_muenchen at hotmail.com<mailto:gpetermann_muenchen at hotmail.com>>
>>> wrote:
>>> Hi Felix,
>>>
>>> any feedback?
>>>
>>> Gerd
>>>
>>> ________________________________________
>>> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:
>>> mkgmap-dev-bounces at lists.mkgmap.org.uk>> im Auftrag von Gerd Petermann <
>>> gpetermann_muenchen at hotmail.com<mailto:gpetermann_muenchen at hotmail.com>>
>>> Gesendet: Samstag, 24. Februar 2018 10:36:29
>>> An: Development list for mkgmap
>>> Betreff: Re: [mkgmap-dev] Bug in Road Merging - actually doubling roads.
>>>
>>> Hi Felix,
>>>
>>> maybe this helps already:
>>> Attached is a small patch that changes StyledConverter so that it only
>>> accepts 4 routable ways for one OSM way.
>>> Any further routable way for the same OSM way creates just a warning.
>>>
>>> Gerd
>>>
>>>
>>> ________________________________________
>>> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:
>>> mkgmap-dev-bounces at lists.mkgmap.org.uk>> im Auftrag von Felix Hartmann <
>>> extremecarver at gmail.com<mailto:extremecarver at gmail.com>>
>>> Gesendet: Freitag, 23. Februar 2018 19:08:45
>>> An: Development list for mkgmap
>>> Betreff: Re: [mkgmap-dev] Bug in Road Merging - actually doubling roads.
>>>
>>> I think merging is fine - maybe just add restrictions to the adjoining
>>> ways if preset. And it really should not happen that ways are merged past a
>>> junction - I now think this happens in some more places. Because it's not
>>> the first time I notice that a routing turns 180° to return to the junction
>>> to actually turn.
>>> And maybe could there be a filter that there are never more than 5
>>> routable ways from continue command? From 6 onwards it crashes devices.
>>> Maybe even from 5 onwards. 1 routable original and 3 routable overlays are
>>> definitely fine. (Basecamp/Mapsource don't care - it only crashes GPS
>>> devices).
>>>
>>> On 23 February 2018 at 09:12, Henning Scholland <osm at hscholland.de
>>> <mailto:osm at hscholland.de><mailto:osm at hscholland.de<mailto:osm at hschollan
>>> d.de>>> wrote:
>>> Hi Gerd,
>>> Maybe it's better to try to merge these small ways as they anyway only
>>> creates 'ugly' roads. With increasing level of details in OSM I think
>>> mkgmap will need some preprocessing to generalise the data first. I'm not
>>> only thinking about these very small ways, but also have the lane-mapping
>>> and other mapping details, which are not important for Garmin maps.
>>> Henning
>>> On 23 Feb 2018, at 15:21, Gerd Petermann <gpetermann_muenchen at hotmail.c
>>> om<mailto:gpetermann_muenchen at hotmail.com><mailto:gpetermann
>>> _muenchen at hotmail.com<mailto:gpetermann_muenchen at hotmail.com>>> wrote:
>>>
>>> Hi Felix,
>>>
>>> I have to think about this for a while. There are three very short ways
>>> connected in node 412440328:
>>> way 130665733 : the northern node 1263658617 is close to a Garmin grid
>>> point, the sourthern node 412440328 is also closer to this grid point than
>>> to any other,
>>> so both are rounded to the same grid point in the north, and finally it
>>> is ignored.
>>> way 110722884:  the way is only ~1m long and  both nodes are far from
>>> any Garmin grid point. This is the way that is causing the trouble.
>>> It is not removed, instead the initial rounding changes it to a ~3m way
>>> going north -> south.
>>> way 130663479: the way has 3 nodes, and the one in the middle (node
>>> 1263658804) is rounded to the same coords as the ends of the bridge (way
>>> 103567847) and way 110722884, while the northern node 412440328 is moved up.
>>>
>>> I've attached 4 files to document the problem. Please load into JOSM to
>>> visualize:
>>> orig.osm.pbf: the original osm data
>>> init_hp.osm.pbf: the road network as input to WrongAngleFixer in so
>>> called "high precision"
>>> init_mu.osm.pbf: like init_hp.osm.pbf, but rounded to Garmin map units
>>> after-WO_mu.osm.pbf: the result of WrongAngleFixer with coords rounded
>>> to Garmin map units
>>> (please ignore the fact that the node ids in non-orig files are wrong)
>>>
>>> Somehow I have to teach mkgmap that it would be better to ignore (also)
>>> way 110722884. I don't know yet what criteria I should use for that.
>>> Normally we try to keep all routable ways, as they may contain access
>>> restrictions.
>>>
>>> BTW: There is more such trouble near way 111528851.
>>>
>>> ciao,
>>> Gerd
>>>
>>> ________________________________
>>>
>>> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:
>>> mkgmap-dev-bounces at lists.mkgmap.org.uk><mailto:mkgmap-dev-bounces at lists.
>>> mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>>> im
>>> Auftrag von Felix Hartmann <extremecarver at gmail.com<mailto:
>>> extremecarver at gmail.com><mailto:extremecarver at gmail.com<mailto:
>>> extremecarver at gmail.com>>>
>>> Gesendet: Donnerstag, 22. Februar 2018 20:19:15
>>> An: Development list for mkgmap
>>> Betreff: Re: [mkgmap-dev] Bug in Road Merging - actually doubling roads.
>>>
>>> Perfect. I guess my maps are the only one causing bsod here on devices,
>>> but without the bug they would be fine...
>>>
>>> On 22 Feb 2018 20:03, "Gerd Petermann" <gpetermann_muenchen at hotmail.com
>>> <mailto:gpetermann_muenchen at hotmail.com><mailto:gpetermann
>>> _muenchen at hotmail.com<mailto:gpetermann_muenchen at hotmail.com>><mailto:
>>> gpetermann_muenchen at hotmail.com<mailto:gpetermann_muenchen at hotmail.com
>>> ><mailto:gpetermann_muenchen at hotmail.com<mailto:gpetermann_muenchen at ho
>>> tmail.com>>>> wrote:
>>> Hi Felix,
>>>
>>> I can reproduce the problem with a small download around the way and
>>> just the --route option.
>>> The problem seems to be in WrongAngleFixer, it says
>>> "... all points of way http://www.openstreetmap.org/way/130665733 are
>>> rounded to equal map units"
>>> No idea why the way is not reduced to a single point, will investigate
>>> further.
>>>
>>> Gerd
>>>
>>> ________________________________
>>>
>>> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:
>>> mkgmap-dev-bounces at lists.mkgmap.org.uk><mailto:mkgmap-dev-bounces at lists.
>>> mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>><mailto:
>>> mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkg
>>> map-dev-bounces at lists.mkgmap.org.uk><mailto:mkgmap-dev-bounc
>>> es at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>>>>
>>> im Auftrag von Felix Hartmann <extremecarver at gmail.com<mailto:
>>> extremecarver at gmail.com><mailto:extremecarver at gmail.com<mailto:
>>> extremecarver at gmail.com>><mailto:extremecarver at gmail.com<mailto:
>>> extremecarver at gmail.com><mailto:extremecarver at gmail.com<mailto:
>>> extremecarver at gmail.com>>>>
>>> Gesendet: Donnerstag, 22. Februar 2018 19:27:44
>>> An: Development list for mkgmap
>>> Betreff: [mkgmap-dev] Bug in Road Merging - actually doubling roads.
>>>
>>> I just noticed that mkgmap sometimes creates a lot more routable roads
>>> for a certain stretch than actually defined in the style-file.
>>>
>>> https://www.openstreetmap.org/way/130665733
>>>
>>> should be only once as a routable line in my map, however it ends up 6
>>> times!
>>> Once is correct, but 5 iterations are actually the way from the south (3
>>> times) and the way from the East (2 times). Now each of these ways should
>>> be created that often, however it should not overlay into this short
>>> stretch of way.
>>>
>>> While doubling up ways can be beneficial for routing, having a way more
>>> than 5 times on top of each other let's Garmin devices crash on routing
>>> over them. Also it leads to detours - as it will not always route straight
>>> from the Way from South to the Way going to the West, but follow along
>>> after the intersection for 4.3m until hitting up north, then reversing and
>>> finally going to the way in the West.
>>>
>>> I've uploaded the tile here:
>>> https://openmtbmap.org/gmapsupp_copied.img
>>>
>>>
>>> I'm pretty sure that with other style-files - the way will also be
>>> copied past the intersection and end up too often in the map for that 4.3m
>>> stretch...
>>>
>>>
>>> I kinda guess it is related to it being so short - that place has some
>>> remarkable micro-mapping detail.
>>> Or is this really expected?
>>>
>>>
>>> If needed I can try to create a reduced style to only create that
>>> problem - but I think the bug should be obvious.
>>>
>>>
>>> --
>>> Felix Hartman - Openmtbmap.org<http://Openmtbmap.org> & VeloMap.org<
>>> http://VeloMap.org>
>>> Schusterbergweg 32/8
>>> 6020 Innsbruck
>>> Austria - Österreich
>>> ________________________________
>>>
>>> mkgmap-dev mailing list
>>> mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk
>>> ><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgma
>>> p-dev at lists.mkgmap.org.uk>><mailto:mkgmap-dev at lists.mkgmap.org.uk
>>> <mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mk
>>> gmap-dev at lists.mkgmap.org.uk<mailto: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<mailto:mkgmap-dev at lists.mkgmap.org.uk
>>> ><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgma
>>> p-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<mailto:mkgmap-dev at lists.mkgmap.org.uk
>>> ><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgma
>>> p-dev at lists.mkgmap.org.uk>>
>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>>>
>>>
>>>
>>> --
>>> Felix Hartman - Openmtbmap.org & VeloMap.org
>>> Schusterbergweg 32/8
>>> 6020 Innsbruck
>>> Austria - Österreich
>>> _______________________________________________
>>> mkgmap-dev mailing list
>>> mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk>
>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>>>
>>>
>>>
>>> --
>>> Felix Hartman - Openmtbmap.org & VeloMap.org
>>> Schusterbergweg 32/8
>>> 6020 Innsbruck
>>> Austria - Österreich
>>>
>>>
>>>
>>> --
>>> Felix Hartman - Openmtbmap.org & VeloMap.org
>>> Schusterbergweg 32/8
>>> 6020 Innsbruck
>>> Austria - Österreich
>>> _______________________________________________
>>> mkgmap-dev mailing list
>>> mkgmap-dev at lists.mkgmap.org.uk
>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>>>
>>
>>
>>
>> --
>> Felix Hartman - Openmtbmap.org & VeloMap.org
>> Schusterbergweg 32/8
>> 6020 Innsbruck
>> Austria - Österreich
>>
>
>
>
> --
> Felix Hartman - Openmtbmap.org & VeloMap.org
> Schusterbergweg 32/8
> 6020 Innsbruck
> Austria - Österreich
>



-- 
Felix Hartman - Openmtbmap.org & VeloMap.org
Schusterbergweg 32/8
6020 Innsbruck
Austria - Österreich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20180227/1ef591ac/attachment-0001.html>


More information about the mkgmap-dev mailing list