|Status:||Proposed (under way)|
|Definition:||enable multiple addresses for a feature|
|Rendered as:||similar to multiple address nodes|
Reason and Proposal History
A feature, such as house, can have multiple, equivalent addresses. The only way to map these addresses in OSM is currently to assign them to multiple address nodes instead of the feature itself. This doesn't work if the feature is a node itself (e.g. a shop node). It also breaks consistency, because data belonging to one single feature is fragmented into different OSM objects. Applications can hardly get them together. Another serious drawback of address nodes is their undefined scope. It is undefined whether they apply to the whole building or a part of the building.
This proposal merges 3 previous proposals which are mostly identical:
- The syntax incorporating square brackets is probably too combersome. It was originally suggested by Boris Cornet who had some vision to extend the square bracket sytnax to greater contexts later on. He can no more argue or defend it, because he died in 2012.
- The default value logic is complicated too, and therefore error-prone.
- One further drawback is that the proposal bears to many gory details (e.g. rendering algorithms), making it appear even more complicated.
- One concise, but orphaned proposal. It has been stuck in draft state since 2010. (EDIT: Meanwhile, it has been revived.)
- Another orphaned draft. It suggests addr2:* keys only, assuming that a feature can have a maximum of 2 addresses. That's wrong. Yours truly (fkv) lives in a house with 5 synonymous addresses.
Use conventional addr=* tags for the primary address. This may be the postal address used for official correspondence; or the address related to the side with the main entrance, or with the longest house front, or with the most important road.
Then use addr2:* tags for the secondary address.
Then addr3:* for the next, and so on.
The addr2:* tags etc. are independent from the addr:* tags. That means: addr:postcode=12345 does not imply addr2:postcode=12345 or addr3:postcode=12345.
|street/housenumber and street/housenumber||street/housenumber and hamlet/conscriptionnumber|
|An example from Tbilisi, Georgia, originally posted and transliterated by Moszkva ter||An example from Kaltenleutgeben, Lower Austria|
|The addresses 4 Asatiani Str. and 31a Aleksandre Kazbegi Ave. are equally official and equally in use on the same building.||The address Kaltenleutgeben 263 was officially replaced with Wilhelms-Straße 4, 2391 Kaltenleutgeben, but the former may still be in use.|
When not to use
Do not use this for compound buildings where each address only belongs to one section of the block. In that case, split the area and draw one building for each section. Example:This building should be split.
Dumb renderers need only render the housenumber of the primary address. Sophisticted renderers may determine a position for each address and/or use distinctive fonts for conscription numbers.
Q: What are you talking about? There are no houses with multiple addresses in my country.
A: In other countries there are. OSM is a wordwide project.
Q: Why don't you just tag each entrance with the respective set of addr:* tags?
A: There are plenty of addresses with no matching entrance, and vice versa.
Q: What about addr1:* ?
A: Applications should be aware of this. It is rarely used, though. Using number 1 for the 2nd address seems counter-intuitive.
Q: Can the N in addrN:* become a two-digit number?
A: No, except for typos. No known object in the real world has more than 9 addresses. Applications can safely ignore these keys.
addr2:* keys are already in use in Russia.
Please leave your comments on the discussion page.