This repository contains geo-referenced limits for all municipalities in Italy, and their breakdown by regions and provinces.
The geographic projection used is WGS84.
The limits are released both in topojson with a high simplification rate (20%), and the non-simplified geojson format.
As administrative limits change continuously, the files are upgraded periodically, and refer to the latest administrative subdivisions, as published by ISTAT in this permalink (hoping it's actually a permalink).
Historical versions, year by year, are published as tags, currently only 2019 and 2021 are present.
The master branch currently contains limits as of June 2023.
The original administrative limits data are copyrighted by ISTAT, that releases them under the CC-BY license. The data generated and published here are released under the same CC-BY license.
These files are not simplified, contain a large number of vectors, and can only contain one layer. They are compatible with almost all visualisers and applications, and can be used to integrate geographic information, almost as ubiquitously as shp files.
As of June 2023 (tag 2023.1), the geojson files are produced using the gj2008
flag of mapshaper, in order to make them compatile with the pre-RFC 7946 GeoJSON spec, and with the D3 javascript library, and other libraries using D3 underneath, as Plotly, for example.
You can find the original discussion in this mapshaper's issue.
The following files are available:
- geojson/limits_IT_municipalities.geojson - all Italian municipalities, ~40MB
- geojson/limits_IT_provinces.geojson - all Italian provinces
- geojson/limits_IT_regions.geojson - all Italian regions
- geojson/limits_R_{code}_municipalities.geojson - all municipalities in a region (R is the ISTAT numerical code of the region, ex: geojson/limits_R_12_municipalities.geojson - Lazio region)
- geojson/limits_P_{code}_municipalities.geojson - all munitipalities in a province (P is the ISTAT numerical code of the province, ex: geojson/limits_P_58_municipalities.geojson - Rome province)
Please consider that maps preview for geojson data are only available for files of limited size in github.com; use mapshaper to see and explore larger files.
These files are simplified, smaller, but less precise, and contains a lot less vectors than the corresponding geojson
files, can contain many layers, and can be used in compatible map visualisers (leaflet, d3, mapshaper).
The following topojson
files are available:
- topojson/limits_IT_all.topo.json - all municipalities, provinces and regions (3 layers), ~4MB
- topojson/limits_IT_municipalities.topo.json - all Italian municipalities (1 layer), ~4MB
- topojson/limits_IT_provinces.topo.json - all Italian provinces (1 layer)
- topojson/limits_IT_regions.topo.json - all Italian regions (1 layer)
- topojson/limits_R_{code}_municipalities.topo.json - all municipalities in a region (R is the ISTAT numerical code of the region, for ex: topojson/limits_R_12_municipalities.topo.json - Lazio region)
- topojson/limits_P_{code}_municipalities.topo.json - all munitipalities in a province (P is the ISTAT numerical code of the province, for ex: topojson/limits_P_58_municipalities.topo.json - Rome province)
Please consider that maps preview for topojson data are not available on github.com; use mapshaper to see the files.
Each geographic area has the following metadata:
name
(M) - the name of the municipalitycom_catasto_code
(M) - the cadaster code (H501)com_istat_code
(M) - the ISTAT code, as text (zero-padded)com_istat_code_num
(M) - the ISTAT code, as integerop_id
(M) - the openpolis ID (for integration with legacy OP data)opdm_id
(M) - the opdm ID (for integration with OPDM data)minint_elettorale
(M) - interior minister IDprov_name
(M,P) - parent province nameprov_istat_code
(M,P) - parent province ISTAT code, as text (zero-padded)prov_istat_code_num
(M,P) - parent province ISTAT code, as integerprov_acr
(M,P,R) - parent province acronym (ex: RM)reg_name
(M,P,R) - parent region full namereg_istat_code
(M,P,R) - parent region ISTAT code, as text (zero padded)reg_istat_code_num
(M,P,R) - parent region ISTAT code, as number
In parenthesis, the contexts where these properties can be found:
- M: Municipalities,
- P: Provinces,
- R: Regions
To generate all files, starting from the comuni.geojson
file:
./generate_geojson.sh
./generate_topojson.sh
The mapshaper client, based on node js, is required by the scripts to work. These are currently based on mapshaper version 0.6.65
How the comuni.geojson
file is generated, and other scripts' internals are described in this wiki page.