iGalerie

Vous n'êtes pas identifié(e).

Annonce

Un message d'erreur qui s'affiche ? Un mot de passe oublié ? L'ajout de fichier qui ne marche pas ?
Pensez d'abord à lire la FAQ, vous y trouverez probablement une solution à votre problème.

#1 26-03-2023 17:47:54

D.F.
Membre
Inscription : 26-03-2023
Messages : 6

Photos géolocalisées aux coordonnées non détectées

Bonjour,
Je découvre avec intérêt cette application légère mais semble-t-il très efficace — que j'ai aussitôt installée.

Problème : lorsque je charge des fichiers JPEG contenant dans leurs métadonnées une latitude et une longitude, ces coordonnées géographiques ne semblent pas détectées par iGalerie.

Pour info :
— Ces JPEG sont téléchargés depuis mon compte Flickr, lequel Flickr affiche correctement la géolocalisation.
— macOS affiche aussi la géolocalisation (avec carte exacte dans la fenêtre “Informations” de l'application Aperçu), tout comme l'application Photos livrée avec macOS.
— Bizarrement, d'autres scripts PHP, tels que Piwigo ou Lychee (d'ailleurs beaucoup plus lourds qu'iGalerie…), ne semblent pas non plus détecter les métadonnées géographiques de ces JPEG.
— Au départ, ces métadonnées de géolocalisation ont été ajoutés aux JPEG en utilisant le logiciel Geotag Photos Pro 2.

C'est un peu mystérieux pour moi. Je peux fournir un des fichiers JPEG si besoin.

Merci d'avance pour tout éclairage !

Hors ligne

#2 26-03-2023 20:43:13

D.F.
Membre
Inscription : 26-03-2023
Messages : 6

Re : Photos géolocalisées aux coordonnées non détectées

Quelques infos en plus, obtenues grâce à l'utilitaire Exiftool.

Voici les métadonnées GPS (et quelques autres) dans l'EXIF d'une photo (JPEG) dont la géolocalisation n'est pas détectée par iGalerie :

Exif Version                    : 0230
XMP Toolkit                     : XMP Core 4.4.0-Exiv2
Warning                         : IPTCDigest is not current. XMP may be out of sync
GPS Version ID                  : 2.3.0.0
GPS Altitude Ref                : Above Sea Level
GPS Altitude                    : 1582.8 m Above Sea Level
GPS Latitude                    : 42 deg 34' 3.31" N
GPS Longitude                   : 1 deg 35' 53.64" E
GPS Latitude Ref                : North
GPS Longitude Ref               : East
GPS Position                    : 42 deg 34' 3.31" N, 1 deg 35' 53.64" E

Et voici celles d'une autre photo dont iGalerie détecte la géolocalisation :

Exif Version                    : 0232
XMP Toolkit                     : XMP Core 6.0.0
GPS Altitude Ref                : Above Sea Level
GPS Speed Ref                   : km/h
GPS Speed                       : 0
GPS Img Direction Ref           : Magnetic North
GPS Img Direction               : 249.7599487
GPS Dest Bearing Ref            : Magnetic North
GPS Dest Bearing                : 249.7599487
GPS Horizontal Positioning Error: 4.59754466 m
GPS Altitude                    : 714.1 m Above Sea Level
GPS Latitude                    : 47 deg 35' 10.34" N
GPS Longitude                   : 12 deg 11' 5.80" E
GPS Latitude Ref                : North
GPS Longitude Ref               : East
GPS Position                    : 47 deg 35' 10.34" N, 12 deg 11' 5.80" E

J'espère que ça peut aider à résoudre le problème.  :-)

Hors ligne

#3 27-03-2023 10:20:40

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 482
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Salut,

Le plus simple serait effectivement que tu me fournisses un de tes fichiers pour que je regardes d'où vient le problème.

En ligne

#4 27-03-2023 11:02:42

D.F.
Membre
Inscription : 26-03-2023
Messages : 6

Re : Photos géolocalisées aux coordonnées non détectées

Bonjour, et merci pour cette réponse.

Voici une image dûment géolocalisée par iGalerie, mais aussi par Flickr et macOS.

Voici une autre image dans laquelle iGalerie ne détecte pas les coordonnées GPS, contrairement à Flickr et macOS.

Je viens de comparer leurs métadonnées avec Exiftool. Elles diffèrent un peu, cependant les deux images contiennent bien les coordonnées GPS. C'est assez énigmatique pour moi…

Merci pour ton aide !

Hors ligne

#5 27-03-2023 14:35:42

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 482
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Les coordonnées GPS sont normalement stockées dans une section "GPS" des métadonnées EXIF sous forme de fractions. Voici les données fournies par la fonction PHP exif_read_data() pour la première photo :

Array
(
    [GPSVersion] => 
    [GPSLatitudeRef] => N
    [GPSLatitude] => Array
        (
            [0] => 43/1
            [1] => 0/1
            [2] => 47/100
        )

    [GPSLongitudeRef] => E
    [GPSLongitude] => Array
        (
            [0] => 11/1
            [1] => 30/1
            [2] => 5896/100
        )

    [GPSAltitudeRef] => 
    [GPSAltitude] => 387445/1079
)

On peut alors effectuer la conversion en degrés : 43° 0' 0.47" N, 11° 30' 58.96" E. Ce format est celui décrit dans les spécifications Exif.


Par contre, pour la seconde photo, le format n'est pas du tout le même :

Array
(
    [GPSVersion] => 
    [GPSLatitudeRef] => N
    [GPSLatitude] => 5.2056913208974E+230
    [GPSLongitudeRef] => E
    [GPSLongitude] => 3.6730105008483E-163
    [GPSAltitudeRef] => 
    [GPSAltitude] => 1.9005136278213E+88
)

Or, le code d'iGalerie n'est prévu que pour le format "standard" sous forme de fractions. Voilà pourquoi les coordonnées GPS de cette photo ne sont pas reconnus. Je pourrais modifier le code pour qu'iGalerie puisse aussi reconnaître ce format "exotique", mais le problème est que je ne sais pas comment faire la conversion en degrés...

Autrement dit, comment, pour la latitude par exemple, passe-t-on de 5.2056913208974E+230 à 42° 34' 3.31" (valeur obtenue par Exiftool) ?

En ligne

#6 27-03-2023 14:48:40

D.F.
Membre
Inscription : 26-03-2023
Messages : 6

Re : Photos géolocalisées aux coordonnées non détectées

Je viens d'interroger ChatGPT ! big_smile

Comment convertir une coordonnée GPS issue de métadonnées EXIF sous cette forme : "[GPSLatitude] => 5.2056913208974E+230" dans ce format : [GPSLatitude] => Array
        (
            [0] => ???
            [1] => ???
            [2] => ???
        )

Réponse du robot :

La coordonnée GPS que vous avez fournie sous la forme "[GPSLatitude] => 5.2056913208974E+230" est une valeur décimale en notation scientifique. Pour la convertir en un tableau de degrés, minutes et secondes, vous pouvez utiliser la fonction PHP exif_gps_dms().

Voici un exemple de code pour convertir la coordonnée GPS en un tableau de degrés, minutes et secondes :

<?php
$latitude = 5.2056913208974E+230;

function exif_gps_dms($coordinate) {
    $degrees = floor($coordinate);
    $coordinate -= $degrees;
    $coordinate *= 60;
    $minutes = floor($coordinate);
    $coordinate -= $minutes;
    $coordinate *= 60;
    $seconds = round($coordinate, 2);

    return array($degrees, $minutes, $seconds);
}

$dms = exif_gps_dms($latitude);

echo "[GPSLatitude] => Array\
";
echo "(\
";
echo "    [0] => " . $dms[0] . "\
";
echo "    [1] => " . $dms[1] . "\
";
echo "    [2] => " . $dms[2] . "\
";
echo ")\
";
?>

Remplacez la valeur de la variable $latitude par la valeur de la coordonnée GPS que vous souhaitez convertir. Le code utilise la fonction exif_gps_dms() pour convertir la coordonnée GPS en un tableau de degrés, minutes et secondes. La fonction exif_gps_dms() prend la valeur décimale de la coordonnée GPS en entrée et renvoie un tableau contenant les degrés, les minutes et les secondes. Le code affiche ensuite le tableau de degrés, minutes et secondes au format requis.

Tout cela serait-il adaptable à iGalerie ? Mystère…

(En tout cas, les capacités de réponse, même incorrecte, de ChatGPT sont absolument sidérantes…)

Dernière modification par D.F. (27-03-2023 14:50:01)

Hors ligne

#7 27-03-2023 15:19:02

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 482
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Le code est bon mais il ne fonctionne pas pour convertir 5.2056913208974E+230 en 42° 34' 3.31". Cette valeur fournie par la fonction exif_read_data() me semble incohérente et il s'agit peut-être d'un bug de PHP...

En ligne

#8 04-04-2023 22:26:04

D.F.
Membre
Inscription : 26-03-2023
Messages : 6

Re : Photos géolocalisées aux coordonnées non détectées

Je crois avoir trouvé : exif_read_data() semble buter sur ce genre de coordonnées géographiques, cependant qu'Exiftool (piloté par PHP avec exec()) les déchiffre très bien, aussi bien que Flickr ou macOS.

 exec(exiftool -n -GPSLatitude -GPSLongitude FichierImage.jpg, $donneesretour); 

Dernière modification par D.F. (04-04-2023 22:31:05)

Hors ligne

#9 05-04-2023 12:19:50

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 482
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

La fonction exec() peut poser des problèmes de sécurité et n'est pas forcément activée chez tous les hébergeurs. Et encore faut-il qu'Exiftool soi aussi installé ! Donc ce ne peut pas être une solution viable pour récupérer les données Exif.

Tes photos ont été éditées avec un logiciel ? As-tu essayé avec les photos originales non retouchées ?

En ligne

#10 05-04-2023 12:23:10

D.F.
Membre
Inscription : 26-03-2023
Messages : 6

Re : Photos géolocalisées aux coordonnées non détectées

Oui, les photos au GPS non lu par exif_read_data() étaient passées par un petit logiciel macOS qui ajoutait d'autres métadonnées à l'EXIF (du genre nom de l'auteur, copyright, etc.). Mais ce logiciel en profitait apparemment pour changer le format des coordonnées géographiques déjà présentes dans le fichier photo. Ça ne dérangeait ni Flickr ni macOS, mais beaucoup exif_read_data().

Hors ligne

#11 17-12-2025 22:54:49

RV
Membre
Lieu : Toulouse
Inscription : 17-01-2014
Messages : 56
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Salut,
Je déterre ce sujet car depuis quelques temps mes photos ne sont plus géolocalisées par iGalerie. Alors que les Exif contiennent bien les coordonnées GPS (lus par Bridge et autres)

GPS bien affiché par iGalerie :

<exif:GPSVersionID>2.3.0.0</exif:GPSVersionID>
         <exif:GPSLatitude>42,42.389N</exif:GPSLatitude>
         <exif:GPSLongitude>9,24.5008E</exif:GPSLongitude>
         <exif:GPSTimeStamp>2022-07-07T08:05:42Z</exif:GPSTimeStamp>
         <exif:GPSStatus>A</exif:GPSStatus>
         <exif:GPSMeasureMode>2</exif:GPSMeasureMode>
         <exif:GPSMapDatum>WGS-84</exif:GPSMapDatum>
         <exif:GPSDifferential>0</exif:GPSDifferential>

GPS non affiché par iGalerie

<exif:GPSVersionID>2.3.0.0</exif:GPSVersionID>
         <exif:GPSLatitude>38,42.0423N</exif:GPSLatitude>
         <exif:GPSLongitude>9,10.77125W</exif:GPSLongitude>
         <exif:GPSTimeStamp>2025-08-21T09:34:08Z</exif:GPSTimeStamp>
         <exif:GPSStatus>A</exif:GPSStatus>
         <exif:GPSMeasureMode>2</exif:GPSMeasureMode>
         <exif:GPSMapDatum>WGS-84</exif:GPSMapDatum>
         <exif:GPSDifferential>0</exif:GPSDifferential>
         <exif:DateTimeOriginal>2025-08-21T10:34:07+01:00</exif:DateTimeOriginal>

Un autre Robot :

Utilisation de exifreaddata() pour les données GPS

La fonction exif_read_data() de PHP permet de lire les métadonnées EXIF d'une image, y compris les données GPS. Voici comment l'utiliser pour extraire et traiter les informations de géolocalisation :
Extraction des données GPS

Pour obtenir les coordonnées GPS à partir des métadonnées EXIF, vous devez :

    Lire les métadonnées avec exif_read_data()
    Convertir les coordonnées GPS au format décimal

$picture_src = "VOTRE_EMPLACEMENTpicture.jpg";
$exif = exif_read_data($picture_src, 0, true);

// Vérification de la présence des métadonnées
if($exif === false) {
    echo("[ERREUR] Aucune métadonnées EXIF ");
} else {
    // Récupération des données GPS
    $gps = $exif['GPS'];
    $latitude = gps_to_decimal($gps['GPSLatitude'], $gps['GPSLatitudeRef']);
    $longitude = gps_to_decimal($gps['GPSLongitude'], $gps['GPSLongitudeRef']);
    $altitude = $gps['GPSAltitude'] ?? null;
}

Conversion des coordonnées GPS

Les coordonnées GPS sont stockées sous forme de degrés, minutes et secondes. Vous devez les convertir en format décimal :

function gps_to_decimal($coords, $ref) {
    $degrees = count($coords) > 0 ? gps_to_decimal_part($coords[0]) : 0;
    $minutes = count($coords) > 1 ? gps_to_decimal_part($coords[1]) : 0;
    $seconds = count($coords) > 2 ? gps_to_decimal_part($coords[2]) : 0;
    $decimal = $degrees + ($minutes / 60) + ($seconds / 3600);
    return ($ref == 'S' || $ref == 'W') ? -$decimal : $decimal;
}

function gps_to_decimal_part($coord_part) {
    $parts = explode('/', $coord_part);
    if (count($parts) <= 1) {
        return $parts[0];
    }
    return floatval($parts[0]) / floatval($parts[1]);
}

Ce serait sympa si le GPS revenait ...

Hors ligne

#12 18-12-2025 11:50:35

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 482
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Salut,

RV a écrit :

GPS non affiché par iGalerie

<exif:GPSVersionID>2.3.0.0</exif:GPSVersionID>
         <exif:GPSLatitude>38,42.0423N</exif:GPSLatitude>
         <exif:GPSLongitude>9,10.77125W</exif:GPSLongitude>
         <exif:GPSTimeStamp>2025-08-21T09:34:08Z</exif:GPSTimeStamp>
         <exif:GPSStatus>A</exif:GPSStatus>
         <exif:GPSMeasureMode>2</exif:GPSMeasureMode>
         <exif:GPSMapDatum>WGS-84</exif:GPSMapDatum>
         <exif:GPSDifferential>0</exif:GPSDifferential>
         <exif:DateTimeOriginal>2025-08-21T10:34:07+01:00</exif:DateTimeOriginal>

Même s'il y a bien écrit "exif", cet extrait de code correspond à des métadonnées XMP, et non EXIF. Or, pour les coordonnées GPS iGalerie analyse uniquement les informations EXIF. Si les informations GPS ne sont plus reconnues par iGalerie, c'est que cela vient probablement du fait que le fichier a été édité dans un logiciel qui a repris les informations EXIF pour les enregistrer dans des tags XMP, tout en supprimant ensuite les informations EXIF originales...

En ligne

#13 18-12-2025 12:06:51

RV
Membre
Lieu : Toulouse
Inscription : 17-01-2014
Messages : 56
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Merci pour ta réponse. ça doit être ça, le logiciel en question étant DxO, je vais leur demander pourquoi ils font ça !

Hors ligne

#14 25-12-2025 01:03:48

gilisa
Membre
Lieu : Région parisienne (sud)
Inscription : 23-04-2012
Messages : 306
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

RV a écrit :

Merci pour ta réponse. ça doit être ça, le logiciel en question étant DxO, je vais leur demander pourquoi ils font ça !

DxO peut effacer les données EXIF et autres mais il ne modifie pas les données en place, du moins depuis la version PhotoLab2 2019 en revanche méfiance avec DxOFilmPack 8 elle semble jouer des castagnettes sur certains type de film Noir et Blanc notamment Trix-400 la fameuse. sad

Cdlt.
GGA.

Hors ligne

#15 25-12-2025 01:17:13

gilisa
Membre
Lieu : Région parisienne (sud)
Inscription : 23-04-2012
Messages : 306
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

David a écrit :

Et encore faut-il qu'Exiftool soi aussi installé !

Public et ouvert.
https://github.com/exiftool/
https://exiftool.org/examples.html

Dernière modification par gilisa (25-12-2025 01:19:44)

Hors ligne

#16 10-01-2026 19:19:46

RV
Membre
Lieu : Toulouse
Inscription : 17-01-2014
Messages : 56
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Merci David pour la 3.1.1

"La géolocalisation prend en charge plus de formats de coordonnées GPS,
      et celles-ci peuvent désormais être récupérées depuis les métadonnées XMP lors de l'ajout de fichiers."
Ce qui veut dire que les images déjà importées n'ont pas de géolocalisation? Même avec la 3.1.1?
Si y-a un moyen, je prends.

Hors ligne

#17 10-01-2026 21:17:32

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 482
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Oui, il existe une solution.

En admin, section "Albums", il faut choisir "Mettre à jour les informations" dans la liste déroulante "Action sur la sélection". Cet outil permet de mettre à jour les informations des fichiers s'ils ont été modifiés, ou bien si l'application a été améliorée afin d'extraire de nouvelles informations (comme c'est le cas ici).

Pour un grand nombre de photos, le plus pratique est de choisir l'affichage en "grille" et de "Tout sélectionner" (pour la série). Ensuite, il faut aller dans l'onglet "Sélection" dans la partie à droite des vignettes. Et enfin, choisir l'onglet vertical "Mise à jour" (troisième icône en partant du bas).

En ligne

#18 11-01-2026 01:05:57

RV
Membre
Lieu : Toulouse
Inscription : 17-01-2014
Messages : 56
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Encore merci... je découvre ces fonctionnalités intéressantes !

Malheureusement, je n'ai toujours pas les infos de géolocalisation qui sont bien contenues dans les photos..
Je dois faire un truc de travers!

Dernière modification par RV (11-01-2026 14:52:55)

Hors ligne

#19 11-01-2026 11:52:48

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 482
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Alors même demande que précédemment : il me faudrait une de ces photos pour pouvoir déterminer d'où vient le problème.

En ligne

#20 11-01-2026 13:00:04

RV
Membre
Lieu : Toulouse
Inscription : 17-01-2014
Messages : 56
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Hors ligne

#21 11-01-2026 14:55:34

RV
Membre
Lieu : Toulouse
Inscription : 17-01-2014
Messages : 56
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Petite correction, désolé, le correcteur automatique a frappé ...

RV a écrit :

Encore merci... je découvre ces fonctionnalités intéressantes !

Malheureusement, je n'ai toujours pas les infos de géolocalisation qui sont bien contenues dans les photos..
Je dois faire un truc de travers!

Hors ligne

#22 11-01-2026 15:25:33

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 4 482
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

J'ai trouvé le problème. Les coordonnées GPS sont en fait bien enregistrées dans les métadonnées EXIF, mais sous un format inhabituel. Voilà pourquoi iGalerie ne pouvait pas extraire ces informations.

La solution est de remplacer les lignes 581-584 du fichier includes/core/Metadata.class.php :

if (!isset($this->_exifData['GPS'][$coord][$i])
|| !preg_match('`^(\\d+)/(\\d+)$`', $this->_exifData['GPS'][$coord][$i], $m)
|| $coord == 'GPSLatitude'  && $i == 0 && $m[1] > 90
|| $coord == 'GPSLongitude' && $i == 0 && $m[1] > 180)

par celles-ci :

if (!isset($this->_exifData['GPS'][$coord][$i])
|| !preg_match('`^(\\d+)/(\\d+)$`', $this->_exifData['GPS'][$coord][$i], $m))

Il suffit ensuite d'utiliser l'outil "Mettre à jour les informations".

En ligne

#23 11-01-2026 20:51:10

RV
Membre
Lieu : Toulouse
Inscription : 17-01-2014
Messages : 56
Site Web

Re : Photos géolocalisées aux coordonnées non détectées

Top, Bravo et merci beaucoup.

Ca marche impeccable!!!

Hors ligne

Pied de page des forums

Propulsé par FluxBB