Hier, j’ai fait un relevé photo en vélo “à l’arrache” (car je n’ai qu’un smartphone vaguement fixé à mon guidon) et après upload je suis surpris : la trace de la séquence est correcte, mais les photos ne sont pas toutes au bon endroit.
Je vois ce genre de problème avec OSM Tracker. Les photos ont des coordonnées GPS enregistrées dans leurs EXIFS. C’est souvent mauvais. OSMTracker a enregistré des waypoints en même temps. C’est meilleur. Si je demande à JOSM de refaire le positionnement des photos sur la trace GPS d’OSM Tracker, c’est encore mieux. Va comprendre…
À bien y réfléchir, je ne m’explique ce décalage que si les photos et la localisation suivent deux pipelines de traitement différents dans l’application et se retrouvent associés de manière arbitraire, plus “tard”. Ce faisant, si la capture et traitement des photos prend du “retard” alors les photos se retrouvent associées à une localisation différente.
Mes compétences en Kotlin sont nulles et je suis bien incapable de relire le code de Baba pour confirmer mon hypothèse et remonter une anomalie avec une proposition d’amélioration.
On a aussi des décalages avec la GoPro Max. Très clairement, ça prend les coordonnées GPS à la fin du traitement (fusion des vues avant et arrière), soit environ avec 1,35 s de retard.
C’est très souvent le cas, car les puces GPS standard calculent une position toutes les 1 à 2s… et pas forcément de façon synchrone avec le moment où on prend la photo.
Dans mon script Qoocam, je fais une interpolation pour avoir une position plus correcte et il y a aussi un offset temporel à appliquer (c’était bon avec 2s, depuis quelques temps c’est mieux avec 1s).
Bien entendu, ceci se remarque uniquement quand on se déplace rapidement.