User:Escada/JOSM and Housenumbers

From OpenStreetMap Wiki
Jump to navigation Jump to search

This page attempts to list JOSM tools as well as a number of tips and tricks to add house numbers via JOSM. It is based on the way that I map the house numbers. The end result are buildings with a house number and a street name that belong to a associatedStreet relation. This means that the street name information is actually duplicated on the building. Most tools, including some data verification tools, do not recognize the associatedStreet relation; hence the addr:street tag on the building. However, I believe the associatedStreet relation is much better suited to group all buildings in the same street

The Tools

  • JOSM (of course)
  • The plugins
    • AddrInterpolation
    • building_tools
    • terracer
    • utilsplugin2
  • The Presets
    • Mapping in Benelux
  • The Styles
  • Coloured Addresses

I will not discuss how the plugins and presets can be installed, there are already pages explaining this on the JOSM wiki.

Aerial Images

We are allowed to use the images from AGIV in Flandres. In general, those images are more recent and have a better quality than those of Bing. Se on how to use them.


Only the building tool can be configured. Under Edit -> Set Building Size (CTRL-ALT B) Check "Use address nodes under buildings" Click "Advanced ...." Click +, then type e.g.

  Key   building 
  Value  house

Click +, type e.g.

   Key source
   Value  bing

Click 'OK" twice.

We have now configured the building tool to add building: house and source: bing to each "house" we will draw. Furthermore the tool will be aware of any node with address information and combine that data with the building we draw around it.

Adding Address Information

We will start very simple and assume there are no buildings yet.

Simple House Building

Draw the house with the Building Tool (B). With the configuration from above it will be tagged as a house and the source will be set. You could now add the 'addr:housenumber' tag or:

Use the terracer tool (SHIFT-T). Therefore you have to select the house and the street. Then press SHIFT-T. In the dialog fill in the 'Lowest number' and make sure that you deselect the option 'delete outline way'. Leave 'make an associatedStreet relation' checked. Press OK.

This will add the house number and the street name to the house. Furthermore it will create an associatedStreet relation containing the house and the street.


  • Only the selected road segment will be added. If the road was split in multiple segments, you have to add the other segments yourself.
  • In case the associatedStreet relation already exists, the create option is replaced with an 'add to' option in the dialog. Unfortunately, in this case the addr:street tag is not added to the building.


see Terracer plugin

  • draw a building
  • select street, building and a node on the side of the lowest numbered house. By the selecting the node, the numbering will always be in the "right direction".
  • open the terracer tool, fill in the lowest and highest number, leave the 'delete outline way' checked !


  • The addr:street tag is not always added
  • The building : house tag might get replaced with building : yes

Several Independent Houses

Assuming the houses were not draw before.

There are possibly other methods as well. This one seems to work the best for me.

  • Draw a line next to the road. The direction of the line should be from the lowest number to the highest
  • Select the line and the road
  • Open the addrInterpolation tool (CTRL-ALT Z)
  • You can create a new associatedStreet relation if there is none. If there is already one, it is automatically selected
  • Fill in the lowest and highest number.
  • Fill in the city name (otherwise the addr:street tag does not get added to the nodes)
  • Check 'Convert to individual nodes'
  • Click 'OK'. You now have a bunch of individual nodes with house numbers. The line is gone
  • Use the building tool to draw buildings around the nodes

We will now investigate how we can add numbers to existing buildings

Add Number to existing Single House

  • Just add the number and street via the tag editor, and add the house to the associatedStreet relation
  • or, use the terracer tool as described above

Add numbers to Several Independent Houses

  • Draw a line close to the houses and the road to which they belong. Draw it from the lowest numbers toward the heighest
  • Select the new line and the road
  • Start the Address Interpolation tool (CTRL-ALT z)
  • Indicate that you want to create a new associatedStreet relation (or select the existing one)
  • Fill in the Starting and Ending numbers
  • Fill in a City
  • Check "Convert way to individual house numbers"
  • Press ok.
  • Now select a house number and the house to which it belongs. Press CTRL-Shift G (Replace geometry -- requires utilsplugin2)
  • all data is copied from the node to the building rectangle, the node is removed.

This also works for terraces containing individual houses.

Adding numbers to an existing terrace

As long as the terrace is a simple rectangle, you can apply the technique explained when you start from scratch. Of course you do not have to draw the terrace.

When the terrace is irregular, and you still want individual house numbers, you first have to split the terrace in separate houses. You can use the split object (ALT-X) for this. This is also part of utilsplugin2 (I believe)

  • Add 2 nodes to the rectangle where you want to split
  • Press ALT-x. You now have two independent areas
  • Continue until you have all the individual houses.
  • Now you can use the technique described above to add numbers to individual houses.

Additional tips

  • The extrude tool (X) makes it simple to have rectangular extensions to a existing building. It is less useful on a terrace with individual houses. ALT-X starts a new connected area (without tags). Useful for semi-detached houses
  • The Orthogonalize Shape tool (Q) can be applied after moving individual nodes of a building around. It makes all corners 90 degrees again
  • Use Join Node to Way (J) to bring node and a side of separate houses together
  • Use Merge (M) to bring 2 nodes together. The last selected node keeps its position
  • For circular parts of a house.
    • draw the rectangular part
    • draw 3 nodes
    • select the nodes and press SHIFT-O (Create circle)
    • select the rectangle and the circle, press SHIFT-J (Join overlapping ways)
    • confirm in the dialog that you want to merge the tags