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

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.

Get the free sample
cantons
26
districts
144
municipalities
2,110
edition
Outline of Switzerland

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

LevelEntitiesIdentifier
country1CH
cantons26CH-R-<official code>
districts144CH-P-<official code>
municipalities2,110CH-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 like 100m, 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, 1km and 10km boundaries 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 100m boundary 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.

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/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

Files

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

ATTRIBUTION.md2 KB
CHANGELOG.md0 KB
LICENSE.md2 KB
README.md12 KB
data/geojson/100m/country.geojson102 KB
data/geojson/100m/municipalities.geojson2.6 MB
data/geojson/100m/provinces.geojson747 KB
data/geojson/100m/regions.geojson368 KB
data/geojson/10km/country.geojson3 KB
data/geojson/10km/provinces.geojson57 KB
data/geojson/10km/regions.geojson16 KB
data/geojson/1km/country.geojson18 KB
data/geojson/1km/municipalities.geojson834 KB
data/geojson/1km/provinces.geojson154 KB
data/geojson/1km/regions.geojson68 KB
data/geojson/full/municipalities.geojson23.9 MB
data/geojson/full/provinces.geojson8.1 MB
data/geojson/full/regions.geojson3.5 MB
data/geojson/light/country.geojson37 KB
data/geojson/light/provinces.geojson584 KB
data/geojson/light/regions.geojson188 KB
data/geopackage/ch.gpkg39.2 MB
data/json/tree.json176 KB
data/shapefile/100m/country.cpg0 KB
data/shapefile/100m/country.dbf0 KB
data/shapefile/100m/country.prj0 KB
data/shapefile/100m/country.shp86 KB
data/shapefile/100m/country.shx0 KB
data/shapefile/100m/municipalities.cpg0 KB
data/shapefile/100m/municipalities.dbf184 KB
data/shapefile/100m/municipalities.prj0 KB
data/shapefile/100m/municipalities.shp1.9 MB
data/shapefile/100m/municipalities.shx17 KB
data/shapefile/100m/provinces.cpg0 KB
data/shapefile/100m/provinces.dbf19 KB
data/shapefile/100m/provinces.prj0 KB
data/shapefile/100m/provinces.shp614 KB
data/shapefile/100m/provinces.shx1 KB
data/shapefile/100m/regions.cpg0 KB
data/shapefile/100m/regions.dbf2 KB
data/shapefile/100m/regions.prj0 KB
data/shapefile/100m/regions.shp311 KB
data/shapefile/100m/regions.shx0 KB
data/shapefile/10km/country.cpg0 KB
data/shapefile/10km/country.dbf0 KB
data/shapefile/10km/country.prj0 KB
data/shapefile/10km/country.shp3 KB
data/shapefile/10km/country.shx0 KB
data/shapefile/10km/provinces.cpg0 KB
data/shapefile/10km/provinces.dbf19 KB
data/shapefile/10km/provinces.prj0 KB
data/shapefile/10km/provinces.shp27 KB
data/shapefile/10km/provinces.shx1 KB
data/shapefile/10km/regions.cpg0 KB
data/shapefile/10km/regions.dbf2 KB
data/shapefile/10km/regions.prj0 KB
data/shapefile/10km/regions.shp12 KB
data/shapefile/10km/regions.shx0 KB
data/shapefile/1km/country.cpg0 KB
data/shapefile/1km/country.dbf0 KB
data/shapefile/1km/country.prj0 KB
data/shapefile/1km/country.shp15 KB
data/shapefile/1km/country.shx0 KB
data/shapefile/1km/municipalities.cpg0 KB
data/shapefile/1km/municipalities.dbf184 KB
data/shapefile/1km/municipalities.prj0 KB
data/shapefile/1km/municipalities.shp427 KB
data/shapefile/1km/municipalities.shx17 KB
data/shapefile/1km/provinces.cpg0 KB
data/shapefile/1km/provinces.dbf19 KB
data/shapefile/1km/provinces.prj0 KB
data/shapefile/1km/provinces.shp109 KB
data/shapefile/1km/provinces.shx1 KB
data/shapefile/1km/regions.cpg0 KB
data/shapefile/1km/regions.dbf2 KB
data/shapefile/1km/regions.prj0 KB
data/shapefile/1km/regions.shp56 KB
data/shapefile/1km/regions.shx0 KB
data/shapefile/full/municipalities.cpg0 KB
data/shapefile/full/municipalities.dbf184 KB
data/shapefile/full/municipalities.prj0 KB
data/shapefile/full/municipalities.shp20.1 MB
data/shapefile/full/municipalities.shx17 KB
data/shapefile/full/provinces.cpg0 KB
data/shapefile/full/provinces.dbf19 KB
data/shapefile/full/provinces.prj0 KB
data/shapefile/full/provinces.shp6.8 MB
data/shapefile/full/provinces.shx1 KB
data/shapefile/full/regions.cpg0 KB
data/shapefile/full/regions.dbf2 KB
data/shapefile/full/regions.prj0 KB
data/shapefile/full/regions.shp3.0 MB
data/shapefile/full/regions.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.dbf19 KB
data/shapefile/light/provinces.prj0 KB
data/shapefile/light/provinces.shp476 KB
data/shapefile/light/provinces.shx1 KB
data/shapefile/light/regions.cpg0 KB
data/shapefile/light/regions.dbf2 KB
data/shapefile/light/regions.prj0 KB
data/shapefile/light/regions.shp158 KB
data/shapefile/light/regions.shx0 KB
data/topojson/100m/ch.topojson1.2 MB
data/topojson/10km/ch.topojson56 KB
data/topojson/1km/ch.topojson743 KB
data/topojson/full/ch.topojson5.9 MB
data/topojson/light/ch.topojson428 KB
examples/choropleth-svg.html430 KB
examples/drill-down-d3.html277 KB
examples/leaflet-geojson.html587 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.html795 KB
flags/CH.svg0 KB
sql/mysql.sql3.9 MB
sql/postgis.sql3.8 MB
sql/sqlserver.sql3.9 MB
svg/100m/layers.svg2.1 MB
svg/100m/municipalities.svg1.4 MB
svg/100m/provinces.svg420 KB
svg/100m/regions.svg210 KB
svg/10km/layers.svg38 KB
svg/10km/provinces.svg27 KB
svg/10km/regions.svg9 KB
svg/1km/layers.svg515 KB
svg/1km/municipalities.svg385 KB
svg/1km/provinces.svg81 KB
svg/1km/regions.svg39 KB
svg/light/layers.svg455 KB
svg/light/provinces.svg328 KB
svg/light/regions.svg107 KB
tables/changes.csv0 KB
tables/codes.csv113 KB
tables/country.csv0 KB
tables/history.csv47 KB
tables/municipalities.csv419 KB
tables/names.csv166 KB
tables/neighbours.csv510 KB
tables/provinces.csv37 KB
tables/regions.csv4 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.