openstreetmap / iD

🆔 The easy-to-use OpenStreetMap editor in JavaScript.
https://www.openstreetmap.org/edit?editor=id
ISC License
3.34k stars 1.2k forks source link

Flag roads without names #6371

Open quincylvania opened 5 years ago

quincylvania commented 5 years ago

To encourage map completion, iD should be able to flag certain types of streets that don't have names. Since this info may be non-trivial to find when armchair mapping, this could be an optional "prompt" type issue (see #6101) instead of a yellow warning. There should be a quick fix to add noname=yes if the street really has no given name.

See qa.poole.ch for an existing QA tool that flags roads without names.

bhousel commented 5 years ago

This is a great idea!

westnordost commented 5 years ago

Here is the pseudo-overpass query snippet that StreetComplete uses for determining if probably a name is missing, for your information:

ways with highway~primary|secondary|tertiary|unclassified|residential|living_street|pedestrian and !name and !ref and noname!=yes and !junction and area!=yes

Most notably, StreetComplete does not expect highway=service to have a name, or any (country) road that already has a ref.

westnordost commented 5 years ago

Also, while a warning could definitely be useful (JOSM also does this), I am not sure if a quickfix with noname=yes might not lead to some people too hastily clicking on that quickfix solution.

In StreetComplete, if the surveyor answers with "has no name", the app asks for confirmation, telling him this info (FYI):

Sometimes the street sign is only at one end of the street. Also, note that there may not be extra street signs for side streets that belong to a bigger street. Usually, any street with houses has a name.

westnordost commented 5 years ago

Hey, you know, just as a blue-sky suggestion: A good solution might be to only show missing street names as a warning if the armchair mapper is in a position to solve this warning. So, if iD would be able to find out if a street is covered with street-level imagery (Mapillary / OpenStreetCam). No idea how far off this idea is. But many more detailed warnings for missing data could be coupled to the availability of high resolution aerial imagery or street-level imagery.

BjornRasmussen commented 5 years ago

We also have tiger 2018 for road names, and maybe local knowledge in some cases

higa4 commented 5 years ago

In Japan, it's quite common that a road doesn't have a name because we don't use street name for address. https://resources.realestate.co.jp/living/how-to-read-a-japanese-address/ Major roads usually have but not always. Minor roads usually don't have. I hope this validation won't be activated in Japan.

quincylvania commented 5 years ago

Major roads usually have but not always. Minor roads usually don't have. I hope this validation won't be activated in Japan.

@higa4 This validation will not be enabled by default. If needed, we could also have region-specific lists about which highway types are flagged.

higa4 commented 5 years ago

This validation will not be enabled by default. If needed, we could also have region-specific lists about which highway types are flagged.

Thanks, that's fine. Also, I hope square validation need such a default change setting because I still see so many false positive and afraid edit war between newbies (may square which need not) and experts. I think square validation also doesn't fit current situatioin in Japan.

bhousel commented 5 years ago

Thanks, that's fine. Also, I hope square validation need such a default change setting because I still see so many false positive

We’ve received a lot of feedback about the square building validator, so I’m changing it to allow the user to adjust the threshold, and by default it will be set to a very conservative setting.

tordans commented 5 years ago

So, if iD would be able to find out if a street is covered with street-level imagery (Mapillary / OpenStreetCam). No idea how far off this idea is.

I looked into the state of street name recognition with Mapillary for GoMap at https://github.com/bryceco/GoMap/issues/227#issuecomment-493649118 The status quo seems to be, that they recognize street name signs (but don't OCR them). And I could not find the API to requests just the data for street name signs; but I guess this will come sooner than later.

Outside of the more straight forward part of this idea – which I like – this might be a way to explore.

1ec5 commented 5 years ago

Also iD could warn if a way has both name and noname.

SK53 commented 5 years ago

Potlatch1 had this feature a long time ago (back when noname layers were much more important than these days). NOTE that Simon Poole maintains a no name overlay layer at qa.poole.ch so with his permission this could be added to the standard overlays.

Elefant-aus-Wuppertal commented 4 years ago

May I ask whether is this issue also about supportng noname=yes maybe, or do I have to open another one for that?

quincylvania commented 4 years ago

May I ask whether is this issue also about supportng noname=yes maybe, or do I have to open another one for that?

@Lukas458 This issue is only about validation warnings. No warning would be issued for roads with noname=yes and adding this would be suggested in a fix like "Mark as actually unnamed".

Elefant-aus-Wuppertal commented 4 years ago

adding this would be suggested in a fix like "Mark as actually unnamed".

Yes, that was exactly what is in my mind when I said "supporting noname=yes". Okay then I think we can go on here.

Hufkratzer commented 2 years ago

Can this issue be extended to things other than roads? There are many more that are missing a name, see for example: https://osm.mathmos.net/nameless/

fititnt commented 1 year ago

Quick comment: the lack of this feature (despite at least the reference exist on https://github.com/osmlab/editor-layer-index, but not available on iD) was mentioned a few times here:

https://community.openstreetmap.org/t/steve-coasts-proposal-for-osmf-strategic-plan/99136

So yes, could we rush a bit? I mean, even if enable just the layer, no special action, so we have something ?

sommerluk commented 1 year ago

In Ivory Coast and probably many other countries almost all streets do no have names. Only about perhaps 1% of the streets have a name.

JOSM shows a warning, and this is quite disturbing. Indeed, you could add noname=yes to avoid the warning? But doing this for 99% of the streets of a country?

fititnt commented 1 year ago

In Ivory Coast and probably many other countries almost all streets do no have names (...)

The major roads, even on Ivory Coast, even at the moment already have names. Look:

Only about perhaps 1% of the streets have a name.

Service roads (and roads that link to motorways) already are shown differently, because it is quite common in all countries they do not have any name. This is not just Africa.

The ones more likely to be the case for Ivory Coast truly do not have a name are residential streets. Since these ones have a pattern, maybe in the future (in a country-specific rule) could be the same color of the warning as is service roads in other places.

So if really want to add noname=yes in a region such as Ivory Coast, I think would only make sense only if is on highway=motorway, highway=primary,  highway=secondary or highway=tertiary. In practice this would mean that it would be easier to review the entire Ivory Coast than any other country in which highway=residential is expected more often than not to have a name.

PS. just to make clear that my last comment would be merely an QA layer (which person decides or not to compare), not a intrusive warning or something (which today iD I guess even would allow to be country-specific)

sommerluk commented 1 year ago
  1. Many of the names for major roads that you see in OSM are wrong. Example: http://qa.poole.ch/?zoom=7&lat=6.40661&lon=-6.40577&layers=TFFFB0 The big road is named in OSM as "Tivo - Tiassalé". That are just the names of the two towns the road is connecting. I know: It's not the actual name of the road! This type of miss-naming might also be the result of prompting the user with warnings about missing names, like JOSM does: If there is no actual name, the user might invent a name. And: This is probably the case on only in Ivory Coast, but in many countries around the world. Not everything works on the whole world the same way as in Western countries.

  2. The major roads are only a very small part of the roads. Following https://taginfo.openstreetmap.org/keys/highway#values the world-wide road values are (orderd by usage): residential 26.83% service 21.69% track 10.34% footway 8.31% unclassified 6.93% path 5.44% crossing 3.25% tertiary 3.16% […] "Tertiary" is the first major road, with only 3.16% of the total usage. Most of all roads in OSM are minor roads. Being prompted for a missing name on all those seem to be quite disturbing.

  3. JOSM prompts for the missing name on each "highway=*" way that has been modified. “Modified” means also geometry changes. When adjusting an existing road (or even only adding a new road that crosses an existing road, and the crossing is a new node), this will trigger the prompt. And even if I am in a region of the world where those streets have actual names, it is well possible that I do not have this information. Doing the same in iD does not seem to be a good idea. If it is an opt-in quality-assurance layer, which you have to activate explicitly before it prompts you, that would be okay.

fititnt commented 1 year ago

"Tertiary" is the first major road, with only 3.16% of the total usage. Most of all roads in OSM are minor roads. Being prompted for a missing name on all those seem to be quite disturbing.

tertiary 3.16%
secondary 2.02%
primary 1.40%
trunk 0.67%
motorway 0.48%

Humm, more close to 7,73%. However, several unclassified (6.93%) sometimes could be tertiary or secondary, so maybe this would be closer to 10% in the long run, because even in places which may use different schemas for address, roads often still have some name (because tools cite the road names when recommending routes)

 The big road is named in OSM as "Tivo - Tiassalé". That are just the names of the two towns the road is connecting.

This actually is more common than you think! This is the "utilitarian approach" (or what might be less ideal because is not a name, but a description) but is not an "spam name" which (for example, name every river as name=River or all building=house with name=House) which is far more likely soon or later others from the region will remove.

The utilitarian approach, when there's lack of official naming (the ones which do not have any street name signs yet, often endorsed by some local government) is not explicitly wrong, because if the locals would understand that name (but often this would also imply add add not just the start/destiny, but also "Street" or "Road". I do understand we may not like this name, but even in rural areas in "Western countries" the mappers from the region have a tendency to do what we could call "the user might invent a name." Here examples

What I mean is that "Western countries" (at least rural parts of it) will not be that different from how mappers would use Ivory Coast outside the capital.

If you want we could start a separate discussion in other OpenStreetMap channel focused on this kind of naming, but what I could say to you, even in  "Western countries'', is the following: if someone from capitals start to mass removing utilitarian names such as "Rue de l'hôpital" without talk to the the local mappers first (and the name both is understood by the locals, and the place is small enough to have just an single hospital), this could easily cause trouble with DWG. Not just this, but sometimes these weird names actually are used for routing applications, which is one reason why for example here in Brazil in rural areas, the mappers who keep watching large areas tend to be very careful to not mass remove names which have some pattern and might be in use for example by local emergency response which tend to rely on an app like OsmAnd than Google Maps.

but returning to initial part

Being prompted for a missing name on all those seem to be quite disturbing.

I do agree with the optional part. But one of the reasons to go again on this topic, is because sometimes who update local street names can forget to name at least small sections of the roads. In some regions of Timor-Leste, despite no online reference on some site to download the government names of roads, the amount of local mapers is such that often an user simply explain in the changeset comment the source of that names (like explain that is based on new local laws) and then the name is kept on OpenStreetMap. Vandalism on OpenStreetMap is rare, so until in a region no one abuses this (or tries to impersonate the government). My argument is that if Ivory Coast has a bit better of "official names", well, we could try get in contact with locals who could actually prepare to eventually endorse some naming scheme (buf often the next step to "utilitarian names" actually requires putting street name signs; here in Brazil names have several types, being a common trend use indigenous languages, reference to heroes, past governors, name of well know people which is not alive but helped the region, dates of independence, etc etc etc).

So, yes, adding at least the layer (which user can select as overlay when editing) to show http://qa.poole.ch/ seems a easy good step than all the special discussion which requires far more programming.

jarek commented 1 year ago

However, several unclassified (6.93%) sometimes could be tertiary or secondary, so maybe this would be closer to 10% in the long run

unclassified in OSM does not mean unknown. It means a road below tertiary that's not a residential road. That's an artifact of basing the road categories on the British system (https://en.wikipedia.org/wiki/Great_Britain_road_numbering_scheme#Other_classifications). If a road's classification for OSM purposes is not known, highway=road is used.

It is true that sometimes what's currently tagged as unclassified could be more accurately tagged as tertiary, but the same is true for residential.