OSM-Completionist
OSM-Completionist copied to clipboard
Quest: add sidewalk quest
https://github.com/westnordost/StreetComplete/tree/master/app/src/main/java/de/westnordost/streetcomplete/quests/sidewalk looks complex but good to use here as well. There is still some to do in Berlin for sidewalk :)
Nice idea, I like it!
For the quest system in its current state, we need this information:
- Quest ID: A
Stringthat is used to reference the quest's "selected" state in theUserDefaults - Question
- Overpass Wizard Query: A query that the objects on the map are matched against
- Icon Image
- Type: As of now, the app supports
- boolean (yes/no)
- multiple choice
- numeric
~~(I should probably create a GitHub issue template for this.)~~ Done.
Everything can be copied from StreetComplete, except for the Overpass Wizard Query. The query that they are using looks like a full Overpass query, not a Wizard query.
I am not sure how we can get the Overpass Wizard Query from that quest. Since you can compose and test these queries in OSM Completionist already, maybe you can have a look and see if you can come up with one?
Edit: I tried extracting the query from AddSidewalk.kt:
type:way and highway ~ '^(primary|primary_link|secondary|secondary_link|tertiary|tertiary_link|unclassified|residential)$' and area != yes and motorroad != yes and (sidewalk !=* and sidewalk:left != * and sidewalk:right != * and sidewalk:both != *) and maxspeed !~ '^(8|7|6|5|5 mph|walk)$' and surface !~ '^(unpaved|compacted|gravel|fine_gravel|pebblestone|grass_paver|ground|earth|dirt|grass|sand|mud|ice|salt|snow|woodchips)$' and (lit = yes) and (foot != no) and access !~ '^(private|no)$' and foot != use_sidepath
What is missing, though, is its last part: In the comment, it states that
some roads may be farther than minDistToWays from ways, not tagged with footway=separate/sidepath but may have a hint that there is a separately tagged sidewalk
In its current form, our Overpass Turbo Wizard quests are not able to handle this, since they only work with the Wizard query; not with raw ones. Could you try the query and see how it works for you?