<div class="gmail_quote">On Dec 10, 2007 3:21 PM, Cameron Patrick <<a href="mailto:cameron@patrick.wattle.id.au">cameron@patrick.wattle.id.au</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">Chris Hill wrote:<br><br>> This is one of the improvements that relations promise to bring. The<br>> idea is that you make both carriageways part of a relation with<br>> type=dual_carriageway and the renderer then only labels it once. As
<br>> yet it doesn't seem to work, but I guess it will in the future..<br><br></div>It's easy enough to recognise dual carriageways programmatically - I've<br>written OSM rendering code that does it. (It's not published anywhere
<br>and needs to be updated for the 0.5 API. If anyone is interested, let<br>me know - last time I offered people seemed to say "we already have two<br>renderers, please don't confuse things furhter" which is fair enough.)
<br><br>I've also been meaning to experiment with rendering algorithms that<br>break up long ways and merge short adjacent ones with the same name.<br>The only tricky bit with that one is maintaining consistency at tile
<br>boundaries.<br></blockquote></div><br>This stuff would be good as a pre-processor to osmarender, I reckon. While you are there, you might also ponder the problem of drawing dual carriageways at lower zoom levels where the lines representing the carriageways overlap (it really ought to be drawing a little line in the casing colour representing the central reservation, which requires synthesising an intermediate line based on the left and right ones).
<br><br>-- <br>Abi<br>