This bug was highlighted in r3334 when the test public_transport=platform was
added to these four rules in the default points style file (lines 45-63):
(public_transport=platform | highway=bus_stop | railway=tram_stop |
railway=halt | railway=station)
& (ref=* | route_ref=*) {
set ref='${ref|def:}(${route_ref})';
}
(public_transport=platform | highway=bus_stop | railway=tram_stop |
railway=halt | railway=station)
& lit=yes & (shelter=yes | covered=yes)
{
set ref='${ref|def:}*';
}
(public_transport=platform | highway=bus_stop | railway=tram_stop |
railway=halt | railway=station)
& lit!=yes & (shelter=yes | covered=yes)
{
set ref='${ref|def:}+';
}
(public_transport=platform | highway=bus_stop | railway=tram_stop |
railway=halt | railway=station)
& (shelter=no | covered=no)
{
set ref='${ref|def:}-';
}
What happens is that if a node has two of the tags in the list
public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt
| railway=station
then the node is processed twice by each rule, so the route_ref and the shelter
marker (*, + or -) are doubled-up. Looking at
https://www.openstreetmap.org/node/1424432523 - this node is tagged
public_transport=platform and highway=bus_stop. Prior to r3334, the node had
only one tag that matched and there was no doubling-up. From r3334 onwards,
there are two tags that match and the result is Agglo Hérault Méditerranée:
(1;2;3;4;5,4,4,3,3)(1;2;3;4;5,4,4,3,3)++ Gare SNCF. I believe it is not
intended that style rules should work in this way, therefore it is a bug in the
code. In which case it is a question for the Java experts.
Adrian
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev