^I don’t think that’s it. The trunk road itself is not tagged as a bridge, but it is properly shown as going over all the roads that it is really over. It’s only the trunk-link roads that are rendered improperly by Mapnik.
Mapnik still gets some ordering wrong. If you think your data is sound, don’t think too long about how mapnik shows it. It’s a complex issue (in mapnik), of stylesheet complexity, to stylesheet maintainability and even rendering speed.
If they’re overpasses they should be tagged as bridges. Just because there is an illusion of correctness in the rendering it does not make up for defects in the data. Any and all bridges should be tagged so properly.
Am I right in understanding that you think you don’t need bridge/tunnel tags, coupled with layer=*, when you see it’s already rendered ‘right’ on the map? That is a backwards assumption. The map should never be leading. If it’s one massive overpass, tag it as such, with appropriate bridge and layer tags.
That it currently shows up the way it does, in the absence of layer tags, is not an indication that it was tagged correctly. It just shows that the current drawing order in the stylesheet for mapnik makes it work out that way, but that may well change in the future, and you do need layer=* to indicate canonically which is the overpass and which way goes under that.
No, you’re not right. Alex McKee persuaded me that if it’s not right it should be fixed. It’s just that I don’t yet have enough experience to do the job. It’s very complex. All of the highways leading into this interchange are currently shown as single carriageway. In fact they are all dual carriageway and all have frontage roads, only one of which is currently on the map, which I added.
Changing the highways to dual-carriageway and adding the frontage roads, which should be done first, will affect hundreds of kilometers of road and will require extensive editing of the roads which connect to the highways throughout those hundreds of kilometers.
At this point I don’t have the expertise required to do the job properly.