Driven by my passion for geospatial software, I built this project to explore H3 hexagons and vector tiles.
This map displays the current rainfall data in the Netherlands. The data is sourced from the KNMI dataset, which provides rainfall data for the entire country, refreshed every 5 minutes. Every 10 minutes, an HDF5 data file is processed to update the rainfall values in the hexagons.
This map displays the height of the terrain in the Netherlands using H3 hexagons with different resolutions for different zoom levels. The data is sourced from the AHN dataset, which provides high-resolution elevation data for the entire country. For this map, an ETL (extract, transform, and load) process was built to process GeoTIFF datasets, converting them into H3 hexagons stored in the database.
The system architecture, shown in the diagram below, includes: Angular frontend for the user interface, Node.js map API for serving vector tiles, PostgreSQL/PostGIS for storing spatial data, KNMI rainfall ETL for processing rainfall data, and Caddy as the reverse proxy.
Read more about the development process and insights in my articles: