Porter la génération de tuiles dans lidar-maps et retirer l'ancienne webapp
La carte à tuiles XYZ devient la seule interface : l'API de génération (preview, generate, status, stop, file, cell), le job unique + file persistante, la délégation LIDAR_GENERATION_URL et les garde-fous (token, LIDAR_REGEN_CIDR) passent de webapp.py à mapserve.py ; l'interface gagne les boutons + Zone / ⤒ Compléter / régénération à la dalle, les options de run et la progression cadre par cadre. mapserve sert aussi l'inventaire /api/tiles et les dalles en statique versionné : le worker image complète remplace la webapp sur le 8973 du générateur, le Pi n'exécute plus que lidar-maps. index.py se réduit aux registres partagés + vignettes/sous-tuiles/inventaire (l'UI HTML/JS et les mosaïques d'overview partent avec export.py et les compose/scripts de la webapp).
This commit is contained in:
35
docs/MAPS.md
35
docs/MAPS.md
@ -5,8 +5,10 @@ Carte « slippy » classique — même schéma de tuiles que Google Maps et
|
||||
deviennent ainsi un **fond d'imagerie réutilisable** dans JOSM, iD, QGIS, uMap,
|
||||
MapLibre ou OsmAnd, en plus de l'interface de consultation fournie.
|
||||
|
||||
Elle coexiste avec la webapp historique (port 8973), sans rien lui changer :
|
||||
même dossier `output/`, génération et export restent là-bas.
|
||||
C'est la SEULE interface web du projet (l'ancienne webapp historique a été
|
||||
retirée) : elle embarque aussi la **génération de tuiles** — locale sur
|
||||
l'image complète (worker, `./run.sh --serve`), déléguée via
|
||||
`LIDAR_GENERATION_URL` sur la machine légère (cf. `docs/DEPLOY_WEBAPP.md`).
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.maps.yml up -d --build # http://localhost:8975/
|
||||
@ -14,6 +16,35 @@ docker compose -f docker-compose.maps.yml logs -f maps
|
||||
./run.sh --serve-maps # équivalent en conteneur au premier plan
|
||||
```
|
||||
|
||||
## Générer des tuiles depuis la carte
|
||||
|
||||
- **+ Zone** (barre d'outils) — dessiner un rectangle : les dalles LHD de 1 km
|
||||
qui l'intersectent sont téléchargées depuis la géoplateforme IGN puis
|
||||
traitées (0,2 m, options ci-dessous) ; les zones et clics successifs
|
||||
s'additionnent ;
|
||||
- **⤒ Compléter** — toutes les dalles déjà présentes dans `input/` qui
|
||||
manquent au moins une des couches demandées ;
|
||||
- **↻ Générer cette dalle** (fiche d'infos au clic) — une dalle précise,
|
||||
même sans données existantes.
|
||||
|
||||
Options du run : couches visées (défaut : les couches du panneau),
|
||||
classification du sol (`ign`/`auto`/`smrf`/`csf`), classes LAS IGN
|
||||
(`sol,unclassified…`), régénération forcée, reclassification, raccord des
|
||||
bords (bande 100 m). Une demande lancée pendant un run part en **file
|
||||
d'attente** (persistée, jamais de coupure du travail en place) ; la
|
||||
progression s'affiche dalle par dalle (cadres orange = rendu en cours, bleu =
|
||||
en attente, rouge = échec) avec journal et bouton **Arrêter** (SIGTERM puis
|
||||
SIGKILL). À la fin du run, la carte se rafraîchit et la maintenance de
|
||||
pyramide repart automatiquement.
|
||||
|
||||
Les boutons sont masqués si le navigateur vient d'une IP hors
|
||||
`LIDAR_REGEN_CIDR` (défaut : localhost + plages privées RFC1918) ou si aucun
|
||||
backend de génération n'existe (image légère sans `LIDAR_GENERATION_URL`).
|
||||
Sur la machine légère, tout est transmis au worker
|
||||
(`LIDAR_GENERATION_URL`), qui exécute le pipeline complet ; ses dalles sont
|
||||
rapatriées à la demande par l'inventaire `/api/tiles` + les statiques
|
||||
versionnées (`LIDAR_SOURCE_URL`).
|
||||
|
||||
## Contrat de tuilage
|
||||
|
||||
| Point | Valeur |
|
||||
|
||||
Reference in New Issue
Block a user