My first addition - bus routes in Miltenberg, Germany - and many quest


I added (using JOSM) two bus routes in Miltenberg, Germany, Bus 80 an 81. I think I followed the descriptions of the new public transport scheme, but there are some open questions.

  1. First of all, how can I reference or link to this route, so that you can easily look it up?
  2. I asked for a review - does this work? Or does it mean that it will last weeks until someone manages to do this?
  3. I think I followed the PT_v2 scheme. Upon upload, the automatic check urged me to add a public_transport:version = 2. But after that, it found new errors: Items of type point/node shouldn’t be there, only lines. However, isn’t that how it’s supposed to be: A bus route consists of the stops and the ways?

TIA, Frank

Hi Frank,

  1. every item (node, way, relation) has an id, josm shows that in the object browsers. You can also link to your changeset, you can find that on the history page of your profile
    Changeset in question is
  2. where did you ask for that review? I haven’t heard of this feature
  3. yes, public_transport:version=2 is supposed to be there if you map according to PTv2. The error you get is that the nodes in the relation do not have a role. Open the relation editor in josm and the first colum says role. Nodes with tag public_transport=stop_position should have role stop, nodes with public_transport=platform should have role platform.
    Josm adds this automatically when you add the node when you have public_transport:version=2 already in the relation. So all you need to do now is remove the nodes and add them again and the role will be addes automatically.

I see further errors:
4. the ways are not ordered into one consecutive route, there are gaps. Shown in the relation editor in the right colum where the black line is ended with a red dot.
5. you have added a few stops twice, yet there are no ways added twice. If the bus does the same way twice, it should reflect that in the ways you add. It looks like bus 80 does a loop in Bürgstadt and uses the Miltenberger Straße twice. Then it should also be in the relation twice (maybe that’s where the gaps come from). And the roundabout in the St 507 is only in in the forward direction.
6. for PTv2, you have one relation for each direction. I think you put both directions in one relation. You will need to split that up. Line 80 seems to do a circle Miltenberg - Großheubach/Bürgstadt - Miltenberg, but since there are two seperate lines (one via Miltenberg Engelplatz, the other via Bürgstadt Mozartstraße, you have to split thos as well. Bus 81 is Miltenberg - Erlenbach and Erlenbach - Miltenberg. Basically you have one relation for each route the bus takes. This can get crazy if buses have a lot of different routings.
All relations from one line should then be put in a master relation.

Have a look at how bus 370 is mapped here:

See eg but also JOSM has this feature

Thanks, escada - it was the same feature in JOSM that I used.


Hi Maarten,

thank you for the detailed answer.

For the stop_positions this works automatically, indeed. The platforms are not yet part of my route. They should be added each after the respective stop_position?

I saw this, but wasn’t sure how to handle this. It’s not that I missed some part of the street. In one case there’s a roundabout that has no “break” where the route leaves it, only where it would enter in the opposite direction. I would need to divide the piece of roundabout into two pieces - can you point me to some documentation that explains how to do that in JOSM?

It’s a bit different - I have not yet added the backward direction after the loop. Actually the bus does one loop from Miltenberg Bahnhof to and through Großheubach and back to Miltenberg Bahnhof (and that loop is always in the same direction). Then it goes through Miltenberg and loops in Bürgstadt, on the way back it takes the same way through Miltenberg (no idea why one stop is only in the backward direction). The complication is that every other bus does the tour through Bürgstadt the other way round.

When I add the missing ways, should I indicate that this is the backward route? How and where? It’s tricky, because the loop changes its direction in Bürgstadt. Therefore the change backward-forward should probably not simply be where the loop closes - that would be too early in on of the directions. Is there any guideline?

This is a master relation? (Hey, I’ve nearly been there, in Haelen and Roermond). I see no loop in this case, correct?

Many thanks, Frank

Yes. But you already had a few platforms in the route.
There is some discussion whether or not stop_position is actually needed. I think in JOSM the PTv2 checker complains about it when it is not present at the beginning or the end. I usually do not make a new stop_position if it is not there, I only make the platform.

I think does a decent job.
You can leave roundabouts in as a whole circle (when it is undivided) but I usually split it up.

Then you make one relation for the one direction through Bürgstadt and one relation for the other.

No forward/backward is needed because you only add a forward direction. That is also why you have to make different relations for different routes. If a way is used twice, you add it to the relation twice. There is a setting in JOSM that prevents that, so you should not have that set.

It is. You have to download the member relations in JOSM to see the rest.
Somewhere where I went a bit crazy with all the relations:
About 30 relations for all the different routes that bus 109a takes.