[Talk-GB] OSM UK address project: tags

Robert Whittaker (OSM lists) robert.whittaker+osm at gmail.com
Thu Dec 23 13:26:47 UTC 2021


I'm not sure we'll ever achieve complete consistency in addressing, as
different people will view the same constructs in different ways.
What's most important, I think, is that users and data consumers will
be able to consistently and unambiguously reproduce the full address
from our tagging.

To this end, perhaps we could agree first on some more basic tenets
and assumptions about addresses, and then go on to look at how we can
tag particular cases. I would like to propose the following.

Fundamental Address Tenets:

1.1/ We need to record addresses in a consistent manner, so they are
useful to a range of users, including for postal addressing, delivery
services, and manual navigation.

1.2/ We are part of an international project, and there are users and
tools that deal with addresses globally. As such we need to take into
account the international definitions of addr:* tags and work with
them as much as possible.

1.3/ We should make use of standard internationally accepted addr:*
tags as much as we can.

1.4/ We should avoid introducing new UK-specific tags unless
absolutely necessary.

1.5/ We should avoid redefining existing standard tags unless
absolutely necessary. If any meanings are extended/adjusted this
should not be in a way that will significantly break existing data
processing.

(Obviously 1.4 and 1.5 conflict when there are UK-specific concepts
that aren't captured by the existing global tags.)

To make things easier for both Data Users and Mappers:

2.1/ We should agree on and publish a single list of acceptable addr:*
tags that are needed to capture UK addresses, and that data users will
need to parse in order to reproduce UK addresses. The list may be
amended over time if needed, but the aim is for it to be stable.

2.2/ The list should have a single well-defined hierarchical order in
which the tag values (if present) should be combined to form the full
address. The order should be independent of which addr:* tags are
present and their values.

2.3/ Ideally, the arrangement of the tag values on an envelope (i.e.
which items go on the same line when formatting the full address)
should be universal, i.e. not depend on which tags are present or
absent.

Basic Rules for Numbers and Names as things stand at the moment:

3.1/ addr:housenumber defines the number of a property/building within
the addr:street or (when this is absent) the addr:place tag.

(The wiki says that addr:street and addr:place should not both occur
at the same time. This is very useful for validation. Should we allow
this to be violated? We may also wish to add more alternative tags to
this list, e.g. addr:terrace, addr:substreet, but doing so comes at
the expense of making things more complicated for data users.)

3.2/ addr:housename refers to a named property/building within the
same domain (addr:street etc.) as addr:housenumber.

3.3/ If both addr:housenumber and addr:housename are present, they
refer to the same property/building. In particular, addr:housenumber
does not represent a sub-unit of addr:housename. When writing out the
full address in the UK, addr:housename is written before
addr:housenumber.

3.4/ The addr:unit tag numbers sub-divisions of an addr:housenumber
and/or addr:housename entity. (e.g. a block of flats/apartment might
have a name and/or number on a street, and then have numbered flats
within it. The name/number of the block goes in
addr:housename/addr:housenumber and the individual dwelling numbers go
in addr:unit.)

Based on the above, I think we have the following ordering and
arrangement of standard / well-used (>5k) tags on an envelope, which
should work for almost all UK addresses:

addr:unit addr:housename
addr:housenumber [addr:street|addr:place]
addr:parentstreet
addr:locality
addr:hamlet
addr:village
addr:suburb
addr:town
addr:city
addr:postcode

When tags are absent, they are simply omitted. If any line in the
above template would be entirely blank it is omitted.

* At least one of addr:housenumber or addr:housename is required
* At least one of addr:street or addr:place is required
   (the wiki also says that you shouldn't have both together)
* addr:city and addr:postcode are required for a full address
* All other tags are optional, depending on whether or not they're
needed for the particular address being captured.

Provided we don't have both addr:street and addr:place present, then I
think this ordering is completely unambiguous and hopefully
uncontroversial. The envelope/line arrangement also does not depend at
all on which tags are present or absent, which simplifies things
greatly.

If we agree on this as a starting point, then the key things that we
still need to resolve are:

1/ How to deal with the various edge cases involving industrial
estates, and named terraces and collections of cottages/dwellings. Can
we use the structure above by extending tag definitions/usage, or do
we need to accept additional tags? (If accepting additional tags here,
it would keep things much simpler if each was either an additional
addr:street/addr:place alternative, or a tag that slots into the
address between two existing lines.)

2/ The meaning of addr:city, and whether intermediate settlement tags
should be used or not. Should we use the international definition of
addr:city, which appears to closely match our concept of a post town,
or do we have a UK-specific definition where addr:city could be used
for a village name? (In the former case, data users need to know about
the additional settlement tags addr:town, addr:village etc., in the
latter case, we would have difficulty constructing a full address for
postal purposes without introducing additional tags.)

Point 2 probably shouldn't be discussed in this thread, as Rob has
already said, but it will need to be addressed at some point.

For point 1, I may be coming round to the idea that it would be
simpler just to use the existing tags for the more complicated
real-life situations. i.e. you regard the named terrace (or whatever)
either as a street, or a place, or a building (whichever fits best),
and tag appropriately. There may be some cases where the tag names
will appear a bit weird, and we'll get some inconsistencies in the
tagging between mappers, but the addresses will always be parseable
and it simplifies everything for mappers and data users. I'm not sure
about my original example E at
https://lists.openstreetmap.org/pipermail/talk-gb/2021-December/028239.html
though. Are there any situations where this wouldn't work?

Robert.

PS: For anyone who's interested, the numbers of the different addr:*
tags currently in use in Great Britain can be viewed at
https://osm.mathmos.net/addresses/addr-tags.html

--
Robert Whittaker
https://osm.mathmos.net/



More information about the Talk-GB mailing list