1. Du modèle 3D au MNT
Si votre source est un nuage de points (LiDAR drone ou photogrammétrie) :
- Classification sol / sur-sol : CSF (Cloth Simulation Filter) dans CloudCompare,
lasground_new(LAStools), oupdalavec le filtre SMRF. En photogrammétrie, la classification est plus délicate sous végétation — les points « sol » y sont souvent inexistants. - Densité requise : une maille de 5 cm suppose ≥ 400 pts/m² pour être réellement résolue. En dessous, vous interpolez du vide et fabriquez du bruit.
- Rasterisation : interpolation TIN linéaire plutôt qu’IDW (meilleure préservation des ruptures de pente). PDAL
writers.gdalouwhitebox_tools --run=LidarTINGridding.
Question préalable importante : MNT (sol nu) ou MNS (surface, bâtiments inclus) ? En contexte urbain ou péri-urbain, le ruissellement est piloté par les bâtiments et bordures — un MNT « nettoyé » vous donnera des écoulements qui traversent les murs. On travaille alors sur MNT + emprises bâties rehaussées, ou directement sur MNS filtré de la végétation.
2. Le point critique : 5 cm horizontal ≠ 5 cm vertical
C’est la principale source d’erreur. Une précision altimétrique typique est de 3–10 cm (1σ) en LiDAR drone, 2–5 cm en photogrammétrie avec GCP bien répartis. Si votre bruit vertical est du même ordre que le seuil que vous voulez détecter, l’algorithme d’écoulement va générer des chenaux fantômes sur les surfaces planes (parkings, dalles, prairies).
Pour détecter des différences réelles de 5 cm, visez σ ≤ 1–2 cm, ce qui impose : GCP levés au GNSS RTK, calibration IMU soignée, et vérification sur points de contrôle indépendants.
Appliquez un lissage préservant les discontinuités (FeaturePreservingSmoothing de WhiteboxTools, algorithme de Sun et al.) — il réduit le bruit sans arrondir les bordures de trottoirs ni les fossés.
3. Conditionnement hydrologique
À 5 cm, le remplissage classique des cuvettes (Fill) est presque toujours une erreur : il efface les micro-dépressions qui sont précisément l’objet de votre étude, et noie des volumes considérables.
- Préférez le breaching :
BreachDepressionsLeastCost(WhiteboxTools) creuse des exutoires plutôt que de remplir. Fixez une--distmaximale pour éviter les tranchées absurdes. - Ouvrages hydrauliques : c’est le talon d’Achille absolu de la haute résolution. Le LiDAR voit le tablier du pont, la chaussée au-dessus de la buse, la grille d’avaloir fermée. Chaque remblai routier devient un barrage. Il faut numériser manuellement les buses, ponceaux et regards, puis les brûler dans le MNT (
FillBurn, ou soustraction le long des polylignes). - Fossés et caniveaux : vérifiez leur continuité, souvent interrompue par la végétation.
4. Routage
D8 produit des écoulements en escalier sur les surfaces planes — visible et gênant à 5 cm. Utilisez plutôt D-infinity (Tarboton) ou MD∞ pour la dispersion, quitte à repasser en D8 pour l’extraction du réseau. Sous GRASS, r.watershed intègre un routage par moindre coût qui évite le pré-remplissage.
5. Volumétrie
400 cellules/m² → 4 × 10⁸ cellules par km², soit ~1,6 Go en Float32 non compressé. Prévoyez un traitement par tuiles avec recouvrement (buffer de plusieurs mètres pour que les bassins versants locaux ne soient pas tronqués), format COG ou GeoTIFF tuilé + compression LZW/DEFLATE.
6. Si vous voulez des hauteurs d’eau, pas seulement des axes d’écoulement
Ce qui précède relève de l’analyse topo-hydrologique (directions, accumulation, bassins). Pour de la lame d’eau et des vitesses, il faut un modèle hydraulique 2D : HEC-RAS 2D, TELEMAC-2D, LISFLOOD-FP ou TUFLOW.
Notez qu’on ne maille jamais en 5 cm : HEC-RAS 2D échantillonne le MNT haute résolution sous des cellules de calcul beaucoup plus grosses (approche sub-grid, via les profils de faces et les courbes hauteur-volume). Vous gardez donc le bénéfice de la finesse du terrain sans exploser le temps de calcul. C’est la bonne approche à cette résolution.
Sur quoi porte exactement la « sensibilité de 5 cm » : la taille de maille de votre livrable, ou le seuil de dénivelé que vous devez pouvoir détecter (micro-rétention, pente de fossé) ? La réponse change assez nettement les exigences sur la donnée d’entrée.
