ToniE has commented on the following diary entries

Post When Comment
Better way of verifying the connectedness of relations? 4 months ago

@rayKiddy: well, that's what I also do but I nevertheless use the overpass api instead of OSM api. OSM API is for Editors, ... not for read-only QA tools.

@kucai: 1. I usually break them up into sections, including only those which are actually used 2. others include the entire roundabout (if not already split into sections) - also valid 3. do not bypass them, include them

JOSM's validator allows both 1. and 2. and complains for 3. Same applies for my tool.

Better way of verifying the connectedness of relations? 4 months ago

I use OVERPASS API instead of OSM API. This API is designed for those queries.

I download all relevant data in one go into an XML file and let the analysis code parse that file.

Example for querying all public transport data for busses in the the "county" of "Landshut" (all counties worl-wide with that name)[boundary=administrative][admin_level=6][name~'Landshut'];(rel(area)[route~'(bus)'];rel(br);rel[type='route'](r);)->.routes;(.routes;rel(r.routes);way(r.routes);node(r.routes););out;

is a good playground.

Be sure to use the ID of nodes instead of their LAT/LON to check the connectedness of ways.

Better way of verifying the connectedness of relations? 4 months ago

Hi rayKiddy,

yep, the code ist in github

The relevant code starts at line 2850 of

It does what it has to do, after many patches and adding more and more if/else. But I'm afraid 50% of the code is redundant (never change a running system ...). A re-design is on the roadmap though.

The tool currently analyzes 27 Public Transport networks in Germany, mostly Bavaria ...

An overview (in German) is given here

Examples of the output can be found in the column 'Name'.

Br Toni

Better way of verifying the connectedness of relations? 4 months ago

I have similar code in Perl which checks ways in Public Transport relations (PTv2).

Take the given sequence of the ways in the relation and check

  • whether a way is connected to its the sucessor or not (count number of gaps),

  • whether the vehicle (bus, tram, train, ...) uses a oneway road in wrong direction w/o oneway:psv=no, oneway:bus=no, ...

  • whether a roundabout is included in the list completely but the vehicle uses only segments,

  • whether the vehicle is allowed to use the road (no for: hw=construction, =footway, ... w/o psv=yes, ...)

  • and so on

The code became pretty complicated and long and maintaining that part of the overall code is hard.

The Subway Validator evolves 8 months ago

Thanks again Ilya,

1 and 3 are also not too complicated, badly sorted relations.

2 is not so easy and does not fit everywhere: "platform_entry_only" has a lift whereas "platform_exit_only" does not have a lift (at Munich Marienplatz for instance) - difficult for wheelchair users and others who can't use stairs or conveying steps.

Thanks, I'll fix asap. Toni

The Subway Validator evolves 8 months ago

Sorry for nagging ...

  • Angle between stops around "Grafing Bahnhof" is too narrow, 0 degrees (relation 1794891, "S-Bahn S4: Geltendorf => Ebersberg")

    I don't know what this means and how this should be

  • Multiple platforms for a station "München Hauptbahnhof (tief)" (w43338429) in a route relation (relation 1782541, "S-Bahn S2: Petershausen => Erding")

    This is OK, it is called the "spanisch solution": single track between two platforms

    leave the train on the right
    enter the train on the left
  • Route does not have a return direction (relation 1843976, "S-Bahn S8: Herrsching => Flughafen München") and Route does not have a return direction (relation 1843975, "S-Bahn S8: Flughafen München => Herrsching")

    hmm, first is the return direction of the second and vice versa and they are members of a common route_master

The Subway Validator evolves 8 months ago

Thanks Zverik,

so it is more an indirect connection through a common stop_area relation. Well, not too complicated though, I will keep an eye on it.

The Subway Validator evolves 8 months ago

Hi Zverik,

in Europe -> Germany -> Munich S-Bahn I can see many erros like

stop node 737174134 is not connected to a station in route (relation 1844089, "S-Bahn S20: Pasing => Höllriegelskreuth")

What does this actually mean and how can I fix that, i.e. "connect a stop node/platform to a station?"

"public_transport=station" can be Node or closed Way (area) but not simple Way or Relation.

Any suggestion?

Thanks Toni

Glorious JOSM 11 months ago

+1 (or even more) from my side.

I've been using JOSM for more than 10 years now - great tool.

@ClipArtJoel: try the "turnrestriction" plugin.


New week and new energy required 11 months ago

Thanks, but no. Still not working.

How do you classify land use on OSM? Do you believe you could do it well? 12 months ago


4th try now and still:

says the same when I click on "Start".

How do you classify land use on OSM? Do you believe you could do it well? 12 months ago

Doesn't work though:

"We're sorry, but something went wrong.

If you are the application owner check the logs for more information."

Regards Toni

Sorting route relations about 1 year ago

@lonvia: really brilliant. I never assumed that you sort the routes. @Tomas Straupis: and it allows calculating the elevation profile.


My Bicycle setup for Mapillary about 1 year ago

I have the same problems with my 1GBit/sec DSL upload speed.

I do the following:

  • prepare the images using mapillary Python script on my PC
  • rsync the images to my Raspberry-Pi
  • limit the upload speed to mapillary to 30KB/sec (by a traffic monitor on the Pi)
  • use the mapillary Python scripts on Pi to upload to mapillary
  • have a module for the RPI-Monitor to remotely monitor the progress

works fine for me. But for 5,000 images it might take 2-3 days to upload all images.

10 years in OSM over 1 year ago

Wow, another oldie! Congratulations.

Breaking route relations while splitting roads over 1 year ago

Good concern. Having stops and platforms is recommended, not mandatory.

I'll change that to "all or nothing": if there is at least one stop or platform, the full check for stops or platforms is started

  • first and last node of the entire way have to be stop positions of the relation, the first and last stop in the list.

  • stop positions have to be nodes of the ways.

  • stop positions have to be ordered respecting the way, i.e if I follow the entire way, I will pass stop#1, stop#2, ... of the list of stops (ignoring all other stop positions on the way of course)


Breaking route relations while splitting roads over 1 year ago

Hi Polyglot,

good point and less error-prone. I try to change my habit towards this - may take a while.

BTW: my Perl script will also check the sequence: stop/platform, ... stop/platform, way,... , way

The original idea for the script was to have a wiki page, listing the state of all routes of a region/operator/network, so that we can easily check and start JOSM for those who show problems.


Breaking route relations while splitting roads over 1 year ago

... and another hint:

Exit the JOSM "relation editor" before splitting a way which is already member of that relation. Otherwise you will have to fight with conflicts.

Best regards Toni

Waymarked Trails goes OpenTopoMap over 1 year ago

Thanks to you too, Sarah for developing, hosting, maintaining "Waymarked Trails". A great, the best place to search for trails!

And of course thanks to OpenTopoMap for adding this feature.


Breaking route relations while splitting roads over 1 year ago

Hi Jothirnadh,

thanks for summarizing this. I have have stepped into this trap many times.

Also a good trap ...

Downloading only the public transport relation and then try to split a way. This might end up in spoiling other relations that have not been downloaded so far.

Always download the surrounding data before splitting!

Another hint:

Have a look at JOSM ticket #14711: JOSM does not consider "oneway=yes" or "junction=roundabout" when sorting.

I'm currently working on a script for the analysis of public transport relations of a region/city/network. Kindly have a look at the Munich/Germany analysis: some parts are in German but errors (Fehler) and notes (Anmerkungen) are in English.

Best regards Toni