How to copy all relations of a bus stop that moved to a new location?

Dear experts,

a bus stop (public_transport=stop_position; bus=yes) has moved to a new location, just some 100m further down the same street (see first URL below).
If I simply drag the bus stop to that new location, the street layout becomes corrupted. So I created a new bus stop (second URL below) in the street, but I did not manage to copy all of the items of the “relations”-list of the original bus stop to the new bus stop.
How may I achieve this?

This is the “source” node: Node: ‪Petershausen, Jetzendorfer Straße‬ (‪5175201830‬) | OpenStreetMap
And this is the “destination” node: Node: ‪Petershausen, Jetzendorfer Straße‬ (‪12066832406‬) | OpenStreetMap

Thanks you very much for any support on this issue!

Andy

1 Like

If the whole stop position has been moved for all routes, then I’d just remove the node from the way, move it to the new location and merge it back into the way again.

In JOSM, this could be done relatively simply by:

  1. Loading the area
  2. Select node
  3. From the menus select: Tools> Disconnect node from way (Alt+J)
  4. Move near new location and use Tools > Move node to way (N).
  5. Upload

I would give instructions for doing this in the in browser iD editor, but it appears that it unhelpfully strips all the relations from the node as soon as you separate it from the parent way. As iD is probably the worst editor for editing relations (except turn restrictions) repairing the damage would probably be worse than trying to do the edit in a text editor.

4 Likes

Maybe, it works if you first merge the node at its new position and then remove it from the old way.
Still, deleting its memberships sounds like a major bug and should be reported.

Well, moving a node from one way to another isn’t that complicated. You have to modify the node’s coordinates, delete its entry from the old way`s node list and add its entry to the new way’s node list at the correct position. All in all modifying two numbers and moving one line. :slightly_smiling_face:

Hey Andy,

To handle this, you’ll need to copy the relations from the old bus stop to the new one. Here’s a step-by-step guide:

  1. View Relations: Go to the OpenStreetMap website and open the details for the source node here. Check the relations associated with this node.
  2. Copy Relations: Note down or copy the details of each relation. You can find them under the “Relations” tab when viewing the node details.
  3. Edit New Node: Go to the new bus stop node here. Click the “Edit” button.
  4. Add Relations: Manually add the relations to this new node. This usually involves selecting the relation type (like “bus_route” or “public_transport”) and then adding the correct members (the new bus stop node ID).
  5. Save Changes: After adding the relations, save your changes. Make sure to check if the new bus stop is properly associated with the relevant relations.

You might also want to check if any additional tagging or metadata needs to be adjusted to ensure consistency.

No need to do any of the above. There’s “Replace membership”. Help/Plugin/UtilsPlugin2 – JOSM

What about iD, which is what the person who asked the original question is using?

1 Like

This can also be done using iD (without remembering all 30 bus routes the stop serves). However, it takes some creative working around its validations and limitations (for starters, extracting a point from a way does not take its relations along).

Without going through all the details, here’s a screenshot of an intermediate step (relations must be deleted from the cut segment, but iD lets you keep them on the node so it can be moved to the new location):

Jetzendorfer

I’ll leave the rest as an exercise to the reader. :slight_smile: If you can’t figure it out, I’ll complete it, but it’s more fun for everyone to present it as a puzzle.

1 Like

However, what I don’t quite understand is that there are two nearby nodes at the target location, together serving 25 routes (13+12). I assume those are different directions of related routes?

Since public transport is not really my thing, what’s the preferred way of mapping this? I would presume we prefer to keep separate stops at both sides of the street, each serving its own direction, rather than have them all aggregated in the single node, as in the original one? If that’s the case, shouldn’t you just add a few missing relations, rather than trying to move the node?

Those are “platforms” , not stop positions. Often platforms are much easier to deal with when they move in real life, as they are not on the road network so can simply be relocated. The node being discussed is a stop position.

Unfortunately, doing it in iD is plain impractical. It’s not only about adding members, but also putting it in the correct order. As mentioned by @InsertUser first, “extracting” it doesn’t work. You can’t disconnect it either, with route=bus etc on the highway= roadway.
Not helped by iD’s bugs in splitting. It’s simply unsuitable for this purpose. ID editor mucking up bus routes

1 Like

Like I said, I did it in less than 5 minutes, without even really knowing what the affected relations are (30 local bus routes). And the solution still sits in my local iD session waiting to be committed. Now, I grant it’s far from obvious how to do it, but then, learning intricacies of JOSM is not an easy job for a beginner either.

And I think they finally fixed that mucking-up bug. Again, on the expense of poor mappers, forcing you to download the whole relation manually if you just want to split one member. Sigh.

1 Like

Didn’t notice, as not all tickets have been closed. Still gives me an aversion in iD.
I can’t say telling a new user to do the surgical operation of splitting the section out, moving the point to the new location, and reconnecting the old section, is ideal and recommendable to everyone. Seems many risks of new user error imaginable. This isn’t one of the complicated task in JOSM.

  1. Install JOSM
  2. Install Utilsplugin2
  3. Download the area
  4. Select the old point
  5. Select the new point
  6. Click “replace membership” inside “More tools”

Is that list documented anywhere - things like what buttons you would press in what order to “Install Utilsplugin2”, and what “select” means - does it mean click on it, select an item from a menu somewhere, or something else?

You’re right, after all. What I did was basically a hack, not a clean, intuitive method. iD still has a long way to go in working with relations. However, I don’t see much enthusiasm among devs to go in that direction, since “iD is not for advanced editing”. Too bad, if you ask me, since they have improved so much in the last 5 years.

@andyg : I saved the changeset. Please check if it’s correct.

P. S. Extract tool removes relations from node · Issue #8929 · openstreetmap/iD · GitHub

1 Like