[Talk-transit] Multiple tracks

Richard Mann richard.mann.westoxford at googlemail.com
Mon Jun 22 12:13:48 BST 2009

While we could do it with relations, the dual-carriageway model might not be
the best starting point, since I don't think we'll ever need to set railways
up for routing programs to use. Nine months in, I can get my head round
route relations and turning-restriction relations, but I struggle a bit with
the value of relations to group parallel ways - it seems a complexity too
far for the purpose (and I don't see much evidence of renderers making use
of it to render dual carriageways).

If tracks are notably more than the standard ~3m between track centres, then
map them as single lines (tracks=1), as soon as they diverge. It's the
renderers job to smooth the transition from tracks=2 to tracks=1.

I'd do any pointwork as single lines, switching from 2xtracks=1of2 to
1xtracks=2 at some convenient point away from the junction where track
separation is roughly standard (and let the renderer worry about making the
transition seamless). Or just ignore pointwork for the moment.

I think in time, people will map individual tracks separately. But there
needs to be the ability to have a single way as a first step (not least to
make it backwards-compatible), and not to make it too difficult to add
descriptive detail (how many tracks, whether it is electrified, whether it
has passenger services, whether it has fast services, whether it has
fast/highspeed lines, whether it has freight lines). This is the sort of
information that makes sense at low zooms. Separately, you might want to add
the services as relations, so you can put together something more akin to
the operator's maps, at a higher zoom.

On Mon, Jun 22, 2009 at 10:30 AM, Peter Miller <peter.miller at itoworld.com>wrote:

> On 22 Jun 2009, at 07:51, Jochen Topf wrote:
> On Sun, Jun 21, 2009 at 05:09:35PM +0100, Richard Mann wrote:
>>> No, simpler than that:
>>> tracks=1 => render a single line at all zooms
>>> tracks=2 => render a double line at all zooms
>>> tracks=X => render a multiple line with X tracks at all zooms
>>> tracks=1ofX => render a single line at high zooms, but render as if
>>> tracks=X
>>> at medium/low zooms
>> But then you'd still draw several lines nearly on top of each other in
>> medium
>> zoom levels which doesn't look good, which was the problem we were trying
>> to
>> fix?
>> Anyway, this is a rather specialized trick about rendering the number of
>> tracks
>> properly. But what if you want to render other attributes. Say one of your
>> two
>> tracks is an industrial railway, the other a normal passenger railway and
>> you
>> want to distinguish those types. On medium zoom levels, is this a two
>> track
>> thing and we loose the type distinction, or do we keep it?
> The dual_carriageway and Junction relations would appear to the a good way
> of doing such things. I realise that the 'dual carriageway' term is not
> right and that other work would be required on the specifications, however
> it would seem a better starting point.
> http://wiki.openstreetmap.org/wiki/Relations/Proposed/Junctions
> http://wiki.openstreetmap.org/wiki/Relations/Proposed/Dual_carriageways
> A group of parallel tracks would be combined using 'dual carriageway' and
> then a group short sections of track and nodes can be combined as a
> 'Junction'. The render would then have a choice of drawing modes, either a
> single line and single point, or multiple lines/points.
> Regards,
> Peter
>> Jochen
>> --
>> Jochen Topf  jochen at remote.org  http://www.remote.org/jochen/ +49-721-388298
>> _______________________________________________
>> Talk-transit mailing list
>> Talk-transit at openstreetmap.org
>> http://lists.openstreetmap.org/listinfo/talk-transit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/talk-transit/attachments/20090622/f7011c3f/attachment.html>

More information about the Talk-transit mailing list