LETG / madDog

Configuration Mviewer pour suivi littoral
2 stars 3 forks source link

[MNT] Affichage du résultat du calcul des surfaces sub-verticales comme les falaises #99

Open mrouan opened 1 year ago

mrouan commented 1 year ago

Description

sont consignées ici des idées rédigées par Nicolas et Mathias et qui sont à préciser

Quentin-RUAUD commented 2 weeks ago

Quelques compléments pour intégrer des différentiels de nuages sur des falaises (échanges avec Marion Jaud):

Réaliser des différentiels de volumes (et de distance aussi) n’est pas si simple sur les falaises actuellement et il n’existe pas encore de pas à pas pour le réaliser de manière automatique sur tous les sites. Cela dépend de la complexité du site (orientations différentes), de la densité des points, des valeurs de recul, des données en entrée (infos sur la normales, taille du cercle qui permet de la déterminer) et du nombre de no data (pour établir les surfaces à attribuer à chaque point). Dans tous les cas il y aurait du travail, même si on passe par cloud compare pour réaliser les traitements sur MADDOG (pas de pas à pas applicable sur tous les sites).

L’outil C2C (cloud to cloud) > permettrait de mesurer la distance à partir de nuages de points en prenant le point le plus proche. Pas optimal (de prendre le point le plus proche) si la falaise à des formes « irrégulières ». En effet, il y a une surexpression des valeurs lorsque le front de falaise de l'année n+1 est perpendiculaire à l'année n. Une possibilité pourrait être de définir un plan par site, qui pourrait avoir une orientation qui s'adapte à l'orientation de la falaise et a partir duquel les normales permettant la comparaison différentielle, pourraient être générées (discussions en cours).

L'outil M3C2 > permettrait d’obtenir un différentiel de distance plus adapté pour du 3D. Le plugin détermine la normale sur chaque point selon un cercle autour de ce point qui intègre les points voisins. A partir de cette normale pour chaque point, un cylindre le long de cette normale est « produit » afin de sélectionner les points de l’autre nuage compris dans l’emprise de ce cylindre. C’est le point le plus proche parmi les points compris dans l’emprise du cylindre qui est utilisé pour calculer la distance entre les deux nuages de points. La longueur du cylindre doit être précisée et doit a minima dépasser la distance maximale possible entre deux nuages de points. (Implique des paramètres à renseigner) Pour convertir en volume il est nécessaire d’attribuer une surface correspondant à chaque point afin de la croiser avec la valeur de distance calculée. Cette étape est très dépendante de la donnée, et notamment de la surface de no data et la nécessité de gérer les bordures.

Une des solutions pourrait être d’intégrer une direction prédéfinie pour tous les points (mais pas adapté si la falaise à différentes orientations), cette valeur de direction pour chaque point peut également être présente dans les données (pour les levés drones par exemple) mais cela nécessite d’intégrer ces données (et donc d’intégrer un nouveau champ dans le format pivot). Et la problématique du calcul des surfaces élémentaires persiste.

Enfin, on ne retrouve pas ces problématiques pour les plages, ou le calcul de différentiel sur des surfaces 2,5D (type MNT) est facile sous CC donc réfléchir à la raison de ne pas utiliser CC au lieu de l’outil saga pour faire des différentiels de volume sur les plages (hauteur/distance actuellement).

lié a https://github.com/LETG/CompareMNTWPS/issues/2