OpenStreetMap

Amenity/shop with multiple housenumbers. How to map it?

Posted by FraMauro on 3 December 2012 in English (English)

A quite typical situation in Italy is that at the ground floor of many buildings you find some commercial places (commercial premises?). This happens also in other parts of the world. The fact is that here almost each "hole in the wall" has a house-number. This means that shop entrances AND ALSO shop windows have house-numbers.

A lot of shops have more than one house-number. The possible situations are:

  • one house-number which is the entrance. Obvious
  • one house-number which is the entrance, n house-numbers which are shop windows.
  • n house-numbers which are entrances.
  • n house-numbers which are entrances, m house-numbers which are shop windows.

I understand that: "One feature, one OSM element" I understand less how to map the various cases.

It is obviously right to map all the house-numbers. I do feel that mapping the shop or amenity ONLY at the entrance node/house-number is quite a partial information.

First of all because more than one entrance is possible.

And also because we miss important informations. By "we" I also mean people looking at the map. Have a look here: http://www.openstreetmap.org/?lat=41.941756&lon=12.574373&zoom=18&layers=M The bank is visible from three sides of the building. Knowing that the bank is there can be useful also for orientation if I'm walking or cycling, even if I have to turn two corners to reach the entrance. It's clear that the entrance is mapped with the right tag...

An alternative approach would be:

  • a node for each house-number
  • a node inside the building" for the amenity, shop, ...
  • a relation which links the amenity with all the house-numbers
  • one or more "entrance" tags for the right house-numbers. This looks as much more work to me.

Some other user told me that the right approach is to map the shop or amenity ONLY at the entrance node/house-number

Summarizing the possibilities are:

  • one node per house-number; the amenity tag for each node; the entrance tag when needed. Advantages: all the information; quite simple; no problem for multiple entrances. Disadvantages: a lot of tags for the same amenity
  • one node per house-number; the amenity tag for the entrance node. Advantages: even more simple, no duplicated tags for the same amenity. Disadvantages: we miss a lot of informations; problems for multiple entrances
  • one node per house-number; one node for the amenity; a relation between the amenity and the house-numbers; the entrance tag when needed. Advantages: all the information; no duplicated tags for the same amenity. Disadvantages: difficult

Any good advice?


Una situazione tipica in Italia è che i locali commerciali abbiano molte "porte", ognuna con un numero civico. Un negozio può occupare un locale con più porte. Mi sembra che le situazioni possibili siano queste:

  • una porta che è l'entrata. Ovvio
  • una porta che è l'entrata, n porte che fanno da vetrine.
  • n porte che sono entrate.
  • n porte che sono entrate, m porte che fanno da vetrine.

Mi è chiaro che: "One feature, one OSM element" Mi è meno chiaro come mappare

Mappare tutti i civici è ovviamente giusto. Mappare il negozio solamente in corrispondenza del civico in cui c'è l'entrata è secondo me una informazione molto parziale. Prima di tutto perché ci possono essere più entrate. E poi perché perdiamo informazioni importanti. Si veda ad esempio http://www.openstreetmap.org/?lat=41.941756&lon=12.574373&zoom=18&layers=M La banca ha l'entrata da un lato del palazzo e "occupa" altri due lati. Sapere che lì c'è una banca può aiutare a capire che si è nel posto giusto anche se sto sul lato opposto rispetto all'entrata. Questo è utile soprattutto se ci si sta spostando a piedi o in bici

Una soluzione alternativa potrebbe essere:

  • un nodo per ogni civico
  • un nodo interno per l'amenity o altra attività
  • una relazione tra l'amenity e tutti i civici che le "appartengono"
  • uno o più tag "entrance" nei civici opportuni. Mi sembra però laboriosa!!!

Alcuni utenti mi hanno detto che l'approccio corretto è quello di mappare il negozio solamente nel nodo corrispondente all'entrata

Riassumendo le possibilità sono:

  • un nodo per civico; il tag amenity per ogni nodo; il tag entrance quando serve. Vantaggi: tutte le informazioni; molto semplice; nessun problema per entrate multiple. Svantaggi: tag duplicati per lo stesso negozio
  • un nodo per civico; il tag amenity per il nodo in cui c'è l'entrata. Vantaggi: ancora più semplice, nessuna duplicazione di tag per lo stesso negozio. Svantaggi: perdiamo molte informazioni; problema per le entrate multiple
  • un nodo per civico; un nodo per l'amenity; una relazione tra l'amenity e i civici; il tag entrance quando serve. Vantaggi: tutte le informazioni; nessuna duplicazione di tag per lo stesso negozio; nessun problema per entrate multiple. Svantaggi: difficile

Qualche consiglio?

Location: Ponte Mammolo, Municipio Roma IV, Rome, Roma, Lazio, Italy

Comment from Vclaw on 4 December 2012 at 12:42

Map the amenity as an area, ie the building outline (assuming it fills the whole building). So an area tagged amenity=bank and building=yes. If it has a range of housenumbers, you could tag that, eg addr:housenumber=5,7,9 etc.

Then add nodes for the entrances onto the outline of the area. No need for a relation, it is obvious they are connected. If the entrances have their own housenumbers, you can tag them with that.

Hide this comment

Comment from Sanderd17 on 4 December 2012 at 14:30

I agree completely with Vclaw. It was also my idea when reading this.

Housenumbers are most important in search tools, and this approach will work with all search tools.

Hide this comment

Comment from smsm1 on 6 December 2012 at 16:38

Building entrances can be tagged with the entrance tag.

Hide this comment

Comment from FraMauro on 6 December 2012 at 23:13

Thank to everybody for the comments.

It seems that I did not explain clearly my issue.

About the first suggestion: Map the amenity as an area, ie the building outline (assuming it fills the whole building)

The amenity does NOT fill the whole building. If you follow the link you will find a building which has several things at the ground floor: a bank, the entrance to the flats at upper floors, other shops/amenities. This is quite a typical situation.

The other part: If it has a range of housenumbers, you could tag that, eg addr:housenumber=5,7,9 etc...

I understand that you propose to tag the area like this. This way the exact position of each housenumber is lost, This can be important: think that the bank of the example span over three sides of the buildin, so to know the exact position can be useful and also divverent houesnumbers can belong to different streets.

About the second suggestion: Building entrances can be tagged with the entrance tag.

Yes. I cited it and used it. But thank you anyway. And more, I don't know if it's correct to talk about "building entrances". For me the building entrances are the entrances to the flats at the upper floors, the others are the shops entrances

Hide this comment

Comment from aseerel4c26 on 9 December 2012 at 14:25

Hmm, maybe I, too, understand it wrong... but isn't this your sitution? http://i.imgur.com/BlhSd.png (selected (yellow) is one of two shops; the outer way is the building, the light blue nodes are house number nodes). Building as usual as closed ways or building relation, amenity as area, housenumers as (unconnected) nodes at the place where they belong to.

Hide this comment

Comment from FraMauro on 9 December 2012 at 22:03

you understood it perfect.....

The solution you propose is obviously the "perfect one". The only problem with it is that you have to know the internal structure of the building. I can walk on the streets and take note of the housenumbers, of the shops and their names,.... mapping also the internal walls is too much for me.

So I was trying to find a "second best" solution. I was looking for suggestion on it.

Thank you

Hide this comment

Leave a comment

Parsed with Markdown

  • Headings

    # Heading
    ## Subheading

  • Unordered list

    * First item
    * Second item

  • Ordered list

    1. First item
    2. Second item

  • Link

    [Text](URL)
  • Image

    ![Alt text](URL)

Login to leave a comment