Streetcomplete: Answers to speed limit quests create "source:maxspeed" without "maxspeed"

Created on 6 Aug 2017  路  17Comments  路  Source: westnordost/StreetComplete

Hi,

When answering a speed limit quest with "there is no sign" and then saying that the road is "in a town", StreetComplete seems to create a "source:maxspeed" attribute on the way containing (in France) "FR:urban", but no "maxspeed" entry. This looks wrong according to the description of "source:maxspeed" on the OSM wiki (see https://wiki.openstreetmap.org/wiki/Key:source:maxspeed) and triggers a warning in JOSM when editing the region.

I think StreetComplete should also create a "maxspeed" attribute containing the value indicated in the OSM wiki for the value of "source:maxspeed" that it creates.

Thanks!

wontfix

Most helpful comment

Well, my argument from https://github.com/westnordost/StreetComplete/issues/457#issuecomment-320571299 stays the same:

it will add wrong data without the user's knowledge or consent to OSM. [...] this behavior would come close to an automatic edit

I had another idea for this. I am imagining an "expert mode" that will encompass more functionality for people who know OSM and are also able to use other editors. In this mode, there could be an extra button for each quest which opens a simple key-value tag-input like in JOSM. If the user already (partly) filled out the form, then what he input so far is displayed there as well. He can then go on and edit/add any other tags in this input. Also great way to review what the app fills out - for control freaks.

All 17 comments

Yes, it is true that this is not really how the source:maxspeed tag was designed for (if it was designed at all), however, I will not change this because there is no other accepted way to tag the situation _"There is no sign but I (=the user) don't know what the default speed limit would be"_

See https://github.com/westnordost/StreetComplete/issues/353#issuecomment-311787872 and following comments for an in-depth explanation of this behavior.

SC should only add the information that the user surveyed, not infer other data based on this observation. Because:

  • if the inferred data is wrong, it will add wrong data without the user's knowledge or consent to OSM. I.e. for speed limits, the default speed limits can be quite complex and depend on a number of things. In short: this behavior would come close to an automatic edit
  • if an information can be inferred always from another value, then this information is duplicate and thus is superfluous
  • In case of speed limits, it is usually added to make life easier for data consumers so that they do not have to have the intelligence that you'd like to have in SC. But what is this? This is actually pretty much "tagging for the renderer", or in that case, tagging for certain data consumers.

So my argument is twofold:

  • The app should not add tags automatically and the user can't be expected to know
  • If anything should be automatically inferred, it should be the data consumer's job anyway

OK, thanks for your explanations and sorry for missing the earlier discussion.

As a user, though, I know that in a French city, when there is no sign, the speed limit is 50 km/h. I understand that not all users know this, but I do, so I would like to tag it (making it clear, of course, that there is no sign, so that the information could be updated if this default speed limit ever changed).

I understand the argument that we shouldn't fill the map with stuff that can be inferred otherwise, but the inference rules for speed limits are quite complex. In fact, the information about whether a way is "urban" or "rural" could also probably be inferred automatically by the data consumer, by looking at whether it is in a city area or something like this: but I think this would be undesirable. It is a bit like phone numbers: OSM requires phone numbers to carry an international prefix, even though in many countries the phone numbers are advertised without the prefix (e.g., on shop fronts), and this prefix can be "inferred" from the country where the shop is located. So requiring the international prefix is "tagging for the data consumer" in a sense, but still it is the consensus and I think it makes sense.

So I think that, in addition to mapping the raw fact "there is no speed limit sign", given that maxspeed is useful information and that the inference rules are complex, it could be reasonable to explicitly map the fact "hence, the maxspeed is 50", and give the user a way to input this fact if they know it.

This is just my opinion, of course it is your choice :). In any case thanks a lot for the explanations and thanks for developing this great tool!

So you would like an option that the user can say _"There is no sign, but I know the speed limit is X then"_? How would you imagine the UI should look for that?

I guess the simplest way would be, after asking "is it in town / out of town?", have a dialog that asks "so do you know what default speed limit this implies?", with the possibility to input a number or say "I don't know". What do you think?

Well, there should really only be one question per quest. Due to the design of the tagging here, the user is already forced to answer additionally to that there is no sign whether he is in or out of town. Yet another question to be answered adds on top of that. I was thinking that there should be if any an unobstrusive way to add this - i.e. people who don't want to explicitly add this are not bothered by this.

I agree it's not ideal. Maybe there could be a setting to have these
questions or not?

Of course, it would be better if the user could say that they want to
answer all such prompts in the same way, i.e., I know that for FR:urban
I will always answer 50 and for FR:rural I will always answer 90...

On Mon, Aug 07, 2017 at 08:14:21PM +0000, Tobias Zwick wrote:

Well, there should really only be one question per quest. Due to the design of the tagging here, the user is already forced to answer additionally to that there is no sign whether he is in or out of town. Yet another question to be answered adds on top of that. I was thinking that there should be if any an unobstrusive way to add this - i.e. people who don't want to explicitly add this are not bothered by this.

--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/westnordost/StreetComplete/issues/457#issuecomment-320768162

To get away from this additional question to the user I proposed keeping a list of default speed limits for urban and rural (maybe others) per country. But this adds maintenance cost.
For me it is a better solution than additional user dialog.

On the other hand - right now I'm from time to time doing JOSM query for roads with source:maxspeed=PL:urban (or rural) and add the maxspeed (and maxspeed:conditional) in batches - additional work, but works.

Actually setting default values can be more time consuming than you think. Maxspeed is different depending on type of the vehicle (that should be stated for "no sign" anwser because it implies different limits than one ultimate sign), also in Poland in urban areas default maxspeed is contitional etc. After all the amount of data would be 5+ tags per each user anwser.

Yes, but we could at first focus on the most common vehicle type, to limit the amount of data gathering.

But besides getting the right data for each country, I don't see a problem with adding 5 or 10 tags, we just need a data format to store it in the repo (so not a 1 to 1, but 1 to n).

At first it could be almost empty, only few countries that we know what are the speed limits, all other would still get just the source:maxspeed.

But this depends on @westnordost if he wants to go that way at all.
I think it would make speed limit the data more useful without causing the users to be overwhelmed with data input.

Well, my argument from https://github.com/westnordost/StreetComplete/issues/457#issuecomment-320571299 stays the same:

it will add wrong data without the user's knowledge or consent to OSM. [...] this behavior would come close to an automatic edit

I had another idea for this. I am imagining an "expert mode" that will encompass more functionality for people who know OSM and are also able to use other editors. In this mode, there could be an extra button for each quest which opens a simple key-value tag-input like in JOSM. If the user already (partly) filled out the form, then what he input so far is displayed there as well. He can then go on and edit/add any other tags in this input. Also great way to review what the app fills out - for control freaks.

Yes, I think this would be very nice for people who are more familiar with OSM. Currently when using StreetComplete I often have to juggle back and forth with osmand to do some further edits and/or fix what I have just input, so it's nicer if everything can be done in StreetComplete.

Of course the best would be to be able to do all editing tasks in StreetComplete, but obviously this would be too tedious in terms of development...

closing in favor of #471

Just a little comment on

In fact, the information about whether a way is "urban" or "rural" could also probably be inferred automatically by the data consumer, by looking at whether it is in a city area or something like this

I tend to think this could be feasible by comparing with city boundaries. Or at least there could be a prompt in the form "are you in ??? area" where ??? would be the inferred type. This would make the whole "no sign" answer a lot smoother I think. Not sure if feasible in StreetComplete though.

@Phyks Actually it's little more complicated than that as we shouldn't make collocation urban=city area/rural=village. The same road in the same village can posses different maxspeed for different parts which are defined by road signs, not any administrative boundaries.

@Etua this is a broader issue I guess, as a given road can have portions with reduced speed, which are not necessarily split correctly in OSM.

I would say that if user says "no sign" and the whole portion of road is within / outside administrative boundaries, SC could detect it automatically without asking the user. Any other case should be handled by a "don't know" and a note, as is currently done. Isn't it?

@Phyks At least where I live administrative boundaries have nothing to do with speed limits. The "urban" zone in terms of speed limits is defined by https://commons.wikimedia.org/wiki/File:Znak_d42.svg Maybe it could be handled the way you proposed, but as it's not a universal rule, a new country metadata would be needed.

Oh, ok. Thanks for pointing it out! I am biased by my experience in France, where urban area matches city boundaries almost always. :/

Was this page helpful?
0 / 5 - 0 ratings

Related issues

monikarora picture monikarora  路  3Comments

Atrate picture Atrate  路  3Comments

RubenKelevra picture RubenKelevra  路  3Comments

matkoniecz picture matkoniecz  路  3Comments

RubenKelevra picture RubenKelevra  路  3Comments