WikiProject Luxembourg/Addresses

From OpenStreetMap Wiki
Jump to navigation Jump to search


The goal of this sub-project is to improve the address coverage in Luxembourg. Having all addresses in OpenStreetMap would greatly improve routing, a functionality used by many people to navigate from point A to point B, as the routing could be done door-to-door instead of street-to-street.

This page aims to describe how addresses are mapped in Luxembourg.

Mapping Convention

While there are multiple ways of mapping addresses in OpenStreetMap, we use the Karlsruhe Schema. This address schema does not rely on relations and is therefore easier to understand for beginners.

it is very important that the name=* on the highway (street) matches the addr:street=* on the building address!


The tag name=* should contain the street name written on the street sign. If there is a Luxembourgish translation on the sign, please tag it in name:lb=*. If there is a German translation, use name:de=*.

Note that the street name should follow the following conventions:

  • Contain all accents - Example: "Rue de l'Église" instead of "Rue de l'Eglise"
  • Capitalize the first letter of the name - Example: "Rue de l'Église" instead of "rue de l'Église"
  • Don't capitalize words such as "de, du, des, la, le, les" - Example: Avenue du Bois" instead of "Avenue Du Bois"

The following tags are used to map streets:

Tagging streets
Tag Description
highway=* Street is a way
name=street name Name of the street
postal_code=post code Post code of the street according without the country prefix (eg. 1234 and NOT L-1234)
is_in:city=city name Name of the city the street is in


You can map the address on the building itself (closed way), or as a node on top of the building.

Note that the house number should follow the following conventions:

  • If there are letters in the house number, capitalize them - Example: "7A" instead of "7a"
  • Don't start the numbers with a 0 - Example: "7" instead of "07"
  • If a building has a range of house numbers, don't insert white spaces - Example: "7-9" instead of "7 - 9"

Addresses should be tagged according to the following schema (Karlsruhe Schema):

Tagging addresses
Tag Description
building=yes (Assuming that you are adding the addresses on a building)
addr:country="LU" ISO Country Code of Luxembourg
addr:housenumber=number House number
addr:city=name Name of the city/village
addr:postcode=post code Post code of the city/village without the country prefix (eg. 1234 and NOT L-1234)
addr:street=name Name of the street


The following sections will provide a step by step on how to map addresses in Luxembourg. Note that this workflow description is not the only way to map the addresses in Luxembourg! Feel free to use whatever Editor you want, the results will (hopefully!) be the same :)

Step 1: Prerequisites

While you can use iD, using JOSM is generally quicker once you get used to it.

If you decide to use JOSM, the recommended plugins are:

  • BuildingTools - Used to quickly draw buildings (Default shortcut is B)
  • Terracer - Used to draw terraced houses
  • OpenData - Extends the data formats supported by JOSM

Step 2: Drawing building outlines

Ideally, the building outlines should be drawn before adding the addresses. To do this, follow the following recommendations:

  • Use the most recent imagery!
  • The BuildingTools plugin helps you to draw rectangular houses with just three clicks.
  • Always start drawing the longest side of a building, the alignment will be much better.
  • Blocks of several joined houses of equal size should be traced as one outline. The Terracer plugin will do the rest.
  • More complex buildings have to be drawn by hand. Remember to orthogonalise the building shape.
  • When possible, orthogonalise the building shape using Tools>Orthogonalise Shapes (Default shortcut is Q)

Step 3: Collecting the data

Alternative 1: Surveying

The goal of surveying an area is to collect the street names and house numbers. While you can use a Smartphone to directly write the data into OpenStreetMap, you can also use Field Papers to print out a paper map, write down the street names and addresses and upload the resulting map by taking a picture.This picture can then be imported into JOSM and published online for others to use.

Post codes are harder to survey, as they aren't written on any sign. Furthermore, post codes in Luxembourg are usually attributed by street, i.e. for a given street, most (if not all) houses will have the same post code.

Alternative 2: Using CACLR

Red x.svg To do: Explain CACLR etc.

Alternatively, you can use the CACLR dataset as a reference in order to collect the data required to map the addresses into OpenStreetMap.

Step 4: Adding the house numbers to your buildings

Red x.svg To do: Rework this step!

When you are done, the terracer-plugin comes into action.
For single houses, just select the house and call the plugin with <shift>+<t>.
Insert the housenumber as lowest housenumber and as highest housenumber. For terraces, insert the lowest and the highest housenumbers.
The plugin will detect the number of the houses. It will then segment the building outline into single outlines for each house.
If the housenumbers are the wrong way, a <shift>+<r> will reverse the numbers in the selected terrace.
The option "Umringslinie löschen" (delete building outline ?) should be checked, to delete the original outline, you drew in the first step.

Leave the option "create a street relation" (in German: "Eine Strassenzugehörigkeitsrelation erzeugen") unchecked.

Select a street name before pressing ok, the addr:street tag will be placed for each single house.

You are almost done by now! Repeat for the next house, the next street, the next village, the next commune, the next canton, the next district, and then the entire country.


Why don't we use interpolation?

As there is a dataset containing all house numbers for Luxembourg, we don’t use interpolation for mapping addresses.