A collection of datasets from various Dutch institutions to demonstrate a Spatial Data Infrastructure built on Portolan.
INSPIRE-harmonized population distribution data for the Netherlands, published by CBS (Centraal Bureau voor de Statistiek / Statistics Netherlands). Contains the number of inhabitants at three geographic levels:
This is the Dutch contribution to the European INSPIRE Statistical Units / Population Distribution theme (Directive 2007/2/EC, Annex III theme 10).
Source: https://www.pdok.nl/introductie/-/article/cbs-bevolkingsspreiding-population-distribution- Provider: CBS (Centraal Bureau voor de Statistiek / Statistics Netherlands) License: CC0 (public domain)
Three GeoParquet files (one per geographic level) and a combined PMTiles file for web visualization are available from Source Cooperative. Native CRS is EPSG:3035 (ETRS89-LAEA) — coordinates are in meters.
Base URL: https://data.source.coop/cholmes/portolan-nl/cbs/bevolkingsspreiding/
Also available via WFS, WMS, and ATOM from PDOK:
https://service.pdok.nl/cbs/pd/wfs/v1_0https://service.pdok.nl/cbs/pd/wms/v1_0https://service.pdok.nl/cbs/pd/atom/v1_0/index.xmlThe columns you will most often use:
gid — cell/region identifier (the grid cell ID encodes its geographic position)obsvalue — the population countperiodofreference — the reference yearUnlike most Dutch geodatasets which use EPSG:28992 (RD New / Amersfoort), this dataset uses EPSG:3035 (ETRS89-LAEA Europe). This is the standard European grid CRS used by Eurostat and INSPIRE for cross-border statistical comparisons.
Key implications:
This dataset is part of the INSPIRE Directive implementation:
If you download the GML files from the ATOM service:
One Mapbox GL v8 style is available for interactive map visualization via the PMTiles file.
Style files are Mapbox GL v8 JSON with relative PMTiles source paths. They can be used with MapLibre GL JS, OpenLayers (via ol-mapbox-style), or any Mapbox GL v8-compatible renderer.
styles/default.json — Population density heatmap. Red sequential ramp on obsvalue (population count) across the grid layer. White (low) to dark red (high density). Shows the Randstad concentration and rural/urban contrasts across the Netherlands.Style files are at: https://data.source.coop/cholmes/portolan-nl/cbs/bevolkingsspreiding/styles/
obsvalue, obsstatus,
periodofreference) rather than intuitive Dutch or English names.gid field contains the EPSG:3035 coordinates
of the grid cell origin, which can be parsed to reconstruct the cell location without
needing the geometry.Hand-maintained agent guide (ported from this collection's llms.txt in August 2026). Update it alongside collection.json.
| string |
Reference year for the observation (e.g. 2012). |