[Tagging] Bridges and layers

David Earl david at frankieandshadow.com
Mon Jul 26 11:44:09 BST 2010


On 26/07/2010 10:58, Richard Mann wrote:
> One of the things Dave Earl mentioned in his talk about rendering was
> the gaps-in-casings you sometimes get at bridges.
>
> What I've ended up doing is
> 1) rendering casings in layer (not underneath everything like Mapnik)

That's what I did also in my renderer.

Talking to Steve Chilton afterwards, I was surprised to learn that 
actually Mapnik is not layer-aware at all, which is where some of the 
problems arise (bridges over bridges being a particular case which I now 
understand why solving is so difficult).

> 2) putting in a flag to identify ways that join ways of different
> layer, with a view to suppressing end caps

If you do things in the right order (circular) end caps get obliterated 
by the higher layer in a painting model. (Square and butt line cpas 
cause all sorts of other problems if treated naively, while circular 
line caps - and joins - largely just work).

I came to the conclusion that for several reasons including your case 2, 
and also the problem of some ways penetrating others when not desired, 
the best way to handle all meeting ways might be to render the meeting 
separately from the ways - painting a "star" of meeting roads on top of 
the basic renderings. Needs a lot more calculation, and there are places 
it would still break down because of very close proximity features 
(which causes problems in other ways too), but I think it would improve 
the general case a lot.

The particular problems I didn't attempt to solve, particularly related 
to the need to exaggerate road widths more on a printed map, are that 
bridges don't necessarily span the entire exaggerated width of the 
underlying road (river, whatever), leaving unpleasant gaps, merges etc 
in the image.

That requires at minimum knowledge of what the underlying feature is, 
which I guess you could determine by computation, but even then the 
geometry is very complicated and can have knock on effects to lengthen a 
bridge artifically (just as widening a road can, as I mentioned in my talk).

David




More information about the Tagging mailing list