[Talk-GB] importing house shapes

Matt Williams lists at milliams.com
Fri Oct 19 10:57:02 BST 2012


On 19 October 2012 10:05, thomas van der veen <th.vanderveen at gmail.com> wrote:
> I have used the terraced house plug in a few times and have found it very
> useful, but I don't quite understand the difference between addr:street
> (which is what I do at the moment) and adding a relation?
>
> Could you please explain this a bit more (and if possible in other contexts
> then the postcode finder)

Sure. All this addressing is based on the Karlsruhe Schema [1] which
was devised as a way of tagging streets by some Germans who wanted to
try out tagging a whole city. The original schema was a series of tags
you put on each house such as house number, post code etc. The way
they originally specified which street a house is on was by the
addr:street tag where they would put the name of the street in that
tag on each house.
During the process of this schema evolving and being used, some people
felt that this was redundant and so decided to start using relations
to group these houses together (along with the street). I have a
feeling this was in the early days of relations when many people
weren't sure how to use them and so adoption of this method was slow.

So, for adding in data as a mapper, it a difference between adding an
'addr:street' tag to every house in the street or selecting all the
houses and roads in the street and adding them to a single relation
(with the correct roles). For many people, creating a relation like
this is seen as unnecessarily burdensome when for them, the
addr:street method describes what they mean just fine.

For data consumers (Nominatim, postcode finder, routers etc.) I would
argue that it's conceptually simpler to use the relation method since
it's explicit about that's in the street and what's not. With the
addr:street method, the programmer has to, upon finding a node with an
addr:street tag on it, search 'nearby' in the database. This means
that they must have a georeferenced database set up and these querys
are not as fast as simply node/way lookups. Also, to assemble a full
street (from many ways and houses) would require an iterative building
process. For me as a data consumer, the advantage of the
associatedStreet relation comes from explicitness and speed.

What I think we need (and what I've started to look at) is a plugin
for JOSM (or built-in for Potlatch) which allows you to simply select
the houses and the street, press a button and the relation is
magically created. If some of the selected items are already in a
relation then the rest of the items are added to it.

Some of this is just my (biased) opinion so feel free to do whatever
works best for you (of course, you could always do both). For
information on exactly how I tag addresses with relations, see [2]
(which I'd like to announce is up and running again).

Cheers,
Matt

[1] https://wiki.openstreetmap.org/wiki/Proposed_features/House_numbers/Karlsruhe_Schema
[2] http://milliams.dev.openstreetmap.org/postcodefinder/tagging/



More information about the Talk-GB mailing list