Israel GTFS release

Thanks. So correlation appears to be quite simple, but I think merging should be a bit more sophisticated.

The simple way to merge is to just remove all existing nodes and re-add. I think this is not suitable for frequent periodic updates. (It destroys history, manually added tags like “sheltered”, and needlessly causes the entire IHM to re-render).

My initial plan (subject to many changes) is roughly like this:

  • Turn the GTFS into a JOSM bus_stop layer using GO_Sync

  • Grab the current OSM bus_stops to a different layer using Overpass API.

  • Merge the two layers

  • Use the JOSM Scripting plugin to detect and merge the different identical nodes (based on ref/gtfs:id and even distance), preserving node IDs and manual tags.

  • Somehow delete the bus stops that are no longer in the GTFS.

The script should be reusable, allowing it to be shared with the community. Also, before starting I need to make sure nobody has already solved this before.

Also, I might be underestimating GO-Sync since I have not tried it. It might save me the trouble of writing a script, if it can perform syncs in a smart way.

Another case you should think about: gtfs coordinates appeared as not very accurate, so many bus stops were moved manually to their real location. I marked all imported stops with fixme tag asking to verify location and existance. So, stops with fixme are free to be moved, but stops without fixme tag should be handled separately.

Can I remove all the auto-added bus-stop fixmes? They are shadowing real fixmes.

Thanks. I will consider that too.

Can I remove the GTFS fixmes? They’re shadowing legitimate fixmes and there’s 30k of them.

+1 from me (for what it’s worth), I agree that they’re shadowing. Will there be another way to identify all the stops that are currently marked fixme? E.g. would they be added to a new ‘stops for review’ relation or something?

They was added to draw an attention of editors to low quality data import. I don’t see any better way of doing this and IMHO, they are not less important than any other fixme. If current gtfs data will be more accurate - we can easily clear all fixmes.

Were there any specific examples of seriously inaccurate GTFS data (e.g. more than 5-10 meters)? Or was it just a general suspicion of the import accuracy?

I can’t give you any exact statistics, but I saw many stops on wrong side of the road and too far from their real location. Even moovit added option to report correct location.

I’ve fixed many stops in Rishon that was on the wrong street side or at another block (it may be 10-20 meters, but if you coming from the side street it will be the right turn instead of left one, and pedestrian turn-by-turn routing will fail in that case)

Is there a way to tag the nodes as ‘position is inaccurate’ in a way that routers, etc will understand? Something like a precision=10m tag?

The vast majority of the GTFS fixmes are false positives. On the other hand the other fixmes almost always require attention.

Maybe we could use another tag, e.g. gtfs:accuracy_fixme/source=“Auto-imported GTFS, check for accuracy!”/precision=10m.

Preferably something already being used.

I’ve asked about accuracy=* on help.osm.org:

https://help.openstreetmap.org/questions/57436/how-to-tag-approximately-positioned-in-a-machine-parseable-way

The discussion is ongoing.

Worth noting this comment by SomeoneElse:

We can combine the methods, e.g., add gtfs:verified=no and accuracy=20m (or whatever the worst-case error is known to be).

fixmes were replaced with gtfs:verified=no. I did not add accuracy because I don’t know the error rates. Changesets: #51169519, #51170352, #51171122, #51174070.

Fixmes down from ~31,000 to 1895. Only 6% of the fixmes left. That’s pretty manageable.

@SwiftFast thanks! (OT: also, thanks for the Daliyat al-Karmel market fix the other day)

Now that all bus stops imported via gtfs have gtfs:verified=no, wouldn’t it make sense to write a script to download the GTFS DB every week, add only update bus stops that have gtfs:id and gtfs:verified=no ? stops move around often (especially in Tel Aviv where there are road works), new stops are regularly added and old stops are regularly removed.

At the moment, OSM has a lot of stops that aren’t there anymore, for example the ones in Petach Tikva’s Jabotinisky middle bus lane (that has been closed for the light railway construction for a while now). Since Israel has so many bus stops, it makes no sense to maintain them manually - no human can track all the changes and keep the map up to date. I know automated edits are generally frowned upon in OSM, but that’s the only reasonable way to keep the bus stops up to date on the map.

Yes, an updating script is needed. It’s on my to-do list. See previous posts in this thread. (Though I’m not sure I agree on the specifics you mentioned. Bus stops without gtfs:verified=no should still receive updates).