Ajouter la fiche de dalle IGN et la rose des vents, imposer la génération

Un clic sélectionne toujours la dalle sous le curseur (cadre sur la carte),
générée ou non : emprise, rendu et recalage des passes s'affichent tout de
suite ; la fiche IGN (date et heure du scan LiDAR, capteurs, mission,
édition, nombre de points, lien de téléchargement du .copc.laz) arrive à
part via /api/map/ign, mise en cache, sans jamais bloquer la sélection.

Une rose des vents donne la couleur de chaque orientation de pente du
relief orienté, avec la même formule CIELAB que le rendu.

La génération impose la classification IGN (sol) et le raccord de 100 m
avec les dalles voisines : plus de réglage dans la carte, défauts CLI
alignés.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Antoine Jacquin
2026-09-27 01:57:04 +02:00
parent d32502b74e
commit f836408d6f
7 changed files with 427 additions and 109 deletions

View File

@ -157,14 +157,14 @@ def main():
parser.add_argument(
"--edge-buffer",
type=float,
default=0.0,
default=100.0,
metavar="METRES",
help="Raccord des bords : étendre le MNT d'une bande de N mètres remplie avec "
"les points sol des 8 tuiles LAZ voisines, pour que les rendus à grand "
"noyau (openness, SVF, LRM) soient continus d'une tuile à l'autre. "
"100 m couvre tous les rayons ; les images finales sont recadrées sur "
"la dalle 1 km exacte. 0 = désactivé (défaut). Un changement de valeur "
"régénère les DTM concernés."
"la dalle 1 km exacte. Défaut : 100 (toujours appliqué en production) ; "
"0 = désactivé. Un changement de valeur régénère les DTM concernés."
)
parser.add_argument(
"--no-strip-align",
@ -184,12 +184,13 @@ def main():
parser.add_argument(
"--ground-classification",
choices=["auto", "ign", "smrf", "csf"],
default="auto",
default="ign",
help="Méthode de classification du sol : auto (préfère la pré-classification IGN si "
"présente — base rapide — sinon détection SMRF/CSF), ign, smrf, csf. "
"Avec ign, le MNT est la rasterisation pure des classes choisies "
"(--ign-classes) sans aucune retouche ; avec smrf/csf, il est complété "
"par le retour le plus bas par cellule + interpolation des trous. (défaut: auto)"
"par le retour le plus bas par cellule + interpolation des trous. "
"(défaut: ign, imposé en production)"
)
parser.add_argument(
"--ign-classes",