A collection of datasets from various Dutch institutions to demonstrate a Spatial Data Infrastructure built on Portolan.
A proof-of-concept cloud-native catalog of Dutch government geodata, inspired by PDOK (Publieke Dienstverlening Op de Kaart). The same commitment to open, standards-based geodata disclosure, built on modern cloud-native formats: GeoParquet for analytics, PMTiles for visualization, and STAC for metadata.
Published on Source Cooperative.
Organized by the Dutch government institution that produces the data:
Use AI to explore the data. Point Claude Code or Gemini CLI at any collection's llms.txt and ask it to query the data, build interactive maps, or generate charts. Every collection includes an llms.txt with field descriptions, query examples, and usage context.
Browse and download. Navigate to any collection above to find GeoParquet files for analytics and PMTiles for instant map visualization. All files are on Source Cooperative and can be accessed directly via HTTP — no account or API key required.
Query directly with DuckDB. All GeoParquet files work with remote HTTP access:
.parquet file with spatial indexing (Hilbert sort, bbox covering columns). Query remotely with DuckDB, Python (GeoPandas), R, or any Parquet reader.collection.json files. Machine-readable, standardized, and browsable.Most datasets use EPSG:28992 (RD New / Amersfoort), the Dutch national coordinate system — coordinates are in meters. CBS INSPIRE datasets use EPSG:3035 (ETRS89-LAEA), the pan-European standard. The INSPIRE Buildings collection uses EPSG:4258 (ETRS89). All PMTiles are reprojected to WGS84 for web map display.
This catalog demonstrates how PDOK's existing geodata services could be extended with cloud-native formats. Instead of running WFS/WMS servers, data can be served as GeoParquet for scalable analytics and PMTiles for instant map visualization — both work directly from object storage via HTTP range requests, with no server infrastructure. Adding STAC metadata and llms.txt files makes the data discoverable and queryable by AI agents, opening geodata to a much broader audience.
Every collection includes an llms.txt file with field descriptions, query examples, and usage context — designed for AI agents to understand and work with the data effectively. Built with Portolan, a framework for cloud-native geodata infrastructure.
Most data is published under CC0 1.0 (public domain). Some collections use CC-BY-4.0. See individual collection metadata for details.
This is a proof-of-concept. It is not affiliated with or endorsed by PDOK or any Dutch government organization. Data is sourced from publicly available PDOK services and ArcGIS Feature Services and converted to cloud-native formats.
Chris Holmes — cholmes@9eo.org
Published with Portolan
| Tunnels | RWS | 25 | Point | GeoParquet, PMTiles | Road tunnels managed by Rijkswaterstaat |
| Fairway Depth Charts | RWS | 3,112 | Polygon | GeoParquet, PMTiles | Hectometer sections of Rhine branch fairways |
| Fish Migration Routes | RWS | 2,122 | LineString | GeoParquet, PMTiles | National fish migration routes (2024) |
| Navigation Locks | RWS | 92 | Point | GeoParquet, PMTiles | Locks on the recreational waterway network |
| Flood Defenses | RWS | 238 | LineString | GeoParquet, PMTiles | Primary dike sections under the Water Act |
| Zero Emission Zones | RWS | 42 | MultiPolygon | GeoParquet, PMTiles | Urban zones restricted to emission-free vehicles |
| National Monuments | RCE | 63,073 | Point | GeoParquet, PMTiles | Protected buildings and sites under the Heritage Act |
| National Parks | RVO | 21 | MultiPolygon | GeoParquet, PMTiles | All 21 National Parks of the Netherlands |
| Natura 2000 | RVO | 209 | MultiPolygon | GeoParquet, PMTiles | 162 EU-protected nature areas (Birds & Habitats Directives) |
| Wijken en Buurten | CBS | 18,752 | MultiPolygon | GeoParquet, PMTiles | Neighborhoods, districts, municipalities with demographic statistics |
| Postcode6 | CBS | 464,964 | MultiPolygon | GeoParquet, PMTiles | 157 statistical attributes per 6-digit postcode |
| Land Use 2017 | CBS | 171,543 | MultiPolygon | GeoParquet, PMTiles | Complete land use classification (~40 types) |
| Land Use INSPIRE | CBS | 171,543 | MultiPolygon | GeoParquet, PMTiles | INSPIRE-harmonized land use (HILUCS classification) |
| Population Distribution | CBS | 31,033 | Polygon | GeoParquet, PMTiles | Population per 1km grid, province, and municipality |
| Health Statistics | CBS | 24 | MultiPolygon | GeoParquet, PMTiles | Doctors and deaths per 100K by province |