Translate the whole project to English and fix outdated comments and help

Comments, docstrings, logs, CLI help, map UI, legends, PDF sheet, scripts,
compose files and AGENTS.md are now English. Data keys stay unchanged
(relief_oriente, densite_sol, visualisations/, API JSON keys, link params).
Wrong comments and help defaults found along the way are corrected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Antoine
2026-09-27 23:16:45 +02:00
parent cc1c22d2b8
commit fb892ea9f2
52 changed files with 4356 additions and 4323 deletions

View File

@ -54,7 +54,11 @@ the reference tile above.
bundled in this image** (`filters.ground` / TIN missing) — would need to
be added to use it (or via lidR / a custom implementation).
## B. Fast hybrid (chosen for implementation)
## B. Fast hybrid (original plan, only partly kept)
> Only step 1 below is in use today. Step 2 (lowest-return floor) was
> dropped and step 3 (`_interpolate_holes`) is no longer called by the DTM
> builder: see "Synthesis / decision" for the current gap handling.
**PTD / Wack & Wimmer** principle (Wack & Wimmer 2002, *ISPRS Archives*
XXXIV/3A:293-296: DTM from lowest return, excluding the lowest 1% per cell
@ -66,10 +70,12 @@ to discard outliers):
*measured* ground where the vendor failed (rock outcrops, clearings,
forest floor).
3. **Topographic inpainting** of the remaining gaps (terrain-aware
interpolation already implemented in `dtm.py:_interpolate_holes`).
interpolation, `dtm.py:_interpolate_holes`, still present as a helper
but not called by `create_dtm_fast`).
Expected: **continuous** DTM (0% holes), robust in forest/relief,
**~10-15 s/tile** instead of 326-355 s. No GPU dependency, no training.
Expected at the time: **continuous** DTM (0% holes), robust in
forest/relief, **~10-15 s/tile** instead of 326-355 s. No GPU dependency,
no training.
## C. AI / ML models (supervised — require labels)
@ -115,18 +121,21 @@ deploy.
## Synthesis / decision
- "Fast" hard constraint + low maintenance → **fast hybrid (B)**
(~10-40 s/tile, zero training, zero GPU). ← **chosen approach, IMPLEMENTED**
- Base = IGN pre-classification (fast, ~10 s). `auto` prefers it as soon
as ≥ 20% of points are classified as ground (threshold lowered from 30%
to 20%, since the DTM is subsequently completed — see below).
(~10-40 s/tile, zero training, zero GPU). ← **chosen approach, base
IMPLEMENTED** (step 1 only, see below)
- Base = IGN pre-classification (fast: ~5 s with the direct laspy
extraction, vs ~13.5 s through PDAL). `auto` prefers it as soon as
≥ 20% of points are classified as ground (threshold lowered from 30%
to 20%).
- **This gap-filling note is superseded**: gap filling in the DTM is no
longer a distance-based `fillnodata` pass over small holes. It is now
a morphological closing bounded to the point envelope
(`_fill_small_gaps` in `dtm.py`): the closing radius follows the local
point spacing (measured over 5 m, staged at 1/1.5/2/3 m), nothing is
extended beyond measured pixels, and islands under 1 m² are removed.
Large holes (dense forest, steep relief where ground is
under-classified) still remain as nodata (black in the renders).
point spacing (1.5 × the spacing measured over 5 m, staged at
1/1.5/2/3 m), nothing is extended beyond measured pixels, and islands
under 1 m² are removed. Large holes (dense forest, steep relief where
ground is under-classified) still remain as nodata (dark grey in the
oriented relief, hatched in the PDF export).
Deliberately no floor at the lowest return: under dense canopy that
return is vegetation, which would print trees into the DTM.
- Maximum quality in hard cases (steep + dense), ~1-2 min/tile + GPU +