Demo version. Please do not buy: purchases are test only and will not be processed.

Luxembourg administrative boundaries

12 cantons and 100 communes, each with its official code, in GeoJSON, TopoJSON, GeoPackage, Shapefile, layered SVG, CSV and SQL.

Get the free sample
cantons
12
communes
100
edition
Outline of Luxembourg

One of the examples in the package

A layered SVG coloured from a table with a few lines of plain JavaScript: every entity is a path whose id is its official code. The page shows a part of the country: the two levels share the same borders, so they fit without gaps. The package has every entity of every level.

Canton of Luxembourg: its communes, coloured by area, among the neighbouring cantons.

What is in the package

Levels and identifiers

LevelEntitiesIdentifier
country1LU
cantons12LU-P-<official code>
communes100LU-M-<official code>

Every entity has the same identifier in every file: it is the feature id in GeoJSON and TopoJSON, the id of the path in SVG and the id column of the tables.

Formats and scales

Format full 100m 1km 10km light
GeoJSON 655 KB 278 KB 57 KB 5 KB 212 KB
TopoJSON 152 KB 79 KB 36 KB 4 KB 84 KB
Shapefile 553 KB 232 KB 44 KB 4 KB 181 KB
SVG - 300 KB 59 KB 5 KB 221 KB
  • full: the boundaries as published by the source.
  • 100m: simplified within 100 m and coherent: communes and cantons share exactly the same border vertices.
  • 1km: simplified within 1 km and coherent like 100m, every level: the whole country on a web map.
  • 10km: simplified within 10 km and coherent, country and cantons only: small maps and maps of many countries.
  • At the borders with the neighbouring countries (Belgium, France and Germany) the 100m, 1km and 10km boundaries share the same vertices as in their packages, so the maps fit without gaps or overlaps.
  • light: country and cantons only, each level simplified on its own to a small file.
  • GeoJSON: one FeatureCollection per level, WGS84. TopoJSON: all the levels in one topology, shared borders are shared arcs.
  • GeoPackage: data/geopackage/lu.gpkg (1.5 MB), one file for QGIS and ArcGIS with every level at every scale as a layer (municipalities_100m) with its spatial index, and every table of the package.
  • Shapefile: one per level and scale, WGS84, UTF-8; the columns longer than ten characters are shortened (region, province, abbrev).
  • SVG: one file per level and one with every level as a layer, in a Lambert conformal conic projection; they open as layers in Illustrator, Figma and Inkscape.
  • SQL: a script for PostGIS, one for MySQL 8 and one for SQL Server (280 KB each). It creates one table with every entity of every level, its 100m boundary in WGS84 and its indexes.
  • JSON: data/json/tree.json (9 KB), the levels nested and sorted by name, without boundaries: what the select boxes of a form need.

Tables

CSV, UTF-8. Names in EN, IT, ES, FR, DE, NL, PT, besides the official one.

FileRowsContent
tables/country.csv 1 The country: names, population, bounding box, centre and label point.
code, name, population, min_lat, min_lng, max_lat, max_lng, center_lat, center_lng, label_lat, label_lng, id, name_en, name_it, name_es, name_fr, name_de, name_nl, name_pt
tables/provinces.csv 12 The cantons: official code, abbreviation, the code of the parent, names, area, population, bounding box, centre and label point.
code, name, abbreviation, region_code, area_km2, population, min_lat, min_lng, max_lat, max_lng, center_lat, center_lng, label_lat, label_lng, id, name_en, name_it, name_es, name_fr, name_de, name_nl, name_pt
tables/municipalities.csv 100 The communes: official code, the codes of the parents, names, area, population, elevation in metres (of the centre, or lowest and highest point, as the official source gives it), bounding box, centre and label point.
code, name, province_code, province_abbreviation, region_code, cadastral_code, chief_town, area_km2, population, elevation, elevation_min, elevation_max, elevation_mean, min_lat, min_lng, max_lat, max_lng, center_lat, center_lng, label_lat, label_lng, id, name_en, name_it, name_es, name_fr, name_de, name_nl, name_pt
tables/codes.csv 113 Every entity in other datasets, as Wikidata declares it: the Wikidata item, ISO 3166-2, GeoNames and the OpenStreetMap relation.
id, level, code, wikidata, iso_3166_2, geonames, osm_relation
tables/names.csv 163 Every name an entity is written with (official, each side of a bilingual name, translated), without accents and as a slug: to match a file that has names and no codes.
id, level, name, name_ascii, slug, kind
tables/neighbours.csv 568 The entities of the same level that share a border, both ways, with the length of the shared border in km.
level, id, neighbour_id, shared_border_km
tables/history.csv 0 The suppressed communes with the one that replaced them, for archives that still have the old codes; no rows where the official source gives no history.
code, name, province_code, replaced_by_code, replaced_by_name
tables/changes.csv 0 What changed from one edition of the package to the next, one row per entity added, removed, renamed, moved or with a new boundary: the same as CHANGELOG.md.
edition, date, level, id, name, change, before, after

Files

All the 114 files of the package, with their size.

ATTRIBUTION.md2 KB
CHANGELOG.md0 KB
LICENSE.md2 KB
README.md11 KB
data/geojson/100m/country.geojson18 KB
data/geojson/100m/municipalities.geojson191 KB
data/geojson/100m/provinces.geojson68 KB
data/geojson/10km/country.geojson1 KB
data/geojson/10km/provinces.geojson4 KB
data/geojson/1km/country.geojson3 KB
data/geojson/1km/municipalities.geojson43 KB
data/geojson/1km/provinces.geojson11 KB
data/geojson/full/municipalities.geojson479 KB
data/geojson/full/provinces.geojson175 KB
data/geojson/light/country.geojson36 KB
data/geojson/light/provinces.geojson175 KB
data/geopackage/lu.gpkg1.5 MB
data/json/tree.json9 KB
data/shapefile/100m/country.cpg0 KB
data/shapefile/100m/country.dbf0 KB
data/shapefile/100m/country.prj0 KB
data/shapefile/100m/country.shp16 KB
data/shapefile/100m/country.shx0 KB
data/shapefile/100m/municipalities.cpg0 KB
data/shapefile/100m/municipalities.dbf7 KB
data/shapefile/100m/municipalities.prj0 KB
data/shapefile/100m/municipalities.shp150 KB
data/shapefile/100m/municipalities.shx1 KB
data/shapefile/100m/provinces.cpg0 KB
data/shapefile/100m/provinces.dbf1 KB
data/shapefile/100m/provinces.prj0 KB
data/shapefile/100m/provinces.shp57 KB
data/shapefile/100m/provinces.shx0 KB
data/shapefile/10km/country.cpg0 KB
data/shapefile/10km/country.dbf0 KB
data/shapefile/10km/country.prj0 KB
data/shapefile/10km/country.shp0 KB
data/shapefile/10km/country.shx0 KB
data/shapefile/10km/provinces.cpg0 KB
data/shapefile/10km/provinces.dbf1 KB
data/shapefile/10km/provinces.prj0 KB
data/shapefile/10km/provinces.shp2 KB
data/shapefile/10km/provinces.shx0 KB
data/shapefile/1km/country.cpg0 KB
data/shapefile/1km/country.dbf0 KB
data/shapefile/1km/country.prj0 KB
data/shapefile/1km/country.shp3 KB
data/shapefile/1km/country.shx0 KB
data/shapefile/1km/municipalities.cpg0 KB
data/shapefile/1km/municipalities.dbf7 KB
data/shapefile/1km/municipalities.prj0 KB
data/shapefile/1km/municipalities.shp24 KB
data/shapefile/1km/municipalities.shx1 KB
data/shapefile/1km/provinces.cpg0 KB
data/shapefile/1km/provinces.dbf1 KB
data/shapefile/1km/provinces.prj0 KB
data/shapefile/1km/provinces.shp8 KB
data/shapefile/1km/provinces.shx0 KB
data/shapefile/full/municipalities.cpg0 KB
data/shapefile/full/municipalities.dbf7 KB
data/shapefile/full/municipalities.prj0 KB
data/shapefile/full/municipalities.shp395 KB
data/shapefile/full/municipalities.shx1 KB
data/shapefile/full/provinces.cpg0 KB
data/shapefile/full/provinces.dbf1 KB
data/shapefile/full/provinces.prj0 KB
data/shapefile/full/provinces.shp148 KB
data/shapefile/full/provinces.shx0 KB
data/shapefile/light/country.cpg0 KB
data/shapefile/light/country.dbf0 KB
data/shapefile/light/country.prj0 KB
data/shapefile/light/country.shp31 KB
data/shapefile/light/country.shx0 KB
data/shapefile/light/provinces.cpg0 KB
data/shapefile/light/provinces.dbf1 KB
data/shapefile/light/provinces.prj0 KB
data/shapefile/light/provinces.shp148 KB
data/shapefile/light/provinces.shx0 KB
data/topojson/100m/lu.topojson79 KB
data/topojson/10km/lu.topojson4 KB
data/topojson/1km/lu.topojson36 KB
data/topojson/full/lu.topojson152 KB
data/topojson/light/lu.topojson84 KB
examples/choropleth-svg.html43 KB
examples/drill-down-d3.html32 KB
examples/leaflet-geojson.html178 KB
examples/lib/LICENSES.md3 KB
examples/lib/d3.min.js273 KB
examples/lib/leaflet.css14 KB
examples/lib/leaflet.js144 KB
examples/lib/topojson-client.min.js7 KB
examples/point-lookup.html77 KB
flags/LU.svg0 KB
sql/mysql.sql283 KB
sql/postgis.sql280 KB
sql/sqlserver.sql283 KB
svg/100m/layers.svg155 KB
svg/100m/municipalities.svg106 KB
svg/100m/provinces.svg39 KB
svg/10km/layers.svg3 KB
svg/10km/provinces.svg2 KB
svg/1km/layers.svg30 KB
svg/1km/municipalities.svg22 KB
svg/1km/provinces.svg7 KB
svg/light/layers.svg121 KB
svg/light/provinces.svg100 KB
tables/changes.csv0 KB
tables/codes.csv6 KB
tables/country.csv0 KB
tables/history.csv0 KB
tables/municipalities.csv19 KB
tables/names.csv10 KB
tables/neighbours.csv22 KB
tables/provinces.csv2 KB

The package of Luxembourg is not on sale yet. You can try it now: get the free sample, Diekirch (10 communes) with the same files and formats.