Extension ImageMagick GPS Plugin Piwigo : Différence entre versions

De EjnTricks
(Page créée avec « A l'origine ce plugin a été créé pour résoudre des anomalies de lecture des coordonnées GPS par la fonction <code>read_exif_data</code>. Cet article présente une mo... »)
 
m
 
Ligne 75 : Ligne 75 :
  
 
Ainsi toutes les données EXIF seront récupérées depuis les photos.
 
Ainsi toutes les données EXIF seront récupérées depuis les photos.
 +
 +
L'archive suivante contient le fichier modifié, [[media:ImageMagick GPS-1.6.01 patch Read datas.tar.gz|patch.tar.gz]].
  
  
 
[[Category:ImageMagick GPS Plugin Piwigo]]
 
[[Category:ImageMagick GPS Plugin Piwigo]]

Version actuelle en date du 27 mai 2019 à 23:33

A l'origine ce plugin a été créé pour résoudre des anomalies de lecture des coordonnées GPS par la fonction read_exif_data. Cet article présente une modification apportée pour prendre en compte l'enemble des données EXIF.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Study icon.png Analyse

La lecture des données EXIF s'effectue dans la fonction on_format_exif_data du script include/imagemagickgps.class.inc.php.

                if ($conf['imagemagick_gps']['addAlwaysGpsData'] == false)
                {
                        /* Check for existing GPS position data */
                        $gpsExif = array_intersect_key($exif, array_flip(array('GPSLatitudeRef', 'GPSLatitude', 'GPSLongitudeRef', 'GPSLongitude')));
                        if (count($gpsExif) == 4)
                        {
                                return $exif;
                        }
                }

                /* configure search string */
                $gpsSearch = "";
                if ($conf['imagemagick_gps']['addOnlyPosition'])
                {
                        $gpsSearch = "exif:GPS*L*";
                }
                else
                {
                        $gpsSearch = "exif:GPS*";
                }

Dans un premier temps, il est nécessaire que la configuration addAlwaysGpsData soit positionné à true, ce qui est fait dans l'interface d'administration du plugin. De plus, si la configuration addOnlyPosition est positionné à false, toutes les données relatives au GPS sont prises en compte.

Il apparaît clairement qu'il faut donc modifier le critère de recherche dans ce cas pour ne pas se restreindre aux données GPS.


Update icon.png Patch

Afin de récupérer toutes les données EXIF retournées par ImageMagick, il suffit donc de libérer le filtre avec la valeur exif:*, au lieu de exif:GPS*. Le code source devient alors le suivant.

                if ($conf['imagemagick_gps']['addAlwaysGpsData'] == false)
                {
                        /* Check for existing GPS position data */
                        $gpsExif = array_intersect_key($exif, array_flip(array('GPSLatitudeRef', 'GPSLatitude', 'GPSLongitudeRef', 'GPSLongitude')));
                        if (count($gpsExif) == 4)
                        {
                                return $exif;
                        }
                }

                /* configure search string */
                $gpsSearch = "";
                if ($conf['imagemagick_gps']['addOnlyPosition'])
                {
                        $gpsSearch = "exif:GPS*L*";
                }
                else
                {
                        $gpsSearch = "exif:*";
                        // $gpsSearch = "exif:GPS*";
                }

Le fichier diff est donc le suivant.

56c56,57
<                       $gpsSearch = "exif:GPS*";^M
---
>                       $gpsSearch = "exif:*";^M
>                       // $gpsSearch = "exif:GPS*";^M

Ainsi toutes les données EXIF seront récupérées depuis les photos.

L'archive suivante contient le fichier modifié, patch.tar.gz.