streetcomplete / StreetComplete

Easy to use OpenStreetMap editor for Android
https://streetcomplete.app
GNU General Public License v3.0
3.85k stars 352 forks source link

When road construction is finished immediately ask about it's surface #2535

Closed Etua closed 3 years ago

Etua commented 3 years ago

Use case

It's not an unreasonable assumption that the surface of the road may change during bigger renovations requiring it's closure. Currently if a road construction is marked as finished by SC user the follow up will be asked in a standard period of "up to date" check-in which may take years.

Proposed Solution

Ask the question about road's surface immediately upon completing the "is construction finished" quest, at least for some types like unpaved.

westnordost commented 3 years ago

Technically not possible because of the way the resurvey-quests work (the resurvey-tagging works).

matkoniecz commented 3 years ago

In theory construction quest may delete surface and other tags...

westnordost commented 3 years ago

Well, it could but does it make sense?

matkoniecz commented 3 years ago

Not sure. There are two kinds of problems:

In the first case people are sometimes unhappy that it was missed because road was marked as open by SC user so it was not checked for change in a state

In the second case people would be sometimes unhappy that it was not resurveyed and valid info was lost.

Etua commented 3 years ago

I understand that tying resurvey to the other actions performed in the app would convolute the logic behind it but on the other hand I see construction as a soft "fixme" and it's not the best practice to just remove it without trying to make sure that the rest of the information is correct. Especially considering that SC user is already at the site and aerial imagery may take years to be updated.

I opened this quest for a bit of a discussion because I don't think that there is an ideal solution out there that would at the same time:

  1. keep existing SC logic so another user in the same spot would see the same quests as they would still be based only on the general data;
  2. not be destructive if a user does not decide to add the new data;
  3. not add some new tag (unless there is some resurvey_me tag that I'm not aware of);
  4. not create clutter by automatically creating fixme tags or opening notes.

So if you decide to close it as wontfix that's alright with me as long as we take the chance for someone to come up with a suggestion that we did not necessarily thought of. Honestly if I had to choose one solution I think that what @matkoniecz said (point 2 on the list) would be still a healthy balance between keeping the data up to date and the SC logic not split into scenarios although it surely would angry someone from time to time.

westnordost commented 3 years ago

Well as @matkoniecz said, an easy solution would be to delete certain data on solving the construction quest. Question is, what data should that be ideally and without being too destructive?

Etua commented 3 years ago

I suggest we make a list of tags sorted by how likely they are to change during reconstruction and draw a line somewhere in-between them which would determine what could be safely deleted without clearing the road of all it's features.

We could discuss at least about (my guesses in brackets): surface (probably most likely, especially if it was unpaved before), whether pavement/bike lane exists (somewhat probable if they were not present already), whether the road is lit (not very likely and almost always not lit -> lit), speed limit (probably to be left alone as the speed limits quest is disabled by default).

matkoniecz commented 3 years ago

I would consider removing surface, especially if it is not asphalt.

RubenKelevra commented 3 years ago

I would consider adding a check_date=false or 0 or something like this for the sidewalk, oneway, lane count, surface, cycleway etc and react to it on the other quests as "need immediate revalidation".

This way it's not limited to StreetComplete, but you can also validate this information on other editors, just by adding a date to the check_date tag.

matkoniecz commented 3 years ago

I would consider adding a check_date=false or 0

That would redefine existing tag, and StreetComplete is not in a business of redefining tags or making new ones without acceptance from a community.

maro-21 commented 3 years ago

Well, it could but does it make sense?

No, it doesn't. Unless you're going to ask if geometry and surface, smoothness, maxspeed, source:maxspeed, lanes, turn:lanes, access, oneway tags have changed too. But all of these tags may be correct.

HolgerJeromin commented 3 years ago

I would consider adding a check_date=false or 0

Or to 2004-08-09 (start of osm :-) This way at least the syntax will be not new.

peternewman commented 3 years ago

In theory construction quest may delete surface and other tags...

Would changing them to old be preferred to avoid throwing the data away, but resurvey seems better/safer.

Or to 2004-08-09 (start of osm :-) This way at least the syntax will be not new.

Neat, I was thinking (today - 4 years) or whatever, but that seems better, or construction start date if it's available? Although I guess might not trigger if construction has been quick?

This tag could possibly be (ab)used too: https://wiki.openstreetmap.org/wiki/Key:start_date

matkoniecz commented 3 years ago

Main problem here is that setting check date to date that is not really date when something was surveyed is not really optimal and still misuses this tag.

Even adding fixme=it may be useful to check whatever lane count, surface etc was changed during road construction would be better (and handling this specially in surface, lane quests would be better though still nasty for multiple reasons). (I am not really proposing this one)

DerDings commented 3 years ago

I am often adding as much tags as possible during construction, as soon as they become visible (or signed). Deleting them when as the road is finished would double the work to do here.

In my opinion, if an existing road is undergoing a reconstruction there are two ways to deal with that as a mapper (outside SC):

Tagging an existing way as construction without caring about what happens to it in the near future is bad mapping to me, and should not be encouraged by making editors like SC take care of this case.

westnordost commented 3 years ago

I think maybe nothing should be done here.

If I mark something as construction, is it not my duty to remove tags that are not eligible anymore?

peternewman commented 3 years ago

is it not my duty to remove tags that are not eligible anymore?

Isn't the point of SC to abstract this away from the users?

matkoniecz commented 3 years ago

Note

If I mark something as construction

part.

This is not something done by StreetComplete, but by other mappers. So conclusion is that such state is unwanted, but not fault of StreetComplete edits.

smichel17 commented 3 years ago

I would apply a principle of no harm here — it is okay not to do the best thing, as long as it is still a good thing.

For someone adding a construction tag, I think that is clearly a good thing, even if they do not remove other tags (perhaps they are not sure what is changing). After all, someone else can come along and remove them later. To remove a construction tag seems like it may cause harm (loss of information that the tags need to be re-checked), since once the tag is gone, we no longer know if anything needs changing.

What if this were not a simple, "is there still construction here?" quest, but instead required answering a prompt about what has changed? And then SC can remove the construction tag, along with any other tags indicated to have changed (and then, due to missing tags, those things will appear as quests).

matkoniecz commented 3 years ago

What if this were not a simple, "is there still construction here?" quest,

I want to note that it is already very complex from technical side - the most complex quest that I finished implementing