Pre-split Eurostat GISCO NUTS and LAU administrative boundary datasets for web mapping applications.
This repository provides lightweight GeoJSON files organised according to the official European administrative hierarchy, allowing web applications to load only the boundaries they need.
The datasets are derived from Eurostat GISCO and are intended for static hosting environments such as GitHub Pages without requiring WFS servers, PostGIS, vector tile servers, or other backend infrastructure.
Eurostat GISCO provides administrative units as large continent-wide GeoJSON files.
While suitable for GIS workflows, these files can be cumbersome to use directly in browser-based mapping applications:
- Large downloads
- Long parsing times
- Unnecessary loading of regions outside the current map view
This repository reorganises the data into a hierarchy that supports incremental loading:
NUTS0
└─ NUTS1
└─ NUTS2
└─ NUTS3
└─ LAU
Applications can progressively load deeper administrative levels as users zoom or navigate through the map.
Inspired by: https://github.com/eurostat/Nuts2json
Official Eurostat GISCO datasets: https://ec.europa.eu/eurostat/web/gisco/geodata
The script downloads:
- NUTS regions
- LAU regions
for a specified year, scale and coordinate reference system.
Example:
v1/
├── NUTS0_RG_01M_2024_4326.geojson
├── PT/
│ ├── PT1_NUTS1_RG_01M_2024_4326.geojson
│ ├── PT11_NUTS2_RG_01M_2024_4326.geojson
│ ├── PT111_NUTS3_RG_01M_2024_4326.geojson
│ └── PT111_LAU_RG_01M_2024_4326.geojson
├── DE/
│ └── ...
└── nuts_lau_hierarchy.json
The script also generates:
nuts_lau_hierarchy.json
which contains:
- administrative hierarchy relationships
- child region identifiers
- references to generated GeoJSON files
This allows applications to navigate the hierarchy without loading geometry.
Applications can use it to:
- Find child regions
- Resolve parent regions
- Locate GeoJSON files without scanning directories
- Load LAU data only when needed
- Load NUTS0.
- Determine visible countries.
- Load NUTS1 for those countries.
- Load NUTS2 for active NUTS1 regions.
- Load NUTS3 for active NUTS2 regions.
- Load LAU only when a NUTS3 region becomes relevant.
This significantly reduces the amount of geometry transferred to the browser.
Load all countries
https://raw.githubusercontent.com/euraf/eu-nuts-lau/master/v1/NUTS0_RG_01M_2024_4326.geojson
Load Portuguese NUTS1 regions
https://raw.githubusercontent.com/euraf/eu-nuts-lau/master/v1/PT/PT1_NUTS1_RG_01M_2024_4326.geojson
Load Portuguese NUTS2 regions
https://raw.githubusercontent.com/euraf/eu-nuts-lau/master/v1/PT/PT1_NUTS2_RG_01M_2024_4326.geojson
Load NUTS3 regions within PT11
https://raw.githubusercontent.com/euraf/eu-nuts-lau/master/v1/PT/PT11_NUTS3_RG_01M_2024_4326.geojson
Load LAU regions within PT111
https://raw.githubusercontent.com/euraf/eu-nuts-lau/master/v1/PT/PT111_LAU_RG_01M_2024_4326.geojson
Load the hierarchy index
https://raw.githubusercontent.com/euraf/eu-nuts-lau/master/nuts_lau_hierarchy.json
The repository includes a Python script that works as lightweight preprocessing tool for Eurostat GISCO administrative boundaries.
The script downloads official NUTS and LAU GeoJSON datasets from GISCO and splits them into smaller files organised according to the European administrative hierarchy.
pip install geopandaspython nuts_lau_splitter.pyGenerated files will be written to:
v1/
and the hierarchy index:
nuts_lau_hierarchy.json
Administrative boundary data remains subject to Eurostat / GISCO licensing and terms of use.
This repository only redistributes reorganised versions of the original datasets.