The temporal timeline summarises every snapshot in a series. Each summary now also counts how many features the selection edge cuts, but a timeline point renders values only, so that was one database round trip per snapshot for a disclosure nobody sees. Make it opt-out and have the timeline opt out. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
GeoIntel
GeoIntel ondersteunt een gesynchroniseerde tweeschermwerkruimte: de kaart blijft
maximaal zichtbaar op het hoofdscherm terwijl analyses, kwaliteitsbewijs en
resultaten live in een tweede venster staan. Zie
docs/DUAL_DISPLAY_WORKFLOW.md.
Evidence-first GeoAI voor België en de Belgische Noordzee.
GeoIntel is een kaartgerichte GeoAI-workbench waarin officiële databronnen, ruimtelijke analyse, PyTorch-computervisie, QA/QC en export samenkomen. Het platform bewaart niet alleen een resultaat, maar ook de bron, ruimtelijke context, modelversie en het bewijs waarmee dat resultaat gecontroleerd kan worden.
De release ondersteunt heel België en de juridisch onderscheiden Belgische Noordzeezones. Regionale bronnen blijven herkenbaar: GRB, PICC, UrbIS en maritieme datasets worden niet voorgesteld alsof ze dezelfde semantiek, resolutie of actualiteit hebben.
Data → ruimtelijke verwerking → AI-resultaat → kwaliteitsbewijs → export
Waarom GeoIntel?
Veel geoportalen tonen lagen. GeoIntel ondersteunt een volledige, controleerbare analyseketen:
- selecteer een officiële grens of teken een eigen Area of Interest;
- combineer vector-, raster- en historische bronnen met expliciete dekking;
- voer GIS- en CUDA-versnelde beeldanalyse uit;
- vergelijk kandidaatresultaten met referentiedata;
- inspecteer false positives, false negatives, overlap en provenance;
- exporteer alleen wat als reproduceerbaar resultaat is vastgelegd.
Mol en de Kempen blijven de gouden regressiegebieden. De productgrens is heel België plus de juridisch benoemde Belgische maritieme zones.
Product in beeld
De onderstaande screenshots zijn rechtstreeks vastgelegd op de actuele Unraid-productieomgeving. De gastmodus toont een beperkte, alleen-lezen demowerkruimte; operatorfuncties en nieuwe analyses blijven afgeschermd.
Interactieve projectketen
De landingspagina vertaalt de technische keten naar vier interactieve
schakels. De illustratie reageert op selectie, bronnen, analyse en bewijs en
respecteert automatisch prefers-reduced-motion.
Kaart als werkruimte
De kaart blijft het primaire werkblad. Thema, broncontext, selectie en resultaten zijn vanuit dezelfde ruimtelijke context bereikbaar.
Kwaliteit vóór resultaat
QA/QC is een eerste-klas workflow. Bewaarde controles koppelen scores aan objectbewijs, kandidaat- en referentielagen en technische provenance.
Mobiele werkruimte
Dezelfde kaartgerichte workflow blijft bruikbaar op een smal scherm. Thema's, selectieacties en de kaart worden gestapeld zonder de actieve werkcontext te verbergen.
Kernmogelijkheden
| Domein | Mogelijkheden |
|---|---|
| Werkgebieden | Officiële grenzen, vrije AOI-selectie, clipping en buffering |
| Bronnen | GeoJSON, vector, raster, orthofoto, historische en regionale catalogi |
| GIS | CRS-normalisatie, spatial joins, rasterstatistiek, tile- en selectieanalyse |
| GeoAI | PyTorch, Ultralytics YOLO en SAM-compatibele abstrahering |
| Tijd | Immutable DatasetVersions en vergelijking van ruimtelijke snapshots |
| QA/QC | Precision, recall, F1, IoU, false-positive/-negative evidence en reviews |
| Export | Reproduceerbare GeoJSON- en artefactexports met provenance |
| Runtime | DockerMan-native Unraid-container met PostGIS, backend en frontend |
Architectuur
flowchart LR
UI["React + MapLibre workbench"] --> API["FastAPI contracts"]
API --> GIS["GeoPandas / Shapely / Rasterio"]
API --> JOBS["Job-queue in PostgreSQL"]
JOBS --> AI["PyTorch / YOLO / SAM"]
GIS --> DB[("PostgreSQL + PostGIS")]
AI --> DB
DB --> QA["QA/QC + provenance"]
QA --> UI
QA --> EXPORT["GeoJSON / artifacts"]
De publieke endpoints volgen docs/API_CONTRACTS.md. PostGIS en de persistentieregels volgen docs/DATABASE_IMPLEMENTATION_PLAN.md.
Stack
- Frontend: React 18, TypeScript, MapLibre GL, Lucide en Vite
- Backend: FastAPI en Python
- Spatial: GeoPandas, Shapely, Rasterio, PyProj en GDAL
- AI: PyTorch, Ultralytics YOLO en SAM-compatibele segmentatie
- Data: PostgreSQL/PostGIS, lokale artefactopslag en immutable versions
- Jobs: job-tabel in PostgreSQL met achtergrondworkers in het API-proces
- Deployment: één DockerMan-native Unraid-container
Lokaal starten
Vereisten: Python 3.11+, Node 20.19+ of 22.12+ en PostgreSQL/PostGIS.
python -m pip install -e backend/.[dev]
cd frontend
npm install
npm run start
Voor de volledige lokale stack:
docker compose up --build
Open daarna http://localhost:1202.
Gastdemo
Met GEOINTEL_GUEST_ACCESS_ENABLED=true biedt de toegangspagina een
kortlevende, alleen-lezen demosessie. Die toont uitsluitend het ingestelde
demoproject en bewaard kwaliteitsbewijs; dit is geen multi-user- of
tenantisolatie.
NVIDIA/CUDA
Productie-AI gebruikt de NVIDIA GPU van de server. De runtime faalt gesloten
wanneer CUDA vereist maar niet beschikbaar is; ontbrekende modelconfiguratie
wordt als not_configured getoond en nooit als geslaagde inferentie.
De actuele productieproef draait met een CUDA-build van PyTorch op een NVIDIA GeForce RTX 4080 SUPER. Corpus-, kalibratie-, test- en pure-background-gates blijven gescheiden: een experimentele label- of modelvariant wordt pas actief nadat alle toepasselijke kwaliteitscontroles slagen.
Controleer GPU-zichtbaarheid in de container met:
docker exec geointel nvidia-smi
Training en labelkwaliteit
GeoIntel behandelt officiële gebouwgrondvlakken niet automatisch als perfecte daklabels. Voor trainingsdata worden temporele geldigheid, ruimtelijke leakage, bronklasse, zichtbaarheid en pure-background-gedrag afzonderlijk gecontroleerd. Een directe polygon-overlay maakt bovendien zichtbaar of de officiële geometrie op het bijbehorende luchtbeeld aansluit vóór omzetting naar YOLO-boxen.
De huidige V66 Vlaamse uitbreiding blijft kandidaatdata. Automatische SAM2- en edge-alignmentproeven zijn afgewezen omdat ze nog vegetatie, wegen of schaduwen als dak konden selecteren. Die resultaten zijn dus niet getraind of gepromoveerd.
Portfolio case study
De presentatieklare case study combineert productvraag, interface, PyTorch- en NVIDIA-keten, architectuur en resultaten in één visueel document:
De PDF kan reproduceerbaar opnieuw worden opgebouwd met:
python scripts/create_portfolio_case_study.py
Kwaliteitscontrole
# Backend
python -m compileall backend/app
cd backend && python -m pytest
# Frontend
cd frontend
npm run typecheck
npm run test:unit
npm run build
Een wijziging is pas afgerond wanneer de toepasselijke criteria uit docs/DEFINITION_OF_DONE.md aantoonbaar zijn afgevinkt.
Tower / Unraid deploy
De canonieke checkout op Tower staat in /mnt/user/appdata/geointel. Gebruik
de releasewrapper; de productiecontainer wordt niet met een alternatieve
Compose-checkout vervangen.
powershell -ExecutionPolicy Bypass -File scripts/deploy_tower.ps1 `
-RemoteHost root@<tower-ip> `
-RemotePath /mnt/user/appdata/geointel `
-RemoteBranch main `
-FrontendUrl http://<tower-ip>:1202
Zie deploy/unraid/README.md en docs/RELEASE_RUNBOOK.md voor configuratie, healthchecks en rollback.
Documentatiekaart
- Start hier
- Belgium/North Sea scope freeze
- API-contracten
- Database-implementatieplan
- Bekende beperkingen
- Release-runbook
Portfolio-assets
De map docs/assets/portfolio bevat presentatieklare
screenshots, de geanimeerde projectketen, architectuur- en AI-visuals. De drie
originele campagnebeelden staan in
frontend/public/portfolio. Geoptimaliseerde
WebP-varianten worden door de applicatie gebruikt; de PNG-bronnen blijven
beschikbaar voor drukwerk en portfolio-opmaak.
Actuele rasterassets:
| Asset | Gebruik |
|---|---|
geointel-landing-hero.png |
Desktop hero en projectintroductie |
geointel-interactive-story.png |
Vierstappenworkflow en bewijsvoering |
geointel-workbench-map.png |
Kaartgerichte gastwerkruimte |
geointel-workbench-quality.png |
QA/QC, metrics en objectbewijs |
geointel-landing-mobile.png |
Mobiele landing |
geointel-workbench-mobile.png |
Mobiele kaartworkflow |
Status
Actieve mijlpaal: v1.0.0 — Belgium and Belgian North Sea.
GeoIntel is een project van Jens / ITWorx.tech.







