Nuts2json provides the Eurostat NUTS geometries as web formats such as TopoJSON and GeoJSON. It is provided to support the development of statistical web maps of Eurostat data based on NUTS regions. In a way, it provides a blank map of geometries ready for use with your own data and cartographic style.
See some examples below.
For a faster creation of maps based on Nuts2json, check out eurostat-map.js.
For a faster creation of Dorling cartograms based on Nuts2json, check out NutsDorlingCartogram.
Base URL: https://raw.githubusercontent.com/eurostat/Nuts2json/master/pub/v2
(See here how to define your own base URL)
URL patterns:
- For TopoJSON format:
/<YEAR>/<PROJECTION>/<SCALE>/<NUTS_LEVEL>.json
- For GeoJSON format:
/<YEAR>/<PROJECTION>/<SCALE>/<TYPE>[_<NUTS_LEVEL>].json
For example, https://raw.githubusercontent.com/eurostat/Nuts2json/master/pub/v2/2016/3035/20M/2.json
returns a TopoJSON file of 2016 NUTS regions level 2 in European LAEA projection (EPSG 3035) for 1:20M scale.
The parameters are:
Parameter | Supported values | Description |
---|---|---|
YEAR |
2024 2021 2016 2013 2010 |
The NUTS version. |
PROJECTION |
3035 3857 4326 |
The coordinate reference system EPSG code. Two projections are provided: European LAEA projection (EPSG 3035) and web mercator (EPSG 3857). For statistical maps, it is strongly adviced to use an equal-area projection such as 3035 . Geographic coordinates WGS84 (EPSG 4326) are also provided. |
SCALE |
60M 20M 10M 03M |
The intended map scale factor. The larger the value, the stronger the simplification. For example, for a map width of 1000 pixels, the scale 1:20M is the most suitable. |
NUTS_LEVEL |
0 1 2 3 |
The NUTS level to display, from national (NUTS_LEVEL=0 ) to local level (NUTS_LEVEL=3 ). |
TYPE |
nutsrg nutsbn cntrg cntbn gra |
For GeoJSON format, the feature type has to be specified. The available feature types are described below. For NUTS feature types (nutsrg and nutsbn ), the NUTS_LEVEL to be displayed on the map has to be specified. |
For additional projections, formats, scales, etc., feel free to ask !
The following feature types are provided:
-
NUTS regions (feature type
nutsrg
) with the following properties:id
: The NUTS identifier to be used to join Eurostat statistical figures and then assign colors to the regions.na
: The latin geographical name of the region.
-
NUTS boundaries (feature type
nutsbn
) with the following properties:id
: An identifier.lvl
: The NUTS level of the boundary, from 0 (national level) to 3 (provincial level).eu
: T if the boundary separate two EU member states, F otherwise.efta
: T if the boundary touches at least one EFTA country, F otherwise.cc
: T if the boundary touches at least one Candidate Country, F otherwise.oth
: T if the boundary touches at least one country which is not EU, EFTA,CC. F otherwise.co
: T if the boundary is coastal. F otherwise.
-
Countries (feature type
cntrg
) with the following properties:id
: The country identifier (2 letters ISO-code).na
: The latin country name.
-
Country boundaries (feature type
cntbn
) with the following properties:id
: An identifier.eu
: T if the boundary separate two EU member states, F otherwise.efta
: T if the boundary touches at least one EFTA country, F otherwise.cc
: T if the boundary touches at least one Candidate Country, F otherwise.oth
: T if the boundary touches at least one country wich is not EU, EFTA,CC. F otherwise.co
: T if the boundary is coastal. F otherwise.
-
The map graticule (meridian and parrallel lines) is provided as feature type
gra
with a singleid
property, which is the lat/lon of the parallel/meridian.
NUTS regions are also provided as point geometries. These points can be used for label placement or simplified maps such as Dorling cartograms. Since this data does not depend on the <SCALE>
parameter, it can be retrieved directly under the /<YEAR>/<PROJECTION>/nutspt_<NUTS_LEVEL>.json
URL pattern, as GeoJSON format.
For example, https://raw.githubusercontent.com/eurostat/Nuts2json/master/pub/v2/2013/4326/nutspt_2.json
returns a GeoJSON file of 2013 NUTS points level 2 in WGS84 (EPSG 4326) geographic coordinates.
The point features are provided with the following properties:
id
: The NUTS identifier.na
: The latin geographical name of the region.ar
: The area of the region, in m².
To add map insets showing overseas territories or detail on small countries, dedicated files can be used. To access these files, the URL patterns are the same as the ones previously defined, except an additional GEO parameter has to be specified here:
.../<YEAR>/<GEO>/<PROJECTION>/...
. This parameter specifies the territory of interest. For example, https://raw.githubusercontent.com/eurostat/Nuts2json/master/pub/v2/2021/GF/32622/10M/1.json
returns a TopoJSON file of 2021 NUTS regions level 1 on French Guiana overseas territory in UTM zone 22N projection at 1:10M scale.
The values supported for this additional GEO parameter are listed in the table below. For each of them, a specific projection is proposed, replacing the European LAEA projection when necessary. For all of them, an additional value for the SCALE
parameter is available, 01M
, corresponding to the 1:1M scale. The scale 60M
, too coarse for these small territories, is not provided.
GEO | Territory | Specific projection |
---|---|---|
PT20 |
Azores | 32626 - UTM zone 26N |
PT30 |
Madeira | 32628 - UTM zone 28N |
IC |
Canary islands | 32628 - UTM zone 28N |
GF |
French Guiana | 32622 - UTM zone 22N |
GP |
Guadeloupe | 32620 - UTM zone 20N |
MQ |
Martinique | 32620 - UTM zone 20N |
CARIB |
Caribbean islands | 32620 - UTM zone 20N |
RE |
Réunion | 32740 - UTM zone 40S |
YT |
Mayotte | 32738 - UTM zone 38S |
MT |
Malta | 3035 - European LAEA projection |
LI |
Liechtenstein | 3035 - European LAEA projection |
IS |
Iceland | 3035 - European LAEA projection |
SJ_SV |
Svalbard | 3035 - European LAEA projection |
SJ_JM |
Jan Mayen | 3035 - European LAEA projection |
For additional territories, feel free to ask !
These examples are based on d3js library.
- Basic example (see the code).
- Advanced example (see the code).
- Statistical map examples based on eurostat-map.js.
- NUTS regions as points.
- NUTS regions Dorling cartogram.
- NUTS population Dorling cartogram.
- NUTS population change Dorling cartogram.
- NUTS Dorling cartogram.
To deploy your own stable version of Nuts2json, git clone
the repository and simply publish the pub
folder on your own web server folder accessible under the URL of your choice. Use the new base URL, for example https://www.mydomain.eu/path/to/pub/v2
, to access the service. This offers the possibility to select only the necessary API elements of interest.
These files are produced from the NUTS geodata provided on Eurostat-GISCO website. The entire process is automated in a Python script, which is available in the /src/py/ folder. This process has the following steps:
- download: Retrieve the input data from Eurostat GISCO API and stored it in a download folder.
- filterRenameDecomposeClean: Prepare input data: filter, rename attributes, decompose by NUTS level and clean some invalid geometries.
- coarseClipping: Apply a coarse data selection with clipping on the areas of interest.
- reprojectClipGeojson: Reproject, clip more precisely and convert as GeoJSON.
- topoGeojson: Make TopoJSON file from GeoJSON files, simplify them with TopoJSON Simplify program, and finally produce simplified GeoJSON from TopoJSON.
- points: Produce point representations.
Information on the NUTS versions to cover, the scales, projections, map insets and their extents, etc. is stored in the param.json file.
The software needed to run this process are the following:
contributors | |
version | 1 |
status | Since 2016 |
license | EUPL 1.2 |
Feel free to ask support, fork the project or simply star it (it's always a pleasure).
The Eurostat NUTS dataset is copyrighted. There are specific provisions for the usage of this dataset which must be respected. The usage of these data is subject to their acceptance. See the Eurostat-GISCO website for more information.
The designations employed and the presentation of material on these maps do not imply the expression of any opinion whatsoever on the part of the European Union concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. Kosovo*: This designation is without prejudice to positions on status, and is in line with UNSCR 1244/1999 and the ICJ Opinion on the Kosovo declaration of independence. Palestine*: This designation shall not be construed as recognition of a State of Palestine and is without prejudice to the individual positions of the Member States on this issue.