Des problèmes avec les dates et heures

Bonjour

alors voilà, je deviens complètement chèvre avec ces histoires de dates et heures dans Panoramax.
D’ailleurs ça fait un moment que j’ai renoncé à avoir une heure juste vu que je ne comprends pas comment faire et que le résultat me semble aléatoire.

voir ce sujet que j’avais ouvert cet été (partie “Dates de prise de vue”) :

Aujourd’hui c’est sur les dates que je bataille.
Parfois la Gopro revient aux paramètres d’usine et indique une date en 2016. J’ai donc un script que j’utilise depuis très longtemps (mais je ne m’en suis pas servie depuis plusieurs mois), que j’avais partagé ici :

Or samedi avec @Hindediou nous avons eu ce soucis de date sur la Gopro revenue à 2016, nous avons donc passé ce script.

Voici comment les photos s’affichent après le script dans mon explorateur Windows :


La date est corrigée, revenue au 18/10/2025 et à la bonne heure.

Or dans Panoramax :

Je suis absolument certaine d’avoir utilisé plein de fois ce script et que cela fonctionnait.
Donc, ce n’est plus la même date qui est affichée dans Panoramax ?
Mon script modifie DateTimeOriginal, ce n’est plus le bon paramètre à modifier ??

:white_flag: please send help (je n’ai pas trouvé de picto bateau qui coule genre titanic, mais c’est l’idée)

1 Like

Par défaut, Panoramax utilise prioritairement l’horodatage du récepteur Gnss intégré à la caméra si les valeurs existent, et recalcule l’heure locale avec la position et le fuseau horaire associé. Ce sont les tags GPSDateStamp et GPSTimeStamp. Ca fait un moment que c’est comme ça, n’est-ce pas @antoine-de ?

Ce qui fait que si l’horodate Gps est présent dans tes photos, le script ne sert à rien pour Panoramax. Ça peut être différent dans d’autres applications.

Tu nous mettrais le lien de la photo de 2016 ?

je n’ai pas sous la main les photos originales, seulement celles après passage du script.
@Hindediou est-ce que tu as toujours les photos d’Orx sur ta carte SD ?

Pour moi ce n’est pas possible que mon script n’ai jamais servi à rien pour Panoramax. Je suis sûre qu’il a fonctionné, la preuve c’est que je n’ai aucune séquence datant de 2016 dans ma liste, alors que c’est arrivé plusieurs fois que la Gopro ai perdu l’heure, je je ne me serais pas “amusée” à créer un script juste pour le fun ( :sob: )

Maintenant je renonce à comprendre ce qui n’est passé, j’y ai passé déjà beaucoup de temps et à chaque fois que je pense avoir compris… finalement non.

Ma question pour la team Panoramax, c’est :

Quel est l’attribut utilisé pour afficher cette date ?
Quel est l’attribut utilisé pour afficher cette heure ? Est-ce censé être l’heure locale ?

Les dates et heures sont toujours compliquées :sob:.

Panoramax doit gérer pleins de cas, car chaque appareil peut renseigner des champs exif différents.

Je parle sous le contrôle des experts exif, mais il y a grosso modo 2 moyens de passer la date/heure, l’horloge du GPS ou celle de l’appareil photo.

Panoramax lit les 2 heures (qui peuvent être différentes, ce serait trop simple), et choisi la meilleure avec une heuristique.

Note: le code de la lecture des heures est ici pour celles et ceux intéressés, ca fait ~1 an que c’est comme ca

Pour l’heure GPS, on prend dans l’ordre :

  • les champs exif Exif.GPSInfo.GPSDateStamp/Exif.GPSInfo.GPSTimeStamp
  • les champs xmp Xmp.exif.GPSDateStamp/Xmp.exif.GPSTimeStamp
  • les champs mapillary MAPGpsTime

Pour l’heure de la caméra, on va aussi regarder dans tout pleins de champs jusqu’à en trouver un rempli.

Pour déterminer l’heure qui sera utilisée au final, on prend celle qui a renseigné des millisecondes, et s’il y a égalité là-dessus, on prend celle GPS par défaut.

Après, l’heure GPS est considérée comme UTC (et on la transforme en heure locale), et celle de l’appareil comme l’heure locale.

Si je prends le cas concret de la première photo de ta séquence mal triée (de ce post), exif tool donne :

Date/Time Original              : 2025:10:15 10:02:54 <- en heure locale
GPS Time Stamp                  : 10:02:53 
GPS Date Stamp                  : 2025:10:15
GPS Date/Time                   : 2025:10:15 10:02:53Z <- en UTC

alors que sur la dernière de la séquence :

Date/Time Original              : 2025:10:15 10:03:24 <- en heure locale
GPS Time Stamp                  : 08:04:22
GPS Date Stamp                  : 2025:10:15
GPS Date/Time                   : 2025:10:15 08:04:22Z <- en UTC

(la 2ᵉ semble logique).

Pour ton script, du coup je dirais qu’il fonctionne bien s’il n’y a pas d’heure GPS de renseignée, mais si c’est le cas, ca ne changera pas l’heure prise en compte par Panoramax. Si tu veux arranger ca, tu peux soit modifier le champ édité, soit supprimer l’heure GPS des photos.

3 Likes

:sob:
(besoin de vacances)

merci. Je vais devoir relire ce message (plusieurs fois :grinning_face_with_smiling_eyes:) mais avec ça j’ai bon espoir de comprendre un jour comment faire pour avoir la bonne date (et soyons fous, peut-être aussi l’heure juste)

Merci pour votre aide à tous les deux, je comprends bien que les réponses sont dans le code et que tout le code ne peut pas être écrit en bon français comme tu viens de le faire @antoine-de :purple_heart:

Je reviens vers vous au plus vite

2 Likes

bonjour

j’ai compris comment on passe de l’un à l’autre dans mon traitement..
Je récupère les photos brutes, voici ce que JOSM affiche :
image

Là j’ai juste recalé manuellement les photos (pas de corrélation au format GPX). Je déplace les photos dans JOSM et j’ “écris les coordonnées dans l’en-tête de l’image”. Cela ne change pas les heure affichées.

Par contre, quand je fais “Editer la séquence d’images”
image
Les métadonnées évoluent et affichent une ligne en plus “Corr heure GPS”
image

Je ré-enregiste.

Maintenant si je recharge ces photos dans JOSM :
image
L’heure Exif GPS est passée de 8h à 10 soit de l’heure UTC à l’heure locale !!.

En résumé, c’est l’outil JOSM pour définir la direction de l’image vers la suivante, qui modifie l’heure GPS.

J’ai COMPRIS pourquoi mon script marchait (oui il faut du temps mais tout vient à point…)

Je passais mon script qui modifiait DateTimeOriginal. Ensuite j’utilisais JOSM pour orienter mes photos. Là c’est JOSM qui modifiait lui-même le GPS Date/Time en utilisant la valeur de DateTimeOriginal.

Samedi avec @Hindediou, nous avons d’abord fait les manip JOSM et en dernier passé le script. Et du coup l’heure GPS n’a pas été corrigée.

Et la lumière fut !!

(du coup je viens bien le-dit script :))

ah pour investiger y’a personne mais pour récupérer le script là y’a du monde :laughing:
Attends encore un peu, car je ne sais pas encore par quel bout le prendre (dans quel ordre faire les actions, quel attribut modifier pour obtenir le bon résultat final)

PS : mon script actuel est là Edition de photos: qui peut/devrait pouvoir modifier quoi - #13 par Patchanka

Merci pour le retour @Patchanka
J’avais dans ma todo la vérification du comportement de Josm sur la mise à jour des horodatages des photos pendant une corrélation, et en particulier les tags exif GpsDateStamp et GpsTimeStamp.
Là tu viens de montrer qu’elle se fait, et que ça se produit aussi en cas de simple ajout de la direction.

Je considère que Josm ne devrait pas modifier ces valeurs si elles existent…il va falloir que je me replonge dans le Java pour corriger ça.

De plus, tu as été victime d’un autre bug, celui qui fait qu’en cas d’ajout simple de la direction sur une séquence de photo, la dernière n’est pas prise en compte, ce qui explique que c’est la seule à avoir conservé la bonne heure dans GpsTimeStamp (l’heure Gps dans Josm). J’ai déjà proposé un patch de correction ; je vais relancer les mainteneurs pour qu’ils l’intègrent.

2 Likes

oui je suis d’accord.
Cela se produit effectivement soit à l’ajout de la direction depuis le menu “éditer la séquence d’image”, soit avec “Corréler au format GPX”. Je ne pensais pas que les 2 aboutissaient au même bug, mais c’est bien le cas.

Oui celui-ci était bien identifié de mon côté. La plupart du temps je l’ajoute manuellement pour la dernière photo. Mais cette-fois là, j’avais dû oublier de le faire.

je compte sur toi ! :sweat_smile:
Je testerai la future version !!