cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu

Le problème traiter par cette petite note est le suivant identifier les images contenant des données EXIF avec la géolocalisation, où celles qui n’ont pas cette propriété.



Contenu

Voici 3 scripts « one line » permettant d’avoir cette information :


Les images contenant une information GPS

find . -type f -iname '*.jpg' | while read -r F ; do if exiftool -a -gps:all "${F}" 2>/dev/null | grep -q 'GPS' ; then echo "$F" ; fi ; done

Les images ne contenant pas d’information GPS

find . -type f -iname '*.jpg' | while read -r F ; do if ! (exiftool -a -gps:all "${F}" 2>/dev/null | grep -q 'GPS') ; then echo "$F" ; fi ; done

Les images contenant ou pas une information GPS

find . -type f -iname '*.jpg' | while read -r F ; do if exiftool -a -gps:all "${F}" 2>/dev/null | grep -q 'GPS' ; then echo "G: $F" ; else echo "-: $F" ; fi ; done


Considérations

On pourrait améliorer ces scripts en recherchant l’existence et la validité de différents champs :

GPS Version ID                  : 2.2.0.0
GPS Latitude Ref                : North
GPS Latitude                    : 44 deg 2' 41.05"
GPS Longitude Ref               : East
GPS Longitude                   : 3 deg 49' 13.45"
GPS Altitude Ref                : Above Sea Level
GPS Altitude                    : 356.508 m
GPS Time Stamp                  : 15:41:18
GPS Processing Method           : GPS
GPS Date Stamp                  : 2023:07:22

Par exemple la valeur GPS Processing Method peut avoir les valeurs GPS, CELLID… Dans le cas d’un lot de photo prise au même endroits, il parait raisonnable de s’appuyer plutôt sur les photos étant basée sur une position GPS réelle que sur une position GPS basée sur un calcul relatif à des antennes téléphoniques.

On peut également s’assurer que la position GPS est bien dans la bonne zone géographique en encadrant les valeurs GPS Latitude Ref, GPS Latitude, GPS Longitude Ref et GPS Longitude.

Pour faire ce type de traitement, il est probable qu’utiliser le format JSON pour la sortie de la commande exiftool soit une bonne idée :

exiftool -a -gps:all  './chemin/mon_image.jpg' -j

ce qui donnera :

[{
  "SourceFile": "./chemin/mon_image.jpg",
  "GPSVersionID": "2.2.0.0",
  "GPSLatitudeRef": "North",
  "GPSLatitude": "44 deg 2' 41.05\"",
  "GPSLongitudeRef": "East",
  "GPSLongitude": "3 deg 49' 13.45\"",
  "GPSAltitudeRef": "Above Sea Level",
  "GPSAltitude": "356.508 m",
  "GPSTimeStamp": "15:41:18",
  "GPSProcessingMethod": "GPS",
  "GPSDateStamp": "2023:07:22"
}]

ᦿ


ℹ 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog