Borner le comblement du MNT à l'enveloppe des points, ajouter la couche précision et un affichage relief/précision, encoder les sous-tuiles une seule fois en q75
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
61
docs/MAPS.md
61
docs/MAPS.md
@ -120,34 +120,38 @@ 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é
|
||||
porte le relief local (clair = bosse, sombre = creux).
|
||||
|
||||
## Pile de couches
|
||||
## Affichage : relief et précision
|
||||
|
||||
La carte ne sert que les couches de `PANEL_VIZ` (`index.py`) : aujourd'hui le
|
||||
seul **relief orienté**, qui fusionne openness locale et orientation des pentes
|
||||
en une image. Les autres visualisations présentes sur disque ne sont ni listées
|
||||
ni servies en tuiles.
|
||||
La carte ne sert que les couches de `PANEL_VIZ` (`index.py`) : le **relief
|
||||
orienté** (couche d'affichage principal, qui fusionne openness locale et
|
||||
orientation des pentes) et la **précision** (`densite_sol` : densité des points
|
||||
sol retenus pour le MNT). Les autres visualisations présentes sur disque ne
|
||||
sont ni listées ni servies en tuiles.
|
||||
|
||||
Chaque couche du panneau porte trois réglages, tous persistés et transportés
|
||||
par le lien de partage :
|
||||
Il n'y a plus de pile de couches. Le panneau propose trois modes, un clic
|
||||
chacun, ou la touche **P** pour passer au suivant :
|
||||
|
||||
- **ordre** — poignée ⠿ en glisser-déposer, ou boutons ▲▼ (les seuls
|
||||
utilisables au doigt). La liste est encadrée par « Haut de pile — devant » et
|
||||
« Bas de pile — derrière ». Pendant un glisser, la destination est explicite :
|
||||
la ligne tirée s'estompe et une **barre d'insertion** marque le point de
|
||||
chute, au-dessus ou en dessous de la ligne survolée selon la moitié visée ;
|
||||
à l'arrivée, la couche déplacée clignote brièvement et est ramenée dans le
|
||||
champ de vision ;
|
||||
- **opacité** — curseur par couche ;
|
||||
- **mode de fusion** — `mix-blend-mode` CSS : Normal, Produit, Écran,
|
||||
Superposé, Doux, Lumière crue, Différence, Luminosité. La superposition ne se
|
||||
réduit donc pas à de la transparence : « Produit » pose un ombrage sur une
|
||||
rampe de couleur sans la délaver, « Superposé » creuse le contraste local,
|
||||
« Différence » fait ressortir les écarts entre deux couches.
|
||||
- **Relief** — le relief orienté seul ;
|
||||
- **Précision** — la densité seule, en 16 gris (échelle log fixe : niveau k à
|
||||
partir de 0,25 × 2^(k/2) pts/m², noir ≤ 0,35 ou aucun point, blanc ≥ 45) ;
|
||||
se lit comme une carte de fiabilité géométrique ;
|
||||
- **Les deux** — la précision en « produit » (`mix-blend-mode: multiply`) sur
|
||||
le relief, opacité réglable (60 % par défaut) : les zones où le relief est
|
||||
interpolé s'assombrissent sans masquer le relief.
|
||||
|
||||
La légende de la précision (16 paliers, info-bulle en pts/m² sur chaque
|
||||
palier) s'affiche dès que la précision est visible. Les couches LiDAR vivent
|
||||
dans un conteneur **isolé** (`isolation: isolate`) : le produit n'agit que sur
|
||||
le relief, jamais sur le fond de carte.
|
||||
|
||||
Le lien de partage transporte la couche principale, le mode et l'opacité :
|
||||
`#z/lat/lng&M=relief_oriente&P=both:60&B=1:85:1`. Les anciens liens de la pile
|
||||
(`&L=…`) s'ouvrent sans erreur sur l'état courant.
|
||||
|
||||
### Figer la configuration
|
||||
|
||||
Le bouton **★ Définir par défaut** enregistre l'état courant — ordre, couches
|
||||
allumées, opacités, modes de fusion, fond de carte et fusion de la pile — dans
|
||||
Le bouton **★ Définir par défaut** enregistre l'affichage courant — couche
|
||||
principale, mode, opacité de la précision, fond de carte — dans
|
||||
`output/.map-defaults.json`. Tout navigateur sans réglage local part alors de
|
||||
cette configuration ; **↺ Réinitialiser** oublie l'état local et y revient.
|
||||
|
||||
@ -157,14 +161,11 @@ curl -X DELETE http://localhost:8975/api/map/defaults # retour au registre
|
||||
```
|
||||
|
||||
Sans fichier enregistré, les défauts viennent du registre du pipeline
|
||||
(`DEFAULT_LAYERS`, `DEFAULT_OPACITY`, `DEFAULT_BLEND` dans `index.py`). Les
|
||||
valeurs reçues sont filtrées : couches inconnues écartées, opacités bornées à
|
||||
0–1, modes de fusion validés.
|
||||
|
||||
Les couches LiDAR vivent dans un conteneur **isolé** (`isolation: isolate`) :
|
||||
les fusions agissent entre elles, jamais sur le fond de carte à travers les
|
||||
zones sans donnée. La fusion de la **pile entière sur le fond** se règle à
|
||||
part, en bas du panneau.
|
||||
(`DEFAULT_VIZ`, `PRECISION_VIZ`, `DEFAULT_VIEW_MODE`,
|
||||
`DEFAULT_PRECISION_OPACITY` dans `index.py`). Les valeurs reçues sont
|
||||
filtrées : couche inconnue (ou la précision elle-même) refusée comme
|
||||
principale, mode validé, opacités bornées à 0–1. Un fichier de l'ancienne pile
|
||||
(`order`/`on`/`blend`) est ignoré, sauf le fond.
|
||||
|
||||
> **Licence** — LiDAR HD est diffusé sous **Licence Ouverte 2.0** :
|
||||
> l'attribution IGN est obligatoire et doit rester visible chez le client.
|
||||
|
||||
Reference in New Issue
Block a user