-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Reverse Geolocation for changeset not good enough, translation missing #4989
Comments
The current code that puts together the location string is here: Lines 500 to 511 in 85ae00d
What the code does is ask Nominatim to reverse geocode the center of the map where the user is looking when they did the save (their edits might not necessarily be there, but this is the place that they are looking at). We get a result from Nominatim and iD tries to piece it together into something like City, Region.. There are some things we can do to improve this.
|
I tried again and the map contains nearly only "Leibnitz Bahnhof" (railstation): |
The "thank you for improving the map in..." is a bit hit and miss so far. A changeset I did yesterday gave South Lakeland which is the local admin_level=8 district and is a good enough location to use. But today it incorrectly gave "Warriner Yeat" which is apparently an isolated dwelling 2.5 miles away from my changeset. How accurate does the location lookup try to be? Using the enclosing admin_level=8 district or the nearest place=town/city would probably do. |
It would be better not to show isolated_dwellings unless they are very near to the map center.
Doesn't that mean that this is ultimately a problem for Nominatim to solve? All iD is doing is spitting out what Nominatim provides it. If reverse geolocation is finding an isolated dwelling 2.5 miles from where you're editing, that's an issue with them. It seems like a Really Bad Idea to apply exceptions to what iD says a location "is" as Nominatim gives it, when the appropriate solution is to tell Nominatim to make their RG better. (In fact, an argument can be made that telling iD to make exceptions against Nominatim's RG would actually complicate bug reporting to that project.) Look at it this way: this is bringing visibility to Nominatim's reverse geolocation? |
To explain my position here: if you want to cut off what "near" means at a certain admin level, that's one thing. 'We will never show an admin_level lower than 8' in the output, because we'll just assume that 8 is close enough to be friendly to the user.' It would be quite another to start throwing around 'Well, we'll use an isolated_dwelling with a lower admin level of 15, when you're really editing "close to it", EXCEPT if you're not.' That second kind of "fix" would really make identifying Nominatim problems that come through that query difficult. |
Yes, what you said here is what I would do to fix this issue. I think we can construct our query to Nominatim in way that returns a more regional result. |
Ok, I swapped out For info, here is the query and result. We are already requesting a result at zoom=13, which seems fine. result: {"place_id":"42083160","licence":"Data © OpenStreetMap contributors, ODbL 1.0. https:\/\/osm.org\/copyright","osm_type":"node","osm_id":"3096751413","lat":"46.7706284","lon":"15.5160898","display_name":"Koglbauer, Leibnitz, Styria, 8430, Austria","address":{"suburb":"Koglbauer","town":"Leibnitz","county":"Leibnitz","state":"Styria","postcode":"8430","country":"Austria","country_code":"at"},"boundingbox":["46.7705284","46.7707284","15.5159898","15.5161898"]} |
After uploading a changeset in Leibnitz, Steiermark (Styria, part of Austria) I see:
The location is Leibnitz (County of Styria and main city there) in the Austrian state of Styria:
https://www.openstreetmap.org/changeset/58159266#map=14/46.7436/15.5616
Koglbauer is the name of a farm and a short road near Leibnitz:
https://www.openstreetmap.org/search?query=koglbauer#map=15/46.7605/15.5298
So Styria is not translated to Steiermark which would be nice and Koglbauer is not apropriate.
The text was updated successfully, but these errors were encountered: