zabop
1
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:
- Extract all Norwegian crossings which don’t have a value for Key:crossing:markings.
- Mark these crossings on Norge i bilder imagery. 1 crossing, 1 image. Something like this:

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.
- Go through the images, and select the ones where I can confidently say,
crossing:markings should be zebra (such as the example above).
- 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
NKA
2
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
zabop
3
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:
Carnildo
(Carnildo)
4
It looks like you’re on MacOS. In that case, the “Preferences” menu option is probably under the “JOSM” menu.
1 Like
zabop
5
Found it, thank you! It’s called “Settings…”.
starsep
(Filip Czaplicki)
6
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
zabop
7
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
zabop
8
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.
zabop
10
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
NKA
11
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
zabop
12
Oh that’s great then! Thanks!