Geodata for Municipalities of Luxembourg, based on OpenStreetMap extract
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Municipalities (Communes) Of Luxembourg

This repository contains a dataset of annoted polygons describing the municipalities ("communes") of the Grand-Duchy of Luxembourg (as they are after the 2012 mergers).

Additionally, layers for polygons describing the suburbs ("quartiers") of the city of Luxembourg and the suburbs of the city of Esch-sur-Alzette have been added. The polygons for these are a bit inexact though (see below).

This repository has been created for a Q-LEAP S.A. project.

Source and Licensing

The geometry data is based on an OpenStreetMap (OSM) extract. No databases other than OpenStreetMap have been used in the compilation. Data is therefore available under Open Data Commons Open Database License (ODbL) 1.0. See also OpenStreetMap Copyright and License.


The format used is Geography Markup Language (actually OpenJump GML) which can be read and processed by OpenJUMP GIS.


Municipalities of the Grand-Duchy of Luxembourg

There are 106 municipalities, but there are two polygons for "Steinfort", which is separated into two disjoint areas separated by a highway.


17 MiB OpenStreetMap_Input_Geometry.jml Original OSM data from (The "roads" in "Luxembourg.osm.gz"). Unneeded lines have been removed and some missing lines have been added
27 KiB The OpenJUMP GIS project master file
7.8 MiB Communes_du_Luxembourg_en_Polygones.jml Polygons for the country's municipalities
75 KiB Quartiers_de_Esch_sur_Alzette.jml Polygons for the suburbs of the city of Esch-sur-Alzette
226 KiB Quartiers_de_Luxembourg.jml Polygons for suburbs of the city of Luxembourg

How to use this

  • Install OpenJUMP GIS.
  • Clone the repository using git clone ... or you can simply download the files individually.
  • Start OpenJUMP GIS.
  • Select: File > Open Project > "". Make sure you selected the "Open Project" action, not the "Open File" action.

OpenJUMP GIS - opening the project

  • (OpenJUMP might complain about its inability to find files and will ask you whether to continue. Say YES. Select the correct file corresponding to the name that OpenJUMP presents. It's a bit tiresome but not hard. This problem has been fixed in current versions of OpenJUMP)
  • The data has been loaded. The "System" category shows:
    • A layer for the suburbs of the city of Luxembourg
    • A layer for the suburbs of the city of Esch/Alzette
    • A layer for the original geometry loaded from OpenStreetMap
    • A layer for the polygons of the municipalities

OpenJUMP GIS in action

  • Check out the "attributes" of the layer objects for the names associated to the polygons.

OpenJUMP GIS attribute view

  • You may want to write the loaded data to a PostGIS table. For this, you must have a properly running and configured PostgreSQL server with the PostGIS extension. Right-click on the layer you want to save, then select "Save Dataset As". Set the format to "PostGIS table (new)". Fill in the server's coordinates. Fill in the name of the target table - to avoid running into problems and having to use quotes in PostgreSQL queries, I recommend using lowercase letters only for the table name. Unfortunately there is no option to force PostGIS to lowercase column names. You can add a separate primary key column (tick the appropriate box), or alter the table afterwards by declaring column "id" as primary key, like so:
    • ALTER TABLE polygones_luxembourg DROP COLUMN gid;
    • CREATE UNIQUE INDEX pollux_idx ON polygones_luxembourg("ID"); (See Create Index)
    • ALTER TABLE polygones_luxembourg ADD PRIMARY KEY USING INDEX pollux_idx; (See Alter Table)

Fixes to and Problems with the original OSM data

Some problems have been roughly fixed in the dataset, but not yet in OpenStreetMap.

  • Suburbs of City of Luxembourg ("VdL")
    • The border between the suburbs of "Weimersdorf" and "Neudorf" of VdL is missing in OSM. I added a VERY APPROXIMATE line to separate those quarters. The address database of "Administration du Cadastre" just lists "Neudorf", collecting "Weimersdorf" and "Neudorf" into a single unit.
    • The address database of "Administration du Cadastre" lists the suburb of "Bonnevoie" as listed as two entries,
    • "Bonnevoie-Nord (Verlorenkost)" and "Bonnevoie". The website of VdL lists this as a single suburb. One should maybe add this subdivision.
    • The southern part of the boundary between the suburbs of "Cessange" and "Gasperich" of VdL does not seem correct in OSM.
    • Additional small errors in VdL suburb borders do exist when comparing to the offical maps by eye. A fix in OSM is needed, the corresponding geographic boundaries should be easily discoverable.
  • Suburbs of City of Esch/Alzette ("Esch")
    • The suburb "Belval" of Esch is not defined.
    • The suburb "Lalleng" of Esch is not defined.
    • The southern border of suburb "Neiduerf" of Esch is not defined.
    • The eastern boundary of suburb "Schlassgoard" of Esch is not defined.
    • The southern boundary of suburb "Grenz" of Esch is plain wrong.
    • The suburb "Park" of Esch is missing.
    • The suburb "Universiteit" of Esch is missing.
    • Additional small errors in Esch suburb borders do exist and need fixing.
    • Note that the address database of "Administration du Cadastre" lists no suburbs for Esch at all.


  • Fix the problems with the suburb geometry.
  • It would also be nice to have the special sector of Findel Airport as a polygon!
  • The old, pref-merger municipalities should also be visible in a separate layer.

References for suburbs

Online info about communes

Notes on post-2000 changes

Bastendorf, Fouhren merged into Tandel
Wilwerwiltz, Kautenbach merged into Kiischpelt
Remerschen renamed to Schengen
Bettborn renamed to Préizerdaul
Clervaux, Heinerscheid, Munshausen merged into Clervaux
Ermsdorf, Medernach merged into Vallée de l'Ernz
Esch-sur-Sûre, Heiderscheid, Neunhausen merged into Esch-sur-Sûre
Bascharage, Clemency merged into Käerjeng
Consthum, Hoscheid, Hosingen merged into Parc Hosingen
Burmerange, Schengen, Wellenstein merged into Schengen