streetcomplete / StreetComplete

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

"Unusual address number" prompt is too annoying about slashes #4196

Closed vmharvey closed 2 years ago

vmharvey commented 2 years ago

In my area (and throughout built-up parts of Australian cities in general) it is not uncommon to encounter blocks of townhouses which share a primary address number but have distinct sub-address numbers. The complete address numbers of such houses are written in the format <sub>/<primary>, eg "1/50", "2/50", "3/50" for the first three houses sharing the primary address site "50 Example St".

The problem I report is that StreetComplete pops up the "Are you sure? This address number looks very unusual" warning upon entry of every such address number. This is quite frustrating when trying to enter the addresses of a block of a dozen houses, which of course are always close together, having to dismiss the warning between every entry.

How to Reproduce

  1. Type "1/50" (or similar) for an address number in Australia.
  2. Dismiss the unusual address prompt.
  3. Type "2/50" (or similar) for the next address number.
  4. Repeat.

Expected Behavior I would expect that either this warning doesn't appear at all for such addresses in Australia (since they would not be considered "very unusual" by Australians) or at least that it might not pop up again for more address numbers containing slashes within the same session of mapping.

Versions affected v45.0

vmharvey commented 2 years ago

It just occurred to me that this could be related to some assumption SC makes about how large the numbers around the slash ought to be. I edited my comment to reflect that what I'm talking about are generally small numbers before the slash (starting at 1 and not often going past perhaps 20) and arbitrarily large numbers after the slash (not uncommon to be in the hundreds, but unlikely to be in the thousands).

matkoniecz commented 2 years ago

https://github.com/streetcomplete/countrymetadata/blob/master/data/additionalValidHousenumberRegex.yml

andrewharvey commented 2 years ago

https://lists.openstreetmap.org/pipermail/talk-au/2022-July/016325.html

As indicated on the thread, in OSM these should be tagged addr:unit=1 + addr:housenumber=50 but StreetComplete doesn't support entering the unit number.

Ideally StreetComplete would have an option to say "This address consists of both a unit and street number" then show a form like [__] / [__], which would then set addr:unit and addr:housenumber.

While not 100% correct, I think it's okay to still enter these as 1/50 for the time-being, it's already common in existing OSM data, just over time these should be corrected into separate unit and street number tags.

matkoniecz commented 2 years ago

option to say "This address consists of both a unit and street number"

I would consider supporting this, though there is risk of other kinds of wrong data input (and again, it leads to a higher complexity of SC)

westnordost commented 2 years ago

The surveyor does not see

"housenumber: 50" "unit number: 1"

on the house number plaque, only "50/1". Hence, why should he even look in the other-answers menu for that option? Users are not experts, they don't know how data is recorded internally in OpenStreetMap.

What StreetComplete could do is to automatically convert an input like "50/1" to the appropriate unit and housenumber to the appropriate format. However, that kind of automatism could go wrong, where indeed the housenumber looks like this or where some region-specific mapping guideline uses a different field for what is behind the "/".

Hence, I am considering just allowing "/" as a unsuspicious character in an housenumber input for any language and region. Australia can't be the only region with unit numbers. Any data on this?

andrewharvey commented 2 years ago

Hence, I am considering just allowing "/" as a unsuspicious character in an housenumber input for any language and region.

I think it's okay, it could then get flagged by QA tools for further work to split out the unit. It's usually pretty clear with enough other addresses along the street which part is the unit and which is the number.

"50/1"

Region specific, in Australia it would be 1/50 not 50/1. You're right that kind of automation could go wrong especially with all the global variances.

matkoniecz commented 2 years ago

on the house number plaque, only "50/1". Hence, why should he even look in the other-answers menu for that option? Users are not experts, they don't know how data is recorded internally in OpenStreetMap.

Though they are typically aware of a local situation.

westnordost commented 2 years ago

Though they are typically aware of a local situation.

So? It is an OSM (and region-specific) implementation detail in what form the data is recorded.

E.g. there could also be a very complex tagging scheme to accommodate addresses in Vietnam, but instead everything is put into addr:housenumber, see https://github.com/streetcomplete/countrymetadata/blob/master/data/additionalValidHousenumberRegex.yml

vmharvey commented 2 years ago

My preference would be as @andrewharvey suggested, being able to indicate "This address consists of both a unit and street number" so that the unit number is recorded in addr:unit. Using the slash to record all information in the house number, as I have been doing, is just a way to get around the restriction that the functionality to do better hasn't been offered by StreetComplete, and that the "1/50" notation is generally understood here.

@westnordost While house number plaques in some cases do literally say "1/50", in my experience that is not the most common sight. More often, there will be one plaque at the driveway to the group of townhouses which says "50", usually placed near the letter boxes, and then each individual townhouse has a number by its door for "1", "2", etc. So it is obvious in such cases that the address "consists of both a unit and street number" and a user may well think to look in the other-answers menu to see if this can be accommodated.

The fact that carto incorrectly renders the unit after the street number (ie, "50 1") in Australia is unfortunate, but this is a separate issue for carto to resolve, which I see they have open at https://github.com/gravitystorm/openstreetmap-carto/issues/3568. On a related note then, if StreetComplete would support entering unit numbers for houses it would be preferable if it could simultaneously support rendering them appropriately for the region, so that the unit will appear before the street number on the map. Or, does this face the same problem as carto that it cannot be controlled per-region?

westnordost commented 2 years ago

I added so that for Australia, it is not considered odd if the unit number appears before the slash. (In other countries, the unit number is after the slash).

vmharvey commented 2 years ago

Thank you!