Conversation
…update query types
Split Place geometry into its own table
use full adamlink uri for linked point IDs
…equest place_cells join up into roaring bitmap buckets at rebuild-index time
…ove the stale 50-year period cap
…ries Fix/optimise viz queries
…-vs-display units silence melt state_referenced_locally warnings and re-seed Pagination when the dataset changes port the Toaster to next-melt's runes builder with a bottom-right fade-only layout bump db and app dependencies to their latest minor/patch versions upgrade maplibre-gl to v6 (namespace import for the now-ESM-only build)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Spatial Postgres backend — the data layer moved to Postgres + PostGIS (replacing the earlier binary-file approach)
and now ships as a custom image bundling the pg_roaringbitmap extension.
Roaring-bitmap precompute rollup — heatmap and histogram counts are precomputed into a cell_features index at
rebuild time, cutting per-request query time from ~13s to under a second while staying exact at any resolution or
filter.
Multi-dataset Linked-Data ingestion — ingestion loads streets, neighbourhoods, districts, and addresses from
Adamlink TTL, plus the Beeldbank, Joods Monument, and Delpher record datasets, each linked to canonical places.
Point/line/polygon place geometry — places gained a dedicated geometry model supporting lines and polygons (not
just points), with historical names and validity dates.
Spatially accurate heatmap — lines and polygons are rasterized into grid cells via PostGIS, and cells are
reprojected from the Dutch RD grid to WGS84 with proj4 so they're square and grid-aligned.
Interactive filtering and browsing — the map gained filtering by dataset, record type, and geometry/place type, a
time slider, and a side panel for browsing a cell's features.
Production deployment pipeline — Dockerized self-hosted and existing-Postgres setups, CI workflows that build and
publish images to GHCR, and schema/ETL run from the image itself.
Non-blocking frontend rendering — heatmap and histogram are fetched client-side and cancellably so the map shell
renders instantly, with sparse-heatmap rendering to keep payloads small.
Log-scale density normalization — heatmap color and histogram height are driven by spatial and temporal
frequencies normalized on logarithmic scales, so relative density reads correctly across the city and timeline.
Schema consolidation — datasets and organisations tables, an Entity JSONB column, and URI-namespaced feature IDs
for cleaner, deduplicated data.
Caching and connection resilience — a TTL query cache and pooled, timeout-guarded database connections.
Dynamic timeline — time slices are generated from the data's actual date range at index time rather than
hardcoded.
Basemap provider switch — tiles moved from MapTiler to OpenFreeMap, dropping the API-key dependency.
Documentation — a README (architecture, ingestion, indexing, deployment) plus an mdsvex-rendered
About page, LICENSE, and CITATION.