Switzerland administrative boundaries
26 cantons, 144 districts and 2,110 municipalities, each with its official code, in GeoJSON, TopoJSON, GeoPackage, Shapefile, layered SVG, CSV and SQL.
- cantons
- 26
- districts
- 144
- municipalities
- 2,110
- edition
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.
Ticino: the municipalities of the district of Lugano, coloured by area, among the other districts.
What is in the package
Levels and identifiers
| Level | Entities | Identifier |
|---|---|---|
| country | 1 | CH |
| cantons | 26 | CH-R-<official code> |
| districts | 144 | CH-P-<official code> |
| municipalities | 2,110 | CH-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.
The history lists 1,294 suppressed municipalities with their successor.
Formats and scales
| Format | full | 100m | 1km | 10km | light |
|---|---|---|---|---|---|
| GeoJSON | 35.4 MB | 3.8 MB | 1.0 MB | 76 KB | 809 KB |
| TopoJSON | 5.9 MB | 1.2 MB | 743 KB | 56 KB | 428 KB |
| Shapefile | 30.1 MB | 3.1 MB | 831 KB | 64 KB | 688 KB |
| SVG | - | 4.1 MB | 1,021 KB | 74 KB | 890 KB |
full: the boundaries as published by the source.100m: simplified within 100 m and coherent: municipalities, districts and cantons share exactly the same border vertices.1km: simplified within 1 km and coherent like100m, every level: the whole country on a web map.10km: simplified within 10 km and coherent, country, cantons and districts only: small maps and maps of many countries.- At the borders with the neighbouring countries (Austria, France, Germany and Italy) the
100m,1kmand10kmboundaries share the same vertices as in their packages, so the maps fit without gaps or overlaps. light: country, cantons and districts 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/ch.gpkg(39.2 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 (3.8 MB each). It creates one table with every entity of every level, its
100mboundary in WGS84 and its indexes. - JSON:
data/json/tree.json(176 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.
| File | Rows | Content |
|---|---|---|
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/regions.csv |
26 |
The cantons: official code, names, area, population, bounding box, centre and label point.
code, name, 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/provinces.csv |
144 |
The districts: 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 |
2,110 |
The municipalities: 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 |
2,281 |
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 |
2,602 |
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 |
13,010 |
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 |
1,294 |
The suppressed municipalities 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
|
Sources and licenses
The package is a derived work of the official datasets below; their publishers do not endorse it. What you may do with it is in the license of the packages.
- Ufficio federale di statistica (UST), Elenco ufficiale dei comuni della Svizzera, licensed Open use (opendata.swiss)
- swisstopo - Ufficio federale di topografia, swissBOUNDARIES3D, licensed Open use. Must provide the source.
- Wikidata, Labels and external identifiers of the administrative entities (translated names, codes in other datasets), licensed CC0 1.0
Files
All the 149 files of the package, with their size.
ATTRIBUTION.md | 2 KB |
|---|---|
CHANGELOG.md | 0 KB |
LICENSE.md | 2 KB |
README.md | 12 KB |
data/geojson/100m/country.geojson | 102 KB |
data/geojson/100m/municipalities.geojson | 2.6 MB |
data/geojson/100m/provinces.geojson | 747 KB |
data/geojson/100m/regions.geojson | 368 KB |
data/geojson/10km/country.geojson | 3 KB |
data/geojson/10km/provinces.geojson | 57 KB |
data/geojson/10km/regions.geojson | 16 KB |
data/geojson/1km/country.geojson | 18 KB |
data/geojson/1km/municipalities.geojson | 834 KB |
data/geojson/1km/provinces.geojson | 154 KB |
data/geojson/1km/regions.geojson | 68 KB |
data/geojson/full/municipalities.geojson | 23.9 MB |
data/geojson/full/provinces.geojson | 8.1 MB |
data/geojson/full/regions.geojson | 3.5 MB |
data/geojson/light/country.geojson | 37 KB |
data/geojson/light/provinces.geojson | 584 KB |
data/geojson/light/regions.geojson | 188 KB |
data/geopackage/ch.gpkg | 39.2 MB |
data/json/tree.json | 176 KB |
data/shapefile/100m/country.cpg | 0 KB |
data/shapefile/100m/country.dbf | 0 KB |
data/shapefile/100m/country.prj | 0 KB |
data/shapefile/100m/country.shp | 86 KB |
data/shapefile/100m/country.shx | 0 KB |
data/shapefile/100m/municipalities.cpg | 0 KB |
data/shapefile/100m/municipalities.dbf | 184 KB |
data/shapefile/100m/municipalities.prj | 0 KB |
data/shapefile/100m/municipalities.shp | 1.9 MB |
data/shapefile/100m/municipalities.shx | 17 KB |
data/shapefile/100m/provinces.cpg | 0 KB |
data/shapefile/100m/provinces.dbf | 19 KB |
data/shapefile/100m/provinces.prj | 0 KB |
data/shapefile/100m/provinces.shp | 614 KB |
data/shapefile/100m/provinces.shx | 1 KB |
data/shapefile/100m/regions.cpg | 0 KB |
data/shapefile/100m/regions.dbf | 2 KB |
data/shapefile/100m/regions.prj | 0 KB |
data/shapefile/100m/regions.shp | 311 KB |
data/shapefile/100m/regions.shx | 0 KB |
data/shapefile/10km/country.cpg | 0 KB |
data/shapefile/10km/country.dbf | 0 KB |
data/shapefile/10km/country.prj | 0 KB |
data/shapefile/10km/country.shp | 3 KB |
data/shapefile/10km/country.shx | 0 KB |
data/shapefile/10km/provinces.cpg | 0 KB |
data/shapefile/10km/provinces.dbf | 19 KB |
data/shapefile/10km/provinces.prj | 0 KB |
data/shapefile/10km/provinces.shp | 27 KB |
data/shapefile/10km/provinces.shx | 1 KB |
data/shapefile/10km/regions.cpg | 0 KB |
data/shapefile/10km/regions.dbf | 2 KB |
data/shapefile/10km/regions.prj | 0 KB |
data/shapefile/10km/regions.shp | 12 KB |
data/shapefile/10km/regions.shx | 0 KB |
data/shapefile/1km/country.cpg | 0 KB |
data/shapefile/1km/country.dbf | 0 KB |
data/shapefile/1km/country.prj | 0 KB |
data/shapefile/1km/country.shp | 15 KB |
data/shapefile/1km/country.shx | 0 KB |
data/shapefile/1km/municipalities.cpg | 0 KB |
data/shapefile/1km/municipalities.dbf | 184 KB |
data/shapefile/1km/municipalities.prj | 0 KB |
data/shapefile/1km/municipalities.shp | 427 KB |
data/shapefile/1km/municipalities.shx | 17 KB |
data/shapefile/1km/provinces.cpg | 0 KB |
data/shapefile/1km/provinces.dbf | 19 KB |
data/shapefile/1km/provinces.prj | 0 KB |
data/shapefile/1km/provinces.shp | 109 KB |
data/shapefile/1km/provinces.shx | 1 KB |
data/shapefile/1km/regions.cpg | 0 KB |
data/shapefile/1km/regions.dbf | 2 KB |
data/shapefile/1km/regions.prj | 0 KB |
data/shapefile/1km/regions.shp | 56 KB |
data/shapefile/1km/regions.shx | 0 KB |
data/shapefile/full/municipalities.cpg | 0 KB |
data/shapefile/full/municipalities.dbf | 184 KB |
data/shapefile/full/municipalities.prj | 0 KB |
data/shapefile/full/municipalities.shp | 20.1 MB |
data/shapefile/full/municipalities.shx | 17 KB |
data/shapefile/full/provinces.cpg | 0 KB |
data/shapefile/full/provinces.dbf | 19 KB |
data/shapefile/full/provinces.prj | 0 KB |
data/shapefile/full/provinces.shp | 6.8 MB |
data/shapefile/full/provinces.shx | 1 KB |
data/shapefile/full/regions.cpg | 0 KB |
data/shapefile/full/regions.dbf | 2 KB |
data/shapefile/full/regions.prj | 0 KB |
data/shapefile/full/regions.shp | 3.0 MB |
data/shapefile/full/regions.shx | 0 KB |
data/shapefile/light/country.cpg | 0 KB |
data/shapefile/light/country.dbf | 0 KB |
data/shapefile/light/country.prj | 0 KB |
data/shapefile/light/country.shp | 31 KB |
data/shapefile/light/country.shx | 0 KB |
data/shapefile/light/provinces.cpg | 0 KB |
data/shapefile/light/provinces.dbf | 19 KB |
data/shapefile/light/provinces.prj | 0 KB |
data/shapefile/light/provinces.shp | 476 KB |
data/shapefile/light/provinces.shx | 1 KB |
data/shapefile/light/regions.cpg | 0 KB |
data/shapefile/light/regions.dbf | 2 KB |
data/shapefile/light/regions.prj | 0 KB |
data/shapefile/light/regions.shp | 158 KB |
data/shapefile/light/regions.shx | 0 KB |
data/topojson/100m/ch.topojson | 1.2 MB |
data/topojson/10km/ch.topojson | 56 KB |
data/topojson/1km/ch.topojson | 743 KB |
data/topojson/full/ch.topojson | 5.9 MB |
data/topojson/light/ch.topojson | 428 KB |
examples/choropleth-svg.html | 430 KB |
examples/drill-down-d3.html | 277 KB |
examples/leaflet-geojson.html | 587 KB |
examples/lib/LICENSES.md | 3 KB |
examples/lib/d3.min.js | 273 KB |
examples/lib/leaflet.css | 14 KB |
examples/lib/leaflet.js | 144 KB |
examples/lib/topojson-client.min.js | 7 KB |
examples/point-lookup.html | 795 KB |
flags/CH.svg | 0 KB |
sql/mysql.sql | 3.9 MB |
sql/postgis.sql | 3.8 MB |
sql/sqlserver.sql | 3.9 MB |
svg/100m/layers.svg | 2.1 MB |
svg/100m/municipalities.svg | 1.4 MB |
svg/100m/provinces.svg | 420 KB |
svg/100m/regions.svg | 210 KB |
svg/10km/layers.svg | 38 KB |
svg/10km/provinces.svg | 27 KB |
svg/10km/regions.svg | 9 KB |
svg/1km/layers.svg | 515 KB |
svg/1km/municipalities.svg | 385 KB |
svg/1km/provinces.svg | 81 KB |
svg/1km/regions.svg | 39 KB |
svg/light/layers.svg | 455 KB |
svg/light/provinces.svg | 328 KB |
svg/light/regions.svg | 107 KB |
tables/changes.csv | 0 KB |
tables/codes.csv | 113 KB |
tables/country.csv | 0 KB |
tables/history.csv | 47 KB |
tables/municipalities.csv | 419 KB |
tables/names.csv | 166 KB |
tables/neighbours.csv | 510 KB |
tables/provinces.csv | 37 KB |
tables/regions.csv | 4 KB |
The package of Switzerland is not on sale yet. You can try it now: get the free sample, Jura (4 districts and 51 municipalities) with the same files and formats.