[Talk-GB] OSM UK address project: tags - Updated guidance
Mark Goodge
mark at good-stuff.co.uk
Sun Jan 9 13:36:50 UTC 2022
On 09/01/2022 10:49, Sarah Hoffmann via Talk-GB wrote:
> Say you have an address like '4 Rose Terrace, Garden Street'. You can
> tag this as:
>
> addr:housenumber=4
> addr:substreet=Rose Terrace
> addr:street=Garden Street
>
> A data user who does not know about the UK system would output an
> address of '4 Garden Street'.
>
> Or you could tag the address as:
>
> addr:housenumber=4
> addr:place=Rose Terrace
> addr:parentstreet=Garden Street
>
> which our unsuspecting data user would read as '4 Rose Terrace'.
>
> Which one is less wrong? Initially I thought the first version would be
> better because it brings you at least in the vicinity of the right
> address. In the meantime I have learnt that there may well be an
> actual address '4 Garden Street'. So I see the potential for confusion.
In British usage, "4 Rose Terrace" is unambiguously more correct if only
one street level line of the address is included. The reason being that,
as you say, there may well be a "4 Garden Street".
Also, from a deliverability point of view (which is what a postal
address is for), "4 Rose Terrace" plus the postcode is sufficient. The
second street level line is more for the convenience of people trying to
navigate to the location by means of the address without using any form
of geocoding or routing software - it's a hint that Rose Terrace is
accessed via Garden Street.
> I also had some reservations about using addr:place for something like a
> building or a terrace. When it was invented, they idea was that it
> refers to some place= node (hence addr:place), i.e. something that is
> conceptually above street level. However, thinking more about it, this
> is just a historical detail and not that relevant. The important
> function of addr:place is to mark a non-street address. If the place is
> above or below street-level address-wise is an implementation detail
> that can be covered with addr:parentstreet.
The difficulty here is that in terms of postal addresses, Royal Mail use
their equivalent of addr:street for things that are not streets. For
example, addresses in a rural hamlet which are numbered consecutively
across the entire hamlet rather than any particular street within it
(which, in any case, may well be unnamed). It can also be used for the
name of a building or campus which contains multiple distinct units (eg,
a business park or apartment block). Despite not being a street, these
can still appear in what RM calls the "Thoroughfare" field.
This convention is generally understood by UK users, so they will
usually expect the addr:street element to always be populated, even if
it's not actually a street in the physical sense.
> You'll know British addresses better than me, so you'll decide if you
> prefer addr:substreet or addr:parentstreet. Data users will thank you
> if you go for one or the other, not both. And don't forget to add it
> to the main addr:* page in the wiki when you have decided. There might
> be other places after all with a similar concept that might want to
> reuse the tags.
I'd prefer addr:parentstreet. That, to me, fits better with the way that
most people generally perceive addresses, which is essentially
little-endian - they start with the most local, and then consider what
the parent of that line should be. Using parentstreet is intuitive, if
you know you need a second street level line after the first then
parentstreet is obviously where it goes. And you can tag any line simply
by knowing what it is and (if applicable) what has come before it - you
don't need to consider what the next line will be until you come to it.
Using substreet, on the other hand, requires the user to backtrack - you
need to know what the next line will be before you enter the current
line. That's less intuitive, and more prone to errors.
For those familiar with it, this is different to Royal Mail, which uses
Dependent Thoroughfare and Thoroughfare (eg, substreet and street). But
RM's addressing model is big-endian, it starts from the top down and
considers next what lies beneath it. It's also designed specifically for
the convenience of the postal service, for which a Dependent
Thoroughfare is part of the same delivery round as the Thoroughfare it
is connected to. But most people aren't familiar with it, because RM's
address database is closed source (and expensive!), and few people other
than addressing professionals will ever encounter its structure. The
public-facing aspects of the system (eg, RM's Address Finder website)
doesn't expose the structure to end users, it simply shows the resulting
address label format. There's no reason why we have to follow RM's
database conventions in OSM.
Mark
More information about the Talk-GB
mailing list