Why not ask your question on the new OpenStreetMap Community Forum?


Hello, I have noticed that searching for an place that has an address outside of the actual city (admin boundary) will not show up in Nominatim. I know that you can add an addr:city tag to the road the place is located on to correct this. But that would mean that every single road outside of the city would have to be tagged with addr:city for it to appear. Is there a way to automatically add that tag to every road outside of the city without having to add it to every single road?

For example, in the town of Glen Rock, PA (rural town) most of the roads are not in the actual polygon for the town. If you search for a road outside of Glen Rock by typing in Example Road glen rock pa, the road will not be found. With a lot of rural roads, adding addr:city to every road would be very time consuming. Is their any automatic tagging for such roads?

asked 30 Nov '13, 18:59

auser1000's gravatar image

accept rate: 0%

edited 16 Dec '13, 23:41

I don't think there's any automatic tagging, no, in part because there's no deterministic way to know what "town name" to attach the road to. I asked a related question a while back ( https://help.openstreetmap.org/questions/19407/how-to-make-post-office-town-available-to-nominatim ) and the only answer I got was to manually add addr:city tags....

(01 Dec '13, 08:51) blahedo

well, if you read the comments to the answer on the question you cite, two people said not to tag addr:city, which is as many as voted the answer up. that is, it doesn't seem like an answer with real consensus. you might take another look at Twain's answer there, as Twain is one of the maintainers of Nominatim.

(17 Dec '13, 17:38) neuhausr

I agree that there's no consensus here on what to do, although I'll also point out that one of the "don't tag addr:city" comments was only posted after I linked it from here. In any case, mostly I'd just like to find out how to solve the problem; I don't really have a preferred solution as long as something works.

(18 Dec '13, 16:08) blahedo

Do not add addr:city to roads at all. The addr:* tags are meant for objects that have an address. Roads don't.

permanent link

answered 01 Dec '13, 18:58

Frederik%20Ramm's gravatar image

Frederik Ramm ♦
accept rate: 23%

This directly contradicts the advice given on my question ( https://help.openstreetmap.org/questions/19407/how-to-make-post-office-town-available-to-nominatim ), where moreover one of the comments says that addr:city is only relevant on streets, not addressable nodes.

(01 Dec '13, 20:45) blahedo

Your question corresponds IMHO to the following single problems:

  1. Wrong place association in Nominatim
    As you already described, geocoding from OSM data relies on a 2 step preprocessing to normalize the data. First they filter all address objects and then they try to expand them to full 'global addresses' using hierarchies (boundary polygones or surrounding areas around place nodes).
    This process is fragile, as polygones can be broken or have a unexpected classification, or can have wrong (here: not the official) geometry.
    I was sadly unable to find your example, but if the road doesn't touch the official town border, then the border of the town might just be wrong?
    On the other hand, you might use nominatims "near" operator to find a road that is close to a spec. city like "my road near Glen Rock, PA".

  2. use addr: tag fixes:
    Corresponding to the wiki, the addr: key is only used for buildings or POIs?
    I only know postal_code=* that is tagged to the streets directly. So for me this sounds a bit like 'tagging for renderer' (here: geocoder) to fix specific misbehavior of a product and that should avoided. So we need to discuss to find the technical reasons and avoid mechanical edits. Please hop in the forums or the mailinglists :)

permanent link

answered 01 Dec '13, 10:36

iii's gravatar image

accept rate: 10%

Your answer presumes that all roads associated with a town are within the borders of that town, which may be true in some jurisdictions but is emphatically not true in much of the US (and Ireland, apparently). This is not a question of tagging for the renderer. See my other question ( https://help.openstreetmap.org/questions/19407/how-to-make-post-office-town-available-to-nominatim ) for more details of the situation. The specific advice there was to use addr:city on the streets.

(01 Dec '13, 20:43) blahedo

You are confusing administrative entities and settlements.

You can have a place-polygon (or multipolygon) for the settlement and another one for the administrative entity.

It is not unusual that the two are not the same. Personally I'd use the place polygon on the built-up space belonging (according to who lives there) to the settlement, while the administrative entities (boundary=administrative, admin_level=x) are those as authoritively defined.

permanent link

answered 18 Dec '13, 12:55

dieterdreist's gravatar image

accept rate: 3%

I'm not sure that's actually the problem here; it's more that there are two different administrative entities. The named built-up space (to which you would assign the place polygon) may correspond to either, both, or neither of the main administrative entities. To use an example close to where I live, there are people who are outside the official town limits of Farmville but generally say they live "in Farmville"; but there are also people who live well outside of town but whose mailing address (and address to look up on maps) is "in" Farmville.

(18 Dec '13, 16:19) blahedo

well, I agree that mailing addresses are yet another system / class, not necessarily covered by administrative entities and geographic settlements (i.e. boundary=administrative and place=*). The right way to tag them is addr:* (but it isn't the streets that have the address, but it's people or businesses which happen to be along this street).

(18 Dec '13, 20:40) dieterdreist

blahedo, I don't think there are two different administrative entities. There is one: the municipality and its boundary. The second thing you're referring to is the postal address, which is based on what the postal service determines is the zip code and preferred mailing city for that address. You're talking about ways to add that data to OSM, but it doesn't really fit very well. That's one reason why Nominatim uses some non-OSM data. The place=* (settlement) tags sometimes are coincident to the admin tags, but sometimes offer an alternative to them.

(19 Dec '13, 14:55) neuhausr
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 30 Nov '13, 18:59

question was seen: 4,414 times

last updated: 19 Dec '13, 14:55

powered by OSQA