Documenter le panneau unique de la carte
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
73
docs/MAPS.md
73
docs/MAPS.md
@ -16,16 +16,40 @@ docker compose -f docker-compose.maps.yml logs -f maps
|
||||
./run.sh --serve-maps # équivalent en conteneur au premier plan
|
||||
```
|
||||
|
||||
## Interface
|
||||
|
||||
Un **panneau unique à onglets** (`web/map.{html,css,js}`) regroupe tous les
|
||||
réglages, à la place de l'ancienne pile de blocs empilés : **Affichage**
|
||||
(couche principale, mode relief/précision, fond de carte), **Export PDF**,
|
||||
**Génération** (masqué si le générateur est indisponible ou non autorisé
|
||||
pour ce navigateur) et **Partager**. Sur ordinateur, le panneau occupe une
|
||||
colonne fixe, repliable en bande d'icônes (**‹**, toujours utilisable : un
|
||||
clic sur un onglet redéplie le panneau). Sous 720 px de large, il devient un
|
||||
**volet en bas d'écran** à trois hauteurs — fermé, mi-hauteur, plein — que
|
||||
l'on change en glissant la poignée, en la touchant simplement (un cran), ou
|
||||
en retouchant l'onglet déjà actif.
|
||||
|
||||
Un clic sur la carte ouvre une **bulle** sur la dalle LiDAR HD sous le
|
||||
curseur (date d'acquisition, densité de points sol) ; son bouton **Détails**
|
||||
bascule une **fiche complète** dans le panneau (emprise, IGN, recalage des
|
||||
passes) — **← Retour** rouvre l'onglet précédent. Raccourcis clavier :
|
||||
**1–4** (onglets du panneau, sans effet si l'onglet est masqué), **P**
|
||||
(mode d'affichage suivant), **Échap** (ferme la bulle, puis la fiche, puis
|
||||
replie le panneau). Deux thèmes clair/sombre (bouton ◐/☀/☾, `auto` par
|
||||
défaut = suit le système) ; réglages et état du panneau retenus dans
|
||||
`localStorage` (`lidarMapView_v2`, `lidar-print`, `lidar-panel`,
|
||||
`lidar-theme` — silencieusement ignorés en navigation privée).
|
||||
|
||||
## 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
|
||||
- **+ Zone** (onglet Génération) — 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.
|
||||
- **↻ Générer/Régénérer cette dalle** (bouton de la fiche de dalle, bulle →
|
||||
Détails) — une dalle précise, même sans données existantes.
|
||||
|
||||
Options du run : couches visées (défaut : les couches du panneau) et
|
||||
régénération forcée. La classification du sol (IGN, sol seul) et le raccord
|
||||
@ -106,15 +130,18 @@ source manquée pendant qu'il était éteint est reprise au scan suivant.
|
||||
## Fiche de dalle et rose des vents
|
||||
|
||||
Un clic sur la carte sélectionne la dalle LiDAR HD sous le curseur (cadre
|
||||
jaune en pointillés), qu'elle soit générée ou non. La fiche s'affiche tout de
|
||||
suite avec le nom, l'emprise Lambert 93, puis, si la dalle est rendue, la
|
||||
résolution, la date de génération et le recalage vertical des passes
|
||||
(faisceaux, décalages, correction des lignes). Les informations IGN arrivent
|
||||
à part (`GET /api/map/ign?col&row`, catalogue STAC mis en cache dans
|
||||
`output/ign_meta/`) : date et heure du scan LiDAR, capteurs, mission,
|
||||
opérateur, date d'édition, procédé de classement, nombre de points et lien de
|
||||
téléchargement du nuage `.copc.laz` sur la géoplateforme. Un catalogue lent
|
||||
ou injoignable n'empêche jamais la sélection.
|
||||
jaune en pointillés) et ouvre une **bulle** — nom, date d'acquisition,
|
||||
densité de points sol — qu'elle soit générée ou non. Son bouton **Détails**
|
||||
bascule une fiche complète dans le panneau : nom, emprise Lambert 93, puis,
|
||||
si la dalle est rendue, la résolution, la date de génération et le recalage
|
||||
vertical des passes (faisceaux, décalages, correction des lignes). Les
|
||||
informations IGN arrivent à part (`GET /api/map/ign?col&row`, catalogue STAC
|
||||
mis en cache dans `output/ign_meta/`) : date et heure du scan LiDAR,
|
||||
capteurs, mission, opérateur, date d'édition, procédé de classement, nombre
|
||||
de points et lien de téléchargement du nuage `.copc.laz` sur la
|
||||
géoplateforme. Un catalogue lent ou injoignable n'empêche jamais la
|
||||
sélection. **← Retour** (ou Échap) ferme la fiche et rouvre l'onglet
|
||||
précédent.
|
||||
|
||||
Quand le relief orienté est affiché, une rose des vents donne la couleur de
|
||||
chaque orientation de pente (même formule CIELAB que le rendu) ; la clarté
|
||||
@ -169,17 +196,19 @@ principale, mode validé, opacités bornées à 0–1. Un fichier de l'ancienne
|
||||
|
||||
## Export PDF (planche d'impression terrain)
|
||||
|
||||
Le bouton **⎙** ouvre une carte de réglages (format A4/A3, paysage/portrait,
|
||||
échelle 1:1 000 à 1:10 000, titre optionnel) et affiche un **cadre jaune en
|
||||
pointillés** qui montre la zone qui sera imprimée. Le cadre est **posé sur le
|
||||
L'onglet **Export PDF** affiche les réglages (format A4/A3, paysage/portrait,
|
||||
échelle 1:1 000 à 1:10 000, titre optionnel) et, tant qu'il est ouvert, un
|
||||
**cadre jaune en pointillés** qui montre la zone qui sera imprimée (il
|
||||
disparaît en changeant d'onglet). Le cadre est **posé sur le
|
||||
terrain** : il se place au centre de la vue à l'ouverture (ou garde sa position
|
||||
précédente si elle est encore visible), la carte zoome pour le montrer en
|
||||
entier au-dessus des panneaux, puis on navigue librement sans qu'il bouge. On le
|
||||
entier au-dessus du panneau, puis on navigue librement sans qu'il bouge. On le
|
||||
déplace en faisant glisser sa **poignée ✥** (souris ou doigt) ; au relâchement,
|
||||
la géométrie Lambert 93 exacte est recalculée (`GET /api/export/frame`).
|
||||
« ⌖ Centrer ici » le ramène au centre de la vue, « ⤢ Voir le cadre » zoome
|
||||
dessus ; changer de format, d'orientation ou d'échelle recadre la vue. Les
|
||||
réglages et la position du cadre sont mémorisés dans `localStorage` du
|
||||
la géométrie Lambert 93 exacte est recalculée (`GET /api/export/frame`) — un
|
||||
relâchement suivi d'un clic immédiat n'ouvre pas la bulle de dalle (garde de
|
||||
300 ms). « ⌖ Centrer ici » le ramène au centre de la vue, « ⤢ Voir le cadre »
|
||||
zoome dessus ; changer de format, d'orientation ou d'échelle recadre la vue.
|
||||
Les réglages et la position du cadre sont mémorisés dans `localStorage` du
|
||||
navigateur. **Exporter le PDF** télécharge la planche (`GET
|
||||
/api/export/pdf`), nommée `relief_{x_km}_{y_km}_1-{échelle}.pdf` (centre
|
||||
Lambert 93 en km, à trois décimales).
|
||||
@ -420,5 +449,5 @@ consultable même worker éteint.
|
||||
|
||||
- `lidar_pipeline/tiles.py` — grille, reprojection, cache, pré-chauffage.
|
||||
- `lidar_pipeline/mapserve.py` — routes tuiles/TileJSON/WMTS/JOSM et API carte.
|
||||
- `lidar_pipeline/mapui.py` — interface (Leaflet `L.tileLayer`, LOD natif).
|
||||
- `lidar_pipeline/web/map.{html,css,js}` — interface (panneau à onglets, Leaflet `L.tileLayer`, LOD natif), relue par `lidar_pipeline/mapui.py`.
|
||||
- `Dockerfile.maps`, `docker-compose.maps.yml`, `./run.sh --serve-maps`.
|
||||
|
||||
Reference in New Issue
Block a user