Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

quest for missing addr:street #213

Closed
matkoniecz opened this issue May 10, 2017 · 39 comments · Fixed by #1782
Closed

quest for missing addr:street #213

matkoniecz opened this issue May 10, 2017 · 39 comments · Fixed by #1782
Labels
new quest accepted new quest proposal (if marked as blocked, it may require upstream work first)

Comments

@matkoniecz
Copy link
Member

matkoniecz commented May 10, 2017

NOTE: all below may refer to state of quest during implementation and may be now outdated.


implementation state: #213 (comment)


As discussed in #205 at least for some regions (for example Poland) it makes sense to have quest asking about missing addr:street.

To make quests less complicated it should not be done as part of existing "add house number" quest.

Note that it would be preferable to ask question about addr:street immediately after solving housenumber quest, so overpass query finding quests target should not be in form "addr:housenumber without add:street", but rather the same as one finding missing house numbers.

Given that this quest apparently makes sense only is some regions (where addr:street is both likely to not be obvious and available to surveyor) it is preferable to add

offline reverse country geocoder (GPS position -> country+region you are in, necessary for localized quests

mentioned in #188 (comment) before adding this quest (or at least quest filter, with this one disabled by default).

@westnordost westnordost added the new quest accepted new quest proposal (if marked as blocked, it may require upstream work first) label May 21, 2017
westnordost added a commit that referenced this issue Jul 26, 2017
Now designed in a way that it can be used for other quests as well, i.e. for #213
@DaubnerF
Copy link

I would like to mention that this quest would make sense for my current mapping efforts in Austria as well. So if you implement it, please don't restrict it only to Poland :)
At least where I live, the street name associated with a house is readily available to the surveyor (most of the time).

@ghost
Copy link

ghost commented Oct 12, 2017

Same in France :)

@westnordost
Copy link
Member

The quest will not be limited to certain countries but limited to house number 1,2(,3,4).

@DaubnerF
Copy link

Hmm, I guess this is better than restricting it to Poland, I still wish I could turn it on independent of housenumbers.
Maybe add a settings dialog, where certain quest types can be disabled altogether, with this type disabled by default?

@rugk
Copy link
Contributor

rugk commented Oct 16, 2017

Maybe add a settings dialog, where certain quest types can be disabled altogether, with this type disabled by default?

#35

@DaubnerF
Copy link

Ah, very nice, thanks rugk.
So maybe we could have this quest-type independent of area and housenumber? :)

@westnordost westnordost added this to the v4 (planned) milestone Nov 28, 2017
@skfd
Copy link

skfd commented Dec 18, 2017

Also note that some mapping communities use relations instead of addr:street. Thanks.

@britiger
Copy link

britiger commented Dec 31, 2017

In same cases the you can interpolate the addr:street using the street next to the housenumber. At housenumbers on intersections it is difficult to automate it. Streetcomplete should also ask for the addr:street with a short list of the named roads next to building, including option "none of them" for creating a note.
You should not create a new quest, it should be integrated in the current. Missing housenumber, name of street or both.

@westnordost westnordost removed this from the v4 (planned) milestone Jan 2, 2018
@matkoniecz
Copy link
Member Author

Looking at it again: my plan is to reuse add road name quest interface, it even has (a bit hidden, I noticed it only now) option to select nearby road name.

@matkoniecz
Copy link
Member Author

matkoniecz commented Feb 6, 2018

One tricky part: one should exclude addresses with addr:place addresses and include only addresses with named road nearby,

In places without named roads addr:place is used instead. In such cases addr:place may be easily added using armchair editing and quest is not necessary.

Given that there may be incorrectly named road nearby or road from separate settlement with named roads there should be also option "this address has no named road" allowing to add addr:place.

See for example https://www.openstreetmap.org/node/5037711319 found by http://overpass-turbo.eu/s/vT6

@matkoniecz
Copy link
Member Author

matkoniecz commented Apr 9, 2018

My plan is to

  • ask for addr:street for places that fullfill all of following
    • with addr:housenumber
    • without addr:street
    • without addr:place
      • addr:city (tagging mistake for addr:place) also should be excluded
      • addr:town (tagging mistake for addr:place) also should be excluded
    • with named road nearby

Still, it is necessary to provide option "This address is not assigned to a named road, settlement name is used instead" that will allow to set "addr:place".

Both addr:street and addr:place should have suggestion pool populated by nearby streets and places (or maybe nearby addr:street and addr:place)?

helper query used to verify whatever I missed YA valid tagging scheme: http://overpass-turbo.eu/s/xJA

@westnordost
Copy link
Member

Don't forget conscription numbers, street numbers and house names.

Still, it is necessary to provide option "This address is not assigned to a named road, settlement name is used instead" that will allow to set "addr:place".

And this is the only option if only a conscription number is specified. No idea about conscription+streetnumber, would need to look into the wiki for how it is exactly.

Both addr:street and addr:place should have suggestion pool populated by nearby streets and places (or maybe nearby addr:street and addr:place)?

Would make sense, but not required for a PR to be accepted. The suggestion pool for street names is already there. The one for place names would need to be implemented.

@RubenKelevra
Copy link
Contributor

@matkoniecz I don't think that it's a good idea to add redundant data to each building. Places should be defined by boundaries not by tags.

@matkoniecz
Copy link
Member Author

@RubenKelevra Are you speaking about addr:place? In that case - where are regions without street names that do not add addr:place? How they mark addresses where addr:street is not necessary?

@RubenKelevra
Copy link
Contributor

@matkoniecz yep, I usually tag postal_code=xyz on the ways of the street and addr:street=abc on the buildings. It sounds like you plan to tag the name of the city or suburbs at each building with addr:place=bef. I consider this as redundant data, suburbs and citys should be added as boundary, not at building level.

Someone here imported a huge amount of data, tagging each building with a postal code and city name, which makes no sense. I go ahead check of all buildings have the same postal code, tag it on the street and remove the city and postal code on the buildings.

@matkoniecz
Copy link
Member Author

It sounds like you plan to tag the name of the city or suburbs at each building with addr:place=bef

Only on buildings that a) have address b) address has no addr:street part (area has no assigned street names).

And I would do it only in areas where it is established tagging (so far I only checked address tagging standards in Poland where this scheme is used).

Do you know how other places handle addresses in areas without street names?

@RubenKelevra
Copy link
Contributor

RubenKelevra commented Apr 27, 2018

@matkoniecz alright, this sounds better. :)

Do you know how other places handle addresses in areas without street names?

Well, I came across many small suburbs in my area which has just a name like "Sonne", where basically 2 or 3 backroads meet. The address is than just "Sonne 3" or similar, while they are spread around those 2 or 3 streets.

So the suburb is added to the street name and the addr:city is just the name of the city which this suburb belongs.

EDIT:

You can see this example here:

https://www.openstreetmap.org/node/81709172

Those streets to south-west and north-east got a name attached, which isn't really a name on a streetname-sign. The street got officially no name.

@matkoniecz
Copy link
Member Author

matkoniecz commented Jul 20, 2018

Current state

research (done):

  • ask for addr:street for addr:housenumber, without addr:street, without addr:place (nodes, ways, relations with !'addr:street' and 'addr:housenumber' and !'addr:place') - http://overpass-turbo.eu/s/L4k
  • addr:city (is it a tagging mistake for addr:place?) - maybe also should be excluded? - no, according to https://wiki.openstreetmap.org/wiki/Key:addr
  • addr:town (is it a tagging mistake for addr:place?) maybe also should be excluded - undocumented but exclusion should not be necessary - see addr:city
  • research what should be done with conscription numbers https://wiki.openstreetmap.org/wiki/Key:addr:conscriptionnumber (nothing - addr:conscriptionnumber has no need for matching addr:street, something with both addr:conscriptionnumber and addr:housenumber should be treated exactly like with addr:housenumber)
  • research what should be done with house names (exclude addr:housename?) - no, if addr:streetnumber is present then addr:housename also present is not changing anything at all
  • research situation mentioned by @RubenKelevra in quest for missing addr:street #213 (comment) (covered by requiring nearby named street)

coding:

  • exclude members of associatedStreet relations (http://overpass-turbo.eu/s/L4m find such elements for exclusion, finds elements after filtering - http://overpass-turbo.eu/s/L4p)
  • require named road nearby
  • provide option "This address is not assigned to a named road, settlement name is used instead" that will allow to set "addr:place".
  • addr:street should have suggestion pool populated by nearby streets (or maybe nearby addr:street)? (optional)
  • suggestion pool for addr:place (optional)

helper query used to verify whatever I missed YA valid tagging scheme: http://overpass-turbo.eu/s/xJA

I am planning to make first version covering only Polish tagging and working only in Poland - it will be useful to catch problems and to pacify bot complaining about edits adding only part of address (affects people solving house number quest in Street Complete).

JOSM requires addr:housenumber to have either addr:street or addr:place (see for example https://josm.openstreetmap.de/ticket/17604 addr:housenumber without addr:street raises warning)

Test cases:
https://www.openstreetmap.org/node/2783616825#map=18/48.11337/4.37672 excluded due to associatedStreet

https://www.openstreetmap.org/way/283379684 included

@rugk
Copy link
Contributor

rugk commented Oct 10, 2018

BTW, if it interpolates a street name from a nearby street and is really sure that this is the right street (I.e. there is no other street nearby), it should pre-enter/fill that name into the input, so the user only has to confirm the street number.
OR basically ask an yes/no question instead of letting the user enter it
OR exclude these cases at all, as data consumers may do the same interpolation (and AFAIK) already do.

@matkoniecz
Copy link
Member Author

matkoniecz commented Jul 31, 2019

name into the input

I plan to do something similar to road name quest with easy reuse of nearby names.


I run into an implementation issue:

My plan was to display "What is the street of this address?" quest title, with text box.

To handle case where there is no street name and addr:place needs to be added, there would be "No assigned named street" in can't say menu.

After selecting it user would enter place name into text field.

But it turns out that there is no good way to change the "What is the street of this address?" quest title to something like "In which settlement this address is located?". I thought about adding place name in popup, so the now outdated title would not confuse people.

matkoniecz added a commit to matkoniecz/Zazolc that referenced this issue Jul 31, 2019
matkoniecz added a commit to matkoniecz/Zazolc that referenced this issue Jul 31, 2019
@westnordost
Copy link
Member

westnordost commented Jul 31, 2019

The title also does also not change for any other quest, for example the housenumber quest when selecting that there is no number but a name. The answer-UI simply changes. That has never been a problem.

The input field could have a label, like quest_housename.xml does. That should be clear enough.

Maybe, the input field for the place name could look different from the street input field. I propose a blue sign with white frame for the street name and a white sign with a black frame for the place name - or maybe even this

(The picture is from here: https://commons.wikimedia.org/wiki/File:5.22.2_Belarus_(Road_sign).svg )

@westnordost
Copy link
Member

Note: The quest may only be asked for addresses with missing street names that are not part of a associatedStreet relation or similar.

@matkoniecz
Copy link
Member Author

associatedStreet is already covered in test version of quest, do you know about any similar relations that also should cause exclusion?

matkoniecz added a commit to matkoniecz/Zazolc that referenced this issue Nov 29, 2019
@matkoniecz
Copy link
Member Author

@westnordost What you think about icon for this quest? I though about taking "What is the name of this road" and changing background to one use by a housenumber quest.

Are you maybe interested in making a completely new icon?

I am getting close to finishing this one (as part of finishing various half-done PRs and branches), in dev version it is currently using place name icon that is not really suitable.

@westnordost
Copy link
Member

westnordost commented Dec 7, 2019 via email

@matkoniecz
Copy link
Member Author

Oh right - ic_quest_housenumber_street. Thanks!

@matkoniecz
Copy link
Member Author

I am a bit frustrated by working on the interface. I started this quest basing it on addRoadName quest with RecyclerView in layout.

I got rid of RecyclerView as it was adding plenty of complexity and here just one answer is needed.

The first working version had simple text fields copied from place name quest as input, with suggestion dropdown floating in some random place in line below, what would need to be fixed.

I wanted to have a nicer interface, either reusing elements from AddRoadName layout or from AddHousename layout.

Sadly, it turns out that both layouts rely on me.grantland.widget.AutofitLayout. And this AutofitLayout may contain just TextView elements - otherwise it crashes on TextView textView = (TextView) child; in its initialization code.

I can look for a superior replacement of no longer maintained me.grantland.widget.AutofitLayout, switch back to RecyclerView (arghh) or try to somehow fit both TextView and suggestion dropdown button into a TextView.

But I think that I prefer to go back to a simple text fields copied from place name quest and solve just dropdown button issue.

@westnordost
Copy link
Member

I am not entirely sure I understand the problem. Why do you need a non-TextView within the AutofitLayout, after all, even an EditText is also a TextView?

How / why should the interface be any different from the add road name interface?

@dbdean
Copy link
Contributor

dbdean commented Apr 11, 2020

I'm very interested in getting this quest up and running. I've looked at @matkoniecz address branch, updated it to the latest StreetComplete master, and taken it out for a spin. It seems to work ok, so I'm interested in what we think is still needed to make into a future release, and how I can help.

@westnordost
Copy link
Member

westnordost commented Apr 11, 2020

I've not looked at it yet. Requirements are:

  • 💤 No spam and 💵 Valuable Surveyors rule: limit to housenumbers at start of street, i.e. 1,2,3,4 (and, if possible, to those that are located at intersections with other streets, i.e. where one could assume to find street signs)
  • auto-completion should work the same way it works for the add road name quest. So, reusing the same mechanics as for that quest. Maybe, even prohibit typing an own street name but only allow selecting nearby streets.
  • Handle addr:place correctly (see discussion above)
  • Handle conscription numbers correctly

But anyway, you could open a PR and I will look it through. I know that @matkoniecz currently has a lot to do, so I think you would do him a favor if you / we grabbed his work and completed it.

@dbdean
Copy link
Contributor

dbdean commented Apr 17, 2020

As everyone can see above, I've opened a WIP pull-request to work on this, and made some changes already based upon how I found it handles out surveying.

In particular, I've

  • Added the street-number to the prompt to make it easier to tell which house is being referred to (and often as an additional clue to the street it belongs to)
  • Upped the distance for close streets to 250 metres as houses in the middle of long, straight streets were getting no suggestions
  • Made it remember the last street you entered, for easier surveying along streets.

I still need to look into @westnordost's comments above and see how I can go with them.

@Bibi56
Copy link

Bibi56 commented Sep 4, 2020

In France (but not only) we use associatedStreet to avoid street name duplication. I don't mind if some countries like Germany prefer to avoid associatedStreet. This guest is adding wrong information at worst or useless information at best if the addr:housename is part of an associatedStreet.
Are you going to add the multilingual variants the same way. No, of course not.
So please avoid asking for nodes members of associatedStreet and if such associatedStreet exists near by, propose to add it to the associatedStreet as house.

@matkoniecz
Copy link
Member Author

matkoniecz commented Sep 4, 2020

Can you give example of edit where unwanted data was added? I am pretty sure that I implemented filtering out associatedStreet.

and if such associatedStreet exists near by, propose to add it to the associatedStreet as house.

In such cases tagging address as tags is AFAIK also perfectly fine. Or is there some area where community decided to deprecate addr:street, like German community decided to deprecate associated street relations? Personally I have no plans to implement any special support for associatedStreet (except skipping objects with addresses tagged this way, what was implemented already).

PS Note that comments in closed issues can be easily missed, if SC is causing some issues - it is always better to create new issue rather than comment in closed one (obviously it is not applying if problem is fixed already, but not yet released)

@HolgerJeromin
Copy link
Contributor

@Bibi56
Copy link

Bibi56 commented Sep 4, 2020

@HolgerJeromin thanks for the clarification.
@matkoniecz, I looked at the ticket not at the implementation. I checked one Overpass query but it was not the final one I guess.
It's the one in https://wiki.openstreetmap.org/wiki/StreetComplete/Quests. See issue #2072.
Yes better to create another ticket. But I was lucky with two interesting answers!
I'm checking with the French community, IMHO opinion it's better to avoid add:housname and addr:street quests for France as with the land registry (Cadastre) and the BANO project we can add addresses in a more efficient way. So that mappers using SC will be more efficient too.
On one comment you mentioned "exclude members of associatedStreet relations" but you forgot to but the information in the top comment "current status". So sorry for my mistake and thanks for your work.

@matkoniecz
Copy link
Member Author

On one comment you mentioned "exclude members of associatedStreet relations" but you forgot to but the information in the top comment "current status". So sorry for my mistake and thanks for your work.

Top comment is what was initially proposed (I was unaware about this relation at that time).

#213 (comment) is more recent and includes note about associatedStreet

I will add one more note that this comments are historic and to look at current code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new quest accepted new quest proposal (if marked as blocked, it may require upstream work first)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants