Relation:associatedStreet

From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg associatedStreet
Housenumber-karlsruhe-de.png
Description
Used to connect streets with houses, for addressing purposes. Show/edit corresponding data item.
Group: Addresses
Members

  • way - street
  • node area - house
Status: in use

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. A discussion on talk-gb in May 2022 showed that the popularity has also fallen in the UK with a number of mappers who have previously used this relation noting that they are now going back and removing them from their earlier edits.

Using relations to associate addresses and streets

The addr:street=* tag provides a link between streets and belonging addr:housenumber=* based on geographic proximity. This link can be made explicit by using a type=associatedStreet relation.

Tags

Key Value Comment
type associatedStreet use associatedStreet in tagging but in parsing also allow: street
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

Members

Way/node Role Recurrence Comment
way street one or more The associated street (more than one way possible if they are the same street, just have been split for mapping reasons)
node area house one or more One or more house numbers (use "house" in tagging but in parsing also allow: addr:houselink, address )

Usage stats

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 [1].

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 deprecation of the relation in Germany.

On the 29th of July 2020, there were 4 729  907 "house" members of type=associatedStreet relations, and 97 516 414 uses of addr:street=*, which shows that, even though some users still use this relation, its use relative to the addr:street tag is still dropping (4.9%).

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

Nay! Relations are harder to grasp for new contributors, and are not fully supported by every editor.

Nay! Reading information from a tag instead of a relation is easier for mappers.

Nay! Reading information from a tag instead of a relation may be more straightforward for certain consumers, leading to better performance.

Nay! 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.

OK! 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).

OK! It allows adding information which concerns the whole street, like a name:etymology:wikidata=* tag or multilingual names, only once, instead of needing to repeat it on each nodes/ways, reducing chances of typos.

Nay!/OK! 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).

OK! "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.

OK! Geocoders can present the whole street instead of random segments of the street.

OK! It is easier to spot if buildings or addresses have been deleted by mistake—typically when a new user erases a whole building while attempting to delete a shop from the map—and undelete them by looking at the history of the relation.

Nay!/OK! Contemporary editors check the relation for erroneous duplicates or mismatching street names. Editors with good validators (like JOSM) do the same with address nodes.

See also

  • 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