# GeoIntel

GeoIntel logo

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. > **Data → ruimtelijke verwerking → AI-resultaat → kwaliteitsbewijs → export** ![GeoIntel landingspagina](docs/assets/portfolio/geointel-landing-hero.png) ## 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 ### 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`. ![Interactieve GeoIntel-projectketen](docs/assets/portfolio/geointel-interactive-story.png) ![Geanimeerde GeoIntel-projectketen](docs/assets/portfolio/geointel-interactive-project-chain.gif) ### Kaart als werkruimte De kaart blijft het primaire werkblad. Thema, broncontext, selectie en resultaten zijn vanuit dezelfde ruimtelijke context bereikbaar. ![GeoIntel kaartwerkruimte](docs/assets/portfolio/geointel-workbench-map.png) ### Kwaliteit vóór resultaat QA/QC is een eerste-klas workflow. Bewaarde controles koppelen scores aan objectbewijs, kandidaat- en referentielagen en technische provenance. ![GeoIntel kwaliteitscontrole](docs/assets/portfolio/geointel-workbench-quality.png) ## 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, Redis, backend en frontend | ## Architectuur ```mermaid flowchart LR UI["React + MapLibre workbench"] --> API["FastAPI contracts"] API --> GIS["GeoPandas / Shapely / Rasterio"] API --> JOBS["Redis + RQ"] 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](docs/API_CONTRACTS.md). PostGIS en de persistentieregels volgen [docs/DATABASE_IMPLEMENTATION_PLAN.md](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:** Redis en RQ - **Deployment:** één DockerMan-native Unraid-container ## Lokaal starten Vereisten: Python 3.11+, Node 20.19+ of 22.12+, PostgreSQL/PostGIS en Redis. ```bash python -m pip install -e backend/.[dev] cd frontend npm install npm run start ``` Voor de volledige lokale stack: ```bash 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. Controleer GPU-zichtbaarheid in de container met: ```bash docker exec geointel nvidia-smi ``` ![PyTorch- en NVIDIA-analysekten](docs/assets/portfolio/geointel-ai-pytorch-pipeline.png) ## Portfolio case study De presentatieklare case study combineert productvraag, interface, PyTorch- en NVIDIA-keten, architectuur en resultaten in één visueel document: - [GeoIntel case study PDF](output/pdf/geointel-case-study.pdf) - [Donkere cover in hoge resolutie](frontend/public/portfolio/geointel-dark-case-study-cover.png) - [Architectuurvisual](docs/assets/portfolio/geointel-architecture.png) De PDF kan reproduceerbaar opnieuw worden opgebouwd met: ```bash python scripts/create_portfolio_case_study.py ``` ## Kwaliteitscontrole ```bash # 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](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 powershell -ExecutionPolicy Bypass -File scripts/deploy_tower.ps1 ` -RemoteHost root@ ` -RemotePath /mnt/user/appdata/geointel ` -RemoteBranch main ` -FrontendUrl http://:1202 ``` Zie [deploy/unraid/README.md](deploy/unraid/README.md) en [docs/RELEASE_RUNBOOK.md](docs/RELEASE_RUNBOOK.md) voor configuratie, healthchecks en rollback. ## Documentatiekaart - [Start hier](docs/00-start/START_HERE.md) - [Belgium/North Sea scope freeze](docs/RC_SCOPE_FREEZE_BELGIUM_NORTH_SEA.md) - [API-contracten](docs/API_CONTRACTS.md) - [Database-implementatieplan](docs/DATABASE_IMPLEMENTATION_PLAN.md) - [Bekende beperkingen](docs/KNOWN_LIMITATIONS.md) - [Release-runbook](docs/RELEASE_RUNBOOK.md) ## Portfolio-assets De map [`docs/assets/portfolio`](docs/assets/portfolio) bevat presentatieklare screenshots, de geanimeerde projectketen, architectuur- en AI-visuals. De drie originele campagnebeelden staan in [`frontend/public/portfolio`](frontend/public/portfolio). Geoptimaliseerde WebP-varianten worden door de applicatie gebruikt; de PNG-bronnen blijven beschikbaar voor drukwerk en portfolio-opmaak. ![GeoIntel mobiele landingspagina](docs/assets/portfolio/geointel-landing-mobile.png) ## Status Actieve mijlpaal: **v1.0.0 — Belgium and Belgian North Sea**. GeoIntel is een project van Jens / ITWorx.tech.