diff --git a/README.md b/README.md index 4183f406..f76c0d68 100644 --- a/README.md +++ b/README.md @@ -1,314 +1,197 @@ -# GeoIntel Belgium and the Belgian North Sea +# GeoIntel -GeoIntel is a map-first GeoAI Workbench for Belgium and the Belgian North Sea. -It combines governed official-source coverage, raster/vector processing, -historical comparison, computer vision, QA/QC and geospatial exports. +
+
+
Evidence-first GeoAI voor België en de Belgische Noordzee.
-GeoIntel is not a generic dashboard or chatbot. The core product is: +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 → processing → geospatial output → QA/QC → export +> **Data → ruimtelijke verwerking → AI-resultaat → kwaliteitsbewijs → export** -## Current milestone + -**v1.0.0 - Belgium/North Sea release** +## Waarom GeoIntel? -The canonical release controls are: +Veel geoportalen tonen lagen. GeoIntel ondersteunt een volledige, +controleerbare analyseketen: -- `docs/00-start/START_HERE.md` -- `docs/RC_SCOPE_FREEZE_BELGIUM_NORTH_SEA.md` -- `docs/RC_ROADMAP_BELGIUM_NORTH_SEA.md` -- `docs/RELEASE_RUNBOOK.md` -- `docs/KNOWN_LIMITATIONS.md` -- `docs/DEFINITION_OF_DONE.md` +- 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. -Older milestone and sprint handoff files remain historical evidence. They do -not override the active national/maritime scope freeze or RC roadmap. +Mol en de Kempen blijven de gouden regressiegebieden. De productgrens is heel +België plus de juridisch benoemde Belgische maritieme zones. -## Core V1 vertical slice +## Product in beeld -The first implementation target is: +### Interactieve projectketen -1. Project + Area creation. -2. Dataset registration/upload and metadata extraction. -3. Reference building layer loading. -4. Predicted detection layer loading/import. -5. QA/QC matching against reference polygons. -6. Metrics and false positive/false negative outputs. -7. GeoJSON export. -8. Minimal map/workbench UI. +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`. -## Primary stack + -- Frontend: React, TypeScript, MapLibre GL, Deck.gl, Tailwind. -- Backend: FastAPI, Python. -- Database: PostgreSQL + PostGIS. -- GIS processing: GeoPandas, Shapely, Rasterio, PyProj, GDAL. -- AI: PyTorch, Ultralytics YOLO, SAM-compatible architecture. -- Jobs: Redis + RQ. -- Storage: local filesystem first, MinIO-compatible later. +### Kaart als werkruimte -## Codex instructions +De kaart blijft het primaire werkblad. Thema, broncontext, selectie en +resultaten zijn vanuit dezelfde ruimtelijke context bereikbaar. -Codex must start with: + -1. `docs/00-start/START_HERE.md` -2. `prompts/codex/M11_ARCHITECT_MASTER_PROMPT.md` +### Kwaliteit vóór resultaat -Then follow the build order in: +QA/QC is een eerste-klas workflow. Bewaarde controles koppelen scores aan +objectbewijs, kandidaat- en referentielagen en technische provenance. -- `docs/build/BUILD_ORDER_DEPENDENCY_GRAPH.md` -- `docs/build/CODEX_OPERATING_SYSTEM.md` + -Before every implementation pass, run available preflight/smoke scripts where applicable. +## Kernmogelijkheden -## Repo principle +| 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 | -This is a documentation-driven engineering repo. The documentation is not decorative; it is the control system for autonomous implementation. +## Architectuur -## Fastest Day 1 command path - -```bash -make readiness +```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"] ``` -## Unraid / Tower deployment +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). -GeoIntel runs on Unraid as an all-in-one DockerMan-native container. The container embeds PostGIS, runs the FastAPI backend internally, and serves the frontend through nginx on one editable web port. +## Stack -Unraid template assets live in: +- **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 -- `deploy/unraid/geointel.env.example` -- `deploy/unraid/geointel-unraid-template.xml` -- `deploy/unraid/geointel-icon.svg` -- `deploy/unraid/geointel-icon.png` -- `docker-compose.unraid.yml` +## Lokaal starten -Copy the Unraid env template to `.env` in the checkout and edit ports/paths there: - -```bash -cd /mnt/user/appdata/geointel -cp deploy/unraid/geointel.env.example .env -nano .env -docker build -f deploy/unraid/Dockerfile.all-in-one -t geointel-all-in-one:latest . -bash deploy/unraid/run-dockerman-container.sh -``` - -Common editable values: - -```env -GEOINTEL_FRONTEND_PORT=1202 -GEOINTEL_STORAGE_PATH=/mnt/user/appdata/geointel/storage -GEOINTEL_POSTGIS_DATA_PATH=/mnt/user/appdata/geointel/postgres-data -``` - -### Guest demonstration access - -Guest access is enabled by default whenever the operator login gate is active. -No additional guest toggle is required for a new authenticated installation: - -```env -GEOINTEL_AUTH_ENABLED=true -GEOINTEL_AUTH_USERNAME=operator -GEOINTEL_AUTH_PASSWORD_HASH=pbkdf2_sha256$... -GEOINTEL_AUTH_SESSION_SECRET=Interactieve projectillustratie
++ Verken de vier schakels van de GeoIntel-keten. Elke stap verandert de kaart en toont welke context behouden blijft. +
+ +{activeStage.description}
+