Et bien apparement ma config JOSM n’arrive pas à correctement lire les coordonnées en sortie du script, qui sont des les exifs.
Alors que dans Panoramax il n’y a pas de soucis.
Avant (mauvais positionnement)
Après (bon positionnement)
La seule différence se trouve dans l’écriture des coordonnées dans les exifs :
Dans ton script :
def set_timestamp(filename, epoch, lat, lon, direction, speed):
...
gps = {
piexif.GPSIFD.GPSVersionID: (2, 0, 0, 0),
piexif.GPSIFD.GPSMapDatum: 'WGS-84',
piexif.GPSIFD.GPSLatitudeRef: 'N' if lat>=0 else 'S',
piexif.GPSIFD.GPSLatitude: (int(abs(lat) * 1000000), 1000000),
piexif.GPSIFD.GPSLongitudeRef: 'E' if lon>=0 else 'W',
piexif.GPSIFD.GPSLongitude: (int(abs(lon) * 1000000), 1000000),
...
}
...
La fonction mis à jour par Perplexity :
def decimal_to_dms_rational(decimal):
degrees = int(abs(decimal))
minutes_float = (abs(decimal) - degrees) * 60
minutes = int(minutes_float)
seconds = (minutes_float - minutes) * 60
frac = Fraction(seconds).limit_denominator(1000000)
return ((degrees, 1), (minutes, 1), (frac.numerator, frac.denominator))
Un tableau des différences :
Et cette modification m’a permis de retrouver le bon positionnement des photos dans JOSM
J’espère que mes explications sont assez clair, j’ai utilisé Perplexity pour essayer de trouver une solution faute de compétence sur cette thématique, mais je pense qu’il y a moyen de faire ça plus proprement
Même si en regardant les exifs il n’y a pas plus de différence.
Mais c’est le seul paramètre qui semble correctement fonctionne dans JOSM. Sinon pour info, remettre les coordonnées en EPSG 2154 ça fonctionne aussi