LETG / coastlinetracking

MIT License
0 stars 2 forks source link

wrong cumulate distance #14

Closed mrouan closed 11 months ago

mrouan commented 2 years ago

the cumulate distance calculation is wrong

Gaetanbrl commented 1 year ago

Vu ce jour, Les distances affichées semblent liées à la pente de la ligne de référence. Il faudrait vérifier le calcul et le graphique pour identifier la source des erreurs.

Screenshot 2023-10-13 at 11-18-41 Demo mviewer

Gaetanbrl commented 1 year ago

Après début d'analyse, ce bloc me semble à vérifier dans le calcul et pourrait être lié à notre soucis en lien avec la pente de la radiale et l'impact sur le calcule de distance :

ln étant la ligne qui n'est pas la radiale de départ mais un segment en lien avec les points d'intersections entre les relevés par date et la radiale

https://github.com/LETG/coastlinetracking/blob/210dc8deba129410c47b276ce463dadf448e0372/src/main/java/fr/indigeo/wps/clt/CoastLinesTrackingWPS.java#L161-L166

Ce bloc peut se résumer avec cette interprétation (qui sera je suppose à corriger) sur un repère :

image

@mrouan sais-tu quelle serait la raison de ce calcul ? Peut-être dans le cas où on a un sens false dans les paramètres de la radiale ? Ou dans le cas où on a une évolution inverse du trait de côté ?

Gaetanbrl commented 1 year ago

Testable sur gis.jdev.fr et à valider avec @mrouan :

image

Sans changement de sens de la ligne de référence

Gaetanbrl commented 1 year ago

Vu avec @mrouan, il est nécessaire d'avoir la distance entre l'année de référence et l'année à comparer. Cette valeur n'est pas calculée actuellement et devrait l'être afin d'afficher le graphique car en l'état, le calcul ne permet pas de savoir si pour une année, le TDC a avancé ou reculé.

En effet, le code actuel réalise un calcule pour chaque radiale. Il récupère les points d'intersection le long d'une radiale entre la géométrie de la radiale et chaque ligne de TDC par date à comparer :

En résultat, le script WPS récupère un segment par ordre de date selon ce schéma :

image

Cela donne pour chaque radiale, autant de segment à mesurer entre chaque date (en partant de la date de référence pour le 1er segment seulement).

Avec ce calcul, nous obtenons la distance totale réalisée (le cumulé) par le TDC entre la date la + ancienne et la date la + récente. Cette donnée peut être pratique pour identifier les zones de fort mouvement de TDC. Mais avec le calcul actuel, nous partons du principe qu'un TDC va toujours reculer (évolution -) et ne jamais avancer (évolution +).

La distance séparée est réalisée entre une date n et la date n-1. Ce qui est pertinent pour savoir, en taux annuel, le mouvement d'un TDC entre 2 mesures.

Mais pour la représentation graphique, il ne sera pas possible de savoir si un TDC de l'année n a avancé ou reculé par rapport à n-1 comme sur ce ce schéma :

image

Pour palier à ce problème, il est nécessaire d'avoir la distance pour chaque date n avec la date de référence, et potentiellement, l'évolution avec la précédente mesure (année n-1).

Sur le graphique, il sera alors + simple d'avoir clairement une représentation des distances avec la visualisation des avancées ou recul du trait de côté par rapport à la date de référence.

Gaetanbrl commented 1 year ago

En référence au dernier commentaire, voici une classification des segments par date de fin de calcul. Cette vue permet de voir que les segment sont calculés par rapport à la date précédente :

image

Gaetanbrl commented 1 year ago

Après modification du calcule, voici le résultat pour 1952 - 2005 :

image

Description

Pour la correction, je propose de définir le signe de l'évolution en partant du point de départ de la radiale. On a donc le long de la radiale :

Si la distance radiale / date de référence est supérieure à la distance radiale / date à comparer, alors on a une avancée du TDC vers la ligne de référence (vers la mer) avec une valeur positive. Sinon c'est un recule vers les terres, avec une valeur négative.

image