Home > FAQ
Eurostat GISCO publishes the European statistical geographies (NUTS, LAU, countries) and other reference layers. As geospatial data and services are special and complicated, they are quite difficult to discover and use. The wrapper sits between your browser and the upstream GISCO services, handling several things:
Access-Control-Allow-Origin headers, so browsers would block direct
cross-origin JavaScript requests. The wrapper proxies responses so the
“Show on map” buttons and form submissions work.Referer
that browsers don't allow JavaScript to override; the wrapper adds them server-side.Data is organised by NUTS region (country level and major/sub-region level where available).
?legend for the legend graphic.All EU member states, EFTA and candidate countries covered by the Eurostat NUTS/LAU classifications — the GISCO services are EU-level, so every NUTS region page offers the same collections.
A Coordinate Reference System (CRS) defines how coordinates map to locations on Earth. The OGC standards use the older term Spatial Reference System (SRS) for the same concept. The most common CRS is EPSG:4326 (WGS 84), which uses latitude/longitude in degrees — this is what GPS devices and most web maps use.
A projection converts the curved surface of the Earth to a flat map. Web maps typically use Web Mercator (EPSG:3857) for display, but the underlying data is often served in geographic coordinates (EPSG:4326 or EPSG:4258).
All GeoJSON returned by the wrapper is in WGS 84 (EPSG:4326, lon/lat), regardless of what CRS the upstream service uses. Leaflet receives standard GeoJSON and needs no special CRS configuration on the client side.
Bounding boxes use the format W,S,E,N in decimal degrees (EPSG:4326, WGS 84). W and E are longitude, S and N are latitude.
Note: WMS 1.3.0 requires lat/lon axis order (S,W,N,E) when using EPSG:4326. The wrapper translates from the more intuitive lon/lat (W,S,E,N) to the standard axis order automatically before forwarding requests upstream. The GISCO OGC API Features service is GeoJSON-native (WGS 84 lon/lat throughout).
Some upstream WMS services impose a maximum image dimension (width or height in pixels). The wrapper respects these limits and returns whatever the upstream server provides. If you need a larger area, split your bounding box into smaller tiles.
The wrapper requests an image whose longer side is max_size pixels
(default 4000, lower for some services — see FAQ: Maximum image size).
The shorter side is computed from the bbox aspect ratio. Each pixel covers:
ground per pixel = bbox width (or height) / pixel width (or height)
If your bbox covers a large area, each pixel spans more ground and the image is effectively downsampled. For example, a DOP (orthophoto) layer at 20 cm ground resolution and 4000 pixels wide requires a bbox no wider than 4000 × 0.2 m = 800 m to render every source pixel. A wider bbox still works but returns a downsampled image.
Some upstream WMS layers only render at certain zoom levels. The interactive maps show a warning when the active layer needs a higher zoom level. If you use the API directly and get a blank image, try increasing the zoom level (i.e. requesting a smaller bounding box).
/vocab/gisco#nutsId), or standard RDF predicates (rdf:type,
owl:sameAs, …) for SPARQL results.
Full URI keys are shown as their local name (the part after # or the last
/); clicking opens the definition. CURIE-style keys such as
rdf:type expand to their full URI and link likewise.rdf:type/vocab/gisco#Region).
For SPARQL DESCRIBE results the
type URI from the upstream RDF graph is shown directly.owl:sameAsdata.europa.eu NUTS/LAU URIs).
The RDF/XML and Turtle outputs carry geometry as a locn:geometry XML literal
containing the raw GML in the upstream coordinate reference system (e.g. EPSG:25832).
The GeoJSON and JSON-LD outputs project all coordinates to WGS 84 and encode the
geometry as a GeoJSON object, so the three representations are not graph-isomorphic.
After loading features, the link area shows an Upstream link pointing directly
to the source service request that produced the result — for example the WFS
GetFeature call.
This lets you inspect or replay the raw upstream response independently of the wrapper.
When the feature type selector is set to * all feature types, the request fans out
to one GetFeature call per type, so there is no single upstream URI to link to.
In that case the label Upstream appears without a hyperlink; hover over it to see the explanation.
To protect upstream GISCO services from excessive load, rate limiting is in place: each IP address may make 50 requests per 10 minutes. The allowance refills continuously, so after hitting the limit you regain roughly one request every 12 seconds. Requests over the limit receive HTTP status 429.
Registered heavy users can bypass the limit with an API key, sent as an HTTP header:
Authorization: Bearer <your-api-key>
Contact the operator (see below) to request a key.
The /nuts/{CODE} pages support Memento (RFC 7089) temporal negotiation over
the served classification versions (currently NUTS 2024, 2021 and 2016 — Eurostat
publishes NUTS as discrete releases with official in-force dates). A /nuts/{CODE}
URI is the original resource (current classification) and acts as its own TimeGate: send an
Accept-Datetime: Fri, 25 Jun 2021 12:00:00 GMT header and the wrapper replies
302 to the memento of the classification legally in force on that date
(?version=2021 — memento URI syntax minted by the TimeGate and TimeMap,
not a documented query knob). Memento responses carry Memento-Datetime
(the release's in-force date) and Link headers; datetimes before the oldest
served release resolve to it as the closest memento.
The TimeMap at /nuts/{CODE}/timemap lists the memento URIs in
application/link-format (/nuts/{CODE}/timemap.json as JSON).
Mementos serve the back-catalogue classification and boundaries in every RDF format and
GeoJSON; the concept IRI (nuts/{CODE}#it) stays stable across versions —
the region is the same SKOS concept whose description changes — while the document IRI
is versioned. LAU narrower links are current-classification only, and provenance points at
that version's GISCO classification CSV.
The same negotiation covers the NUTS concept schemes
(/cl/{0..3}, TimeMap at /cl/{level}/timemap) — a 2016
memento's scheme lists the 2016 membership — and the LAU pages
(/lau/{GISCO_ID}, TimeMap at /lau/{GISCO_ID}/timemap), where the
served versions are the yearly GISCO LAU lists (currently 2024, 2023, 2022; in force from
January 1st of the reference year). A LAU memento carries that year's name, population,
density and area figures; geometry and the NUTS-3 join are current-list only.