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

_______________________________________________
Tagging mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/tagging

Reply via email to