Any potential danger of large scale crossing:markings=zebra tagging?

Recently I started to use StreetComplete. I observed there is this particular question regarding crossings:

Does this crossing have markings on the ground?

In most of the cases I have seen, the answer is completely decidable using Norge i bilder. StreetComplete’s quest guidelines say:

Surveyor time is valuable, they shouldn’t be asked to complete data that does not require a survey and can more efficiently be done remotely.

To help improve the quest, and ask this question only when the answer cannot be determined remotely, I came up with the following plan:

  1. Extract all Norwegian crossings which don’t have a value for Key:crossing:markings.
  2. Mark these crossings on Norge i bilder imagery. 1 crossing, 1 image. Something like this:
    76253
    I did this by hand, but I can do this programmatically. I believe I can make it so that the crossing (and therefore the marking) is always at the centre.
  3. Go through the images, and select the ones where I can confidently say, crossing:markings should be zebra (such as the example above).
  4. Generate iD URLs pointing to such crossings, and add crossing:markings=zebra. For the above example, the generated iD URL would be: https://www.openstreetmap.org/edit#map=24/59.91264/10.73203.

I hope that doing this would also decrease the number of Marked Crossing has incomplete tags warnings in iD:


Screenshot from here. Tagging as crossing:markings=zebra seems more insightful than just a crossing:markings=yes.

Apart from the time necessary to complete this plan (especially step 4. could be time consuming - if it turns out to be not feasible I will consider using more powerful tools), what could go wrong? In other words:

Would the above described manual, yet still large-scale, tag edits have consequences I didn’t think of?

1 Like

I think it would be easier to use JOSM and extract the undetermined crossing with this Overpass query:

highway=crossing -"crossing:markings"=* type:node in Oslo

Then walk through each case with the To-do plugin, using Norge i Bilder as the background imagery.

There are more than 30.000 crossings in Norway (6000 in Oslo) without any tagging for markings, so this is a very large manual task …

By the way, I believe crossings which are lacking crossing=* are even more important to tag because they determine right of way for pedestrians also in cases without markings.

1 Like

Thank you, excellent suggestion! I made my first changeset regarding this issue. I wasn’t able to figure out how to use exactlly your query, but this seems to have worked:

[out:json][timeout:25];
area["name"="Oslo"]->.searchArea;
node["highway"="crossing"]["crossing:markings"!~"."](area.searchArea);
out body;
>;
out skel qt;

I am having some trouble regarding the To-do plugin though. This and this both say I should click Edit→Preferences, but I don’t have Preferences under Edit:

It looks like you’re on MacOS. In that case, the “Preferences” menu option is probably under the “JOSM” menu.

1 Like

Found it, thank you! It’s called “Settings…”.

For automatically detecting zebra crossings you might be interested in NorthCrab's Diary | 🚸 AI-Powered Pedestrian Crossing Mapping: A Revolution | OpenStreetMap by @NorthCrab
The project solves more complicated problem: automatically adding new pedestrian crossings.
It should be possible to adjust it to add crossing:markings=zebra to existing crossings automatically based on imagery.

2 Likes

Very interesting, thank you. First, I would like to reach high level of expertise using non-AI based tools, and once I’m there, I’ll be happy to leverage these modern developments.

I think I grasped how the todo list works (see this changeset).

1 Like

I think I quite got the hang of this. If there are any problems with this or this changeset, I’d appreciate if I was told about it. If no problems come up in a few days time, I’ll continue.

A few suggestions:

  • Most important: Make sure all crossings which you touch have a crossing=* tag. It should be crossing=uncontrolled unless it is already tagged as a traffic signal. 9 of your edits lacked crossing=*. You may search for highway=crossing -crossing=* modified type:node just before uploading.
  • Delete the crossing_ref=zebra tag. It is a duplicate of crossing:markings=* and it is not used in Norway anymore. Search for highway=crossing crossing_ref=* modified before uploading.
  • Add crossing:island=yes if you see a traffic island,.
1 Like

Thank you @NKA!

I am slightly concerned about the first point: if I use crossing=uncontrolled for everything not tagged as a traffic signal, then I will probably tag crossings as uncontrolled which should have had a traffic signal tag but did not - isn’t this a problem?

In other words: am I not relying mistakenly on the traffic signal tags to be complete if the lack of them is a good enough reason to tag a crossing as uncontrolled?

2 Likes

All traffic signals have already been imported from NVDB, så I think it is quite safe to assume that the rest should be crossing=uncontrolled (if zebra markings are visible).

1 Like

Oh that’s great then! Thanks!