| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Nuts2json provides various reusable versions of Eurostat NUTS dataset 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 colors.
Examples: For an example of such blank map, see this map. For an example of statistical map, see this map showing population in Europe.
The files can be retrieved on-the-fly from the base URL https://raw.githubusercontent.com/eurostat/Nuts2json/gh-pages/ according to one of these file patterns:
For example, https://raw.githubusercontent.com/eurostat/Nuts2json/gh-pages/2016/3035/20M/2.json returns a TopoJSON file of 2016 NUTS regions level 2 in European LAEA projection (EPSG 3035) at 1:20M scale.
The parameters are:
| Parameter | Supported values | Description |
|---|---|---|
| YEAR | 2016 2013 2010 | The NUTS version. |
| PROJECTION | 3035 3857 4258 | 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 ETRS89 (EPSG 4258) are provided. |
| SCALE | 60M 20M 10M | 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 be displayed on the map, 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 !
Five feature types are provided:
NUTS regions (feature type nutsrg) with the following properties:
NUTS boundaries (feature type nutsbn) with the following properties:
Non-european countries (feature type cntrg) with the following properties:
Non-european boundaries (feature type cntbn) with a single property:
The map graticule (meridian and parrallel lines) is provided as feature type gra with a single id property:
A map showing the TopoJSON geometries with d3js:
(See it online here).
<!DOCTYPE html>
<svg></svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://d3js.org/topojson.v1.min.js"></script>
<script>
d3.json("https://raw.githubusercontent.com/eurostat/Nuts2json/gh-pages/2016/3035/20M/3.json",
function(error, nuts) {
if (error) throw error;
//prepare SVG element
var width = 1000, height = width*(nuts.bbox[3]-nuts.bbox[1])/(nuts.bbox[2]-nuts.bbox[0]),
svg = d3.select("svg").attr("width", width).attr("height", height)
path = d3.geoPath().projection(d3.geoIdentity()
.reflectY(true).fitSize([width,height], topojson.feature(nuts, nuts.objects.gra)));
//draw graticule
svg.append("g").selectAll("path").data(topojson.feature(nuts, nuts.objects.gra).features).enter()
.append("path").attr("d", path)
.style("fill","none").style("stroke-width","2px").style("stroke","lightgray");
//draw country regions
svg.append("g").selectAll("path").data(topojson.feature(nuts, nuts.objects.cntrg).features).enter()
.append("path").attr("d", path)
.style("fill","lightgray")
.on("mouseover", function() { d3.select(this).style("fill", "darkgray"); })
.on("mouseout", function() { d3.select(this).style("fill", "lightgray"); });
//draw nuts regions
svg.append("g").selectAll("path").data(topojson.feature(nuts, nuts.objects.nutsrg).features).enter()
.append("path").attr("d", path)
.style("fill","#fdbf6f")
.on("mouseover", function() { d3.select(this).style("fill", "#ff7f00"); })
.on("mouseout", function() { d3.select(this).style("fill", "#fdbf6f"); });
console.log(nuts.objects.cntbn);
//draw country boundaries
svg.append("g").selectAll("path").data(topojson.feature(nuts, nuts.objects.cntbn).features).enter()
.append("path").attr("d", path)
.style("fill","none").style("stroke-width","1px")
.style("stroke",function(bn){ if(bn.properties.co==="T") return "#1f78b4"; return "white"; });
//draw nuts boundaries
svg.append("g").selectAll("path").data(topojson.feature(nuts, nuts.objects.nutsbn).features).enter()
.append("path").attr("d", path)
.style("fill","none")
.style("stroke",function(bn){
if(bn.properties.co==="T") return "#1f78b4";
if(bn.properties.oth==="T" || bn.properties.lvl==0) return "white"; return "#333"; })
.style("stroke-width",function(bn){ if(bn.properties.lvl==3) return "0.5px"; return "1px"; });
});
</script>For a map showing a choropleth map based on Eurostat statistical data API, see this map on EurostatVisu repo.
These files are produced from the NUTS SHP files provided on Eurostat-GISCO website. The input SHP files are in the shp folder. These input files are transformed using GDAL and TopoJSON. The processes are automated in bash files, which are also shared in this repository.
Feel free to ask support, fork the project or simply star it (it's always a pleasure).
The Eurostat NUTS dataset is copyrighted. See the Eurostat-GISCO website for more information.
| Back | FazBrowse Home | New Git URL |