logo separator

[mkgmap-dev] Similar Arcs

From Mike Baggaley mike at tvage.co.uk on Sun May 23 18:27:08 BST 2021

Hi Gerd,

The primary reason for the patch and hence the rules is to reduce the number
of similar arcs warnings to a manageable number that are actually useful. A
useful side effect is slightly reducing the size of the map. Many of the
warnings are caused by highway areas overlapping linear highways. You are
right that the patch does cause incorrect routing data - the first few I
tried to route over seemed to be OK, but others failed, so I assume it is
just luck when one still works. I can't find any NodCheck in the code, and
with all warnings enabled, I don't see any messages relating to this. I was
following your suggestion about using the code for --report-similar-arcs as
a base to drop overlapping arcs. Checking back, I see you did mention you
didn't know whether this would produce incorrect NOD data. I have realised I
also need to delete the reverse arc and have added code for that, but
haven't discovered how the NOD data is connected. Can you point me in the
right direction? Don't suppose there is any documentation about the code
structure...

Cheers,
Mike

-----Original Message-----
From: Gerd Petermann [mailto:gpetermann_muenchen at hotmail.com] 
Sent: 22 May 2021 06:31
To: Development list for mkgmap <mkgmap-dev at lists.mkgmap.org.uk>
Subject: Re: [mkgmap-dev] Similar Arcs

Hi Mike,

what exactly is the benefit of those rules? What's the problem if the
similar arcs are not removed?
I can't belief that this works without causing possibly wrong routing data.
Doesn't NodCheck complain about the removed arcs?

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Mike
Baggaley <mike at tvage.co.uk>
Gesendet: Samstag, 22. Mai 2021 00:51
An: 'Development list for mkgmap'
Betreff: [mkgmap-dev] Similar Arcs

Hi Gerd,

Please find attached the patch for deleting similar arcs. It uses a new
mkgmap:nooverlap tag which can be set to a number between 0 and 127 (default
0) in the lines file. If set to a number greater than zero then the
overlapping part of the line will be deleted if it overlaps another line,
providing the access of the other line is a superset of its access. If both
lines have non zero values and have the same access then the line with the
higher value will be deleted.

In my style file I have the following:

highway=service & (area=yes | mkgmap:mp_created=true) & (foot=yes |
foot=designated | foot=official | foot=permissive | (foot!=* & (access!=* |
access=yes | access=permissive))) {set mkgmap:car=no; set mkgmap:bicycle=no;
set foot=yes; set mkgmap:flare-check=no; set mkgmap:numbers=false; set
mkgmap:set_unconnected_type=none; set mkgmap:set_semi_connected_type=none;
set mkgmap:nooverlap=1} [0x13 road_class=0 road_speed=0 resolution 22]

highway=pedestrian & (area=yes | mkgmap:mp_created=true) & (foot=yes |
foot=designated | foot=official | foot=permissive | (foot!=* & (access!=* |
access=yes | access=permissive))) {set mkgmap:car=no; set mkgmap:bicycle=no;
set foot=yes; set mkgmap:flare-check=no; set mkgmap:numbers=false; set
mkgmap:set_unconnected_type=none; set mkgmap:set_semi_connected_type=none;
set mkgmap:nooverlap=1} [0x0d road_class=0 road_speed=0 resolution 22]

amenity=parking & (parking!=* | parking=surface) & (foot=yes |
foot=designated | foot=official | foot=permissive | (foot!=* & (access!=* |
access=yes | access=permissive))) {set mkgmap:car=no; set mkgmap:bicycle=no;
set foot=yes; set mkgmap:numbers=false; set
mkgmap:set_unconnected_type=none; set mkgmap:set_semi_connected_type=none;
set mkgmap:nooverlap=2; set mkgmap:delivery=no; set mkgmap:truck=no; set
mkgmap:bus=no; set mkgmap:taxi=no; set mkgmap:emergency=no } [0x08
road_class=0 road_speed=0 resolution 24 continue]

and similar for railway=platform, man_made=pier, man_made=jetty and
leisure=slipway.

Cheers,
Mike




More information about the mkgmap-dev mailing list