|used to connect streets with houses, for addressing purposes.|
|Status: in use|
|Tools for this tag|
associatedStreet relations have been used by some mappers as an alternative to addr:*-Tags. This method of mapping addresses is much less popular than addr:* and strictly unwanted in regions such as for example Germany and Poland.
Using relations to associate addresses and streets
|name||streetname||optional but recommended|
|name:xx||streetname in xx language||optional|
|addr:suburb||suburb name||should be used only in case if there 2 or more streets with the same name in the same city/town/village/etc. Otherwise, don't use this tag|
According to Taginfo, as of 26th January 2015 there are 3 567 496 "house" members of type=associatedStreet relations, and 44 330 243 uses of addr:street=*. This means that 7.4% of address objects are included in an associatedStreet relation.
This is 5th most used type of relations .
The community is divided over the future of this relation. An informal vote in 2015 yielded a 49/50 for/against deprecation.
In March 2019 there were 4 934 510 "house" members of type=associatedStreet relations, and 80 315 663 uses of addr:street=*. This means that raw use count of associatedStreet relation dropped to 6.1% of addr:street tags.
In April 2019 there were 4 215 723 "house" members of type=associatedStreet relations, and 81 280 429 uses of addr:street=*. This means that raw use count of associatedStreet relation dropped to 5.2% of addr:street tags due to the depreciation of the relation in Germany.
Incomplete/wrong data due to JOSM's Terracer Plug-In
There are probably thousands of associatedStreet relations without a street member due to a previous default setting in JOSM's Terracer plugin: Each time a new relation was created with the newly separated parts of the original building as members, but NO street is added automatically as member to that relation. The setting was fixed in August 2014.
Pros and Cons compared to addr:street
Relations are harder to grasp for new contributors, and are not fully supported by every editor.
Reading information from a tag instead of a relation is easier for mappers
Reading information from a tag instead of a relation may be more straightforward for certain consumers, leading to better performance.
Adding/removing houses is harder for the relation, because more tools can modify tags than relations and users are typically more familiar with tag modifications rather than relation editing.
/ Using associatedStreet relations may help routers direct users through the correct street segment (for example when a row of houses sits between two parallel street sections)
/ It allows adding information which concerns the whole street, like a name:etymology:wikidata=* tag, only once, instead of needing to repeat it on each nodes/ways, reducing chances of typos, but a single typo in the streetname will get propagated to all members and will be harder to detect because all elements now have the error (as opposed to some elements for individual tagging).
/ associatedStreet relations can be created before the street name is known (for example during armchair mapping before a survey) but might be over-membered if multiple blocks are added and the road name changes (e.g. through way vs dead end).
"house" members only need addr:housenumber and need not replicate all the other addr:* data over and over again redundantly, reducing the potential for spelling mistakes.
"name" and "name:xx" don't need to be entered over and over again redundantly, enabling proper mapping of multilingual places.
/ Contemporary editors check the relation for erroneous duplicates or mismatching street names. Editors with good validators (like JOSM) do the same with address nodes.
- Relation:street - bind all parts of a street together and everything else that belongs to it
- Karlsruhe Schema - tagging of adresses
- addr=* - the addr tag is the prefix for several addr:* keys to describe addresses
- a map demo tool: Clickable road - complete-street - show all osm-way segments which have the same name (no Relation:associatedStreet is needed for this purpose)