Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/06/2023, à 11:12

ar barzh paour

[Résolu] localisation photo

hello bonjour
existe-t-il un logiciel qui indique le lieu de la prise de vue d'une photo (quand la photo inclue les coordonnées GPS )

sinon une commande ( pas en graphique ) indiquant le lieu en fournissant les coordonnées GPS ( pas en graphique )

je sais extraire les données GPS d'une photo avec exiv2

exiv2 -Ptk <fichier> |grep GPS donne
Exif.GPSInfo.GPSLatitudeRef                   North
Exif.GPSInfo.GPSLatitude                      35deg 20' 19"
Exif.GPSInfo.GPSLongitudeRef                  East
Exif.GPSInfo.GPSLongitude                     25deg 10' 38"
Exif.GPSInfo.GPSAltitudeRef                   Above sea level
Exif.GPSInfo.GPSAltitude                      0.0 m
Exif.GPSInfo.GPSTimeStamp                     03:53:34
Exif.GPSInfo.GPSDateStamp                     2023:06:09

et en transformant un peu ce résultat  N 35° 20' 19"" E 25° 10' 38"

Dernière modification par ar barzh paour (Le 22/06/2023, à 15:09)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#2 Le 18/06/2023, à 12:49

erresse

Re : [Résolu] localisation photo

Bonjour,
Normalement, avec le visualiseur de photos installé avec ton système, lorsque tu affiches une photo contenant la localisation, elle apparaît en affichant les "Propriétés de l'image", onglet "Détails" rubrique "XMP IPTC".
Là, tu peux trouver le nom de la localité en clair, et sinon, il y a aussi les "Données GPS" d'après lesquelles tu peux déterminer le lieux en fonction des coordonnées de longitude/latitude. On peut trouver sur Internet des sites qui permettent la conversion dans les deux sens.
Par exemple ICI

(Tes coordonnées correspondent à l'aéroport d'Héraklion)

Dernière modification par erresse (Le 18/06/2023, à 12:56)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#3 Le 18/06/2023, à 13:01

ar barzh paour

Re : [Résolu] localisation photo

@eresse
non j'utilise nautilus et je n'ai que les Données GPS ,
je ne sais pas si la photo contient des données IPTC mais nautuilus eog ne les affiche pas

On peut trouver sur Internet des sites qui permettent la conversion dans les deux sens.
oui mais ce que je cherche c'est en ligne de commande

Dernière modification par ar barzh paour (Le 18/06/2023, à 13:19)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#4 Le 18/06/2023, à 13:04

erresse

Re : [Résolu] localisation photo

Mais ce n'est pas à Nautilus d'afficher les images, c'est le boulot de EOG (Eye Of Gnome) qui lui te permettra d'afficher toutes les métadonnées de tes photos dans les propriétés.
Edit: Regarde du côté de "jhead" en ligne de commande qui sait accéder aux métadonnées exif, IPTC et XMP.

Dernière modification par erresse (Le 18/06/2023, à 13:15)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#5 Le 18/06/2023, à 13:21

ar barzh paour

Re : [Résolu] localisation photo

je n'aurai pas du dire nautilus ( j'ai rectifier mon post)
j'utilise nautilus pour trouver une photo et quand je clique sur la photo , c'est bien eog qui se lance

eog /media/jpb/Photos/2023/06/IMG20230601053439.jpg

PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#6 Le 18/06/2023, à 13:36

erresse

Re : [Résolu] localisation photo

Bien sûr, si ta photo ne contient pas de données IPTC / XMP valorisées, tu ne peux disposer que des données GPS qui sont contenues dans les données EXIF pour localiser la prise de vue. Et là, il te faut évidemment récupérer les données longitude / latitude et les convertir en localisation en clair. Mais pour ça, il te faut une table de correspondance mondiale... à moins d'utiliser une API qui permet la conversion. Quant à savoir comment ça s'utilise et si on y accède facilement en ligne commande... roll

Dernière modification par erresse (Le 18/06/2023, à 13:37)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#7 Le 18/06/2023, à 17:41

ar barzh paour

Re : [Résolu] localisation photo

il semble me rappeler que j'avais trouvé (mémoire fait défaut) quelquechose en python
geoxxxx
impossible de me souvenir plus précisémnt , mais en donnant les coordonnées gps , cela fournissait l'adresse
la bribe que j'ai retrouvée

location = geolocator.reverse("52.509669, 13.376294")
print(location.address)
Potsdamer Platz, Mitte, Berlin, 10117, Deutschland, European Union

de plus comme je n'utilise python que très très peu je ne saurai plus faire tout seul


....
après beaucoup de recherche peut être ça
geopy ?

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="specify_your_app_name_here")
location = geolocator.reverse("52.509669, 13.376294")
print(location.address)
Potsdamer Platz, Mitte, Berlin, 10117, Deutschland, European Union

mais comment l'utilise-t-on ?

Dernière modification par ar barzh paour (Le 18/06/2023, à 18:07)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#8 Le 19/06/2023, à 10:20

ar barzh paour

Re : [Résolu] localisation photo

j'ai un peu avancé , je ne sais pas si je vais arriver au bout

j'ai chargé le paquet python3-geopy

je me suis créé un script "es.py"  minimaliste ( les coordonnées sont presque un peu bidon )

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="es.py")
location = geolocator.reverse("35.2, 25.10")
print(location.address)

et je l'ai lancé

jpb@U22-04-d7:~$ python3 es.py
Κοινότητα Προφήτου Ηλιού, Δημοτική Ενότητα Τεμένους, Δήμος Ηρακλείου, Περιφερειακή Ενότητα Ηρακλείου, Περιφέρεια Κρήτης, Αποκεντρωμένη Διοίκηση Κρήτης, 700 03, Ελλάς
jpb@U22-04-d7:~$

sauf que j'y pipe pas grand chose à part que c'est du grec , que c'est pas très loin d'Héraklion (Ηρακλείου) !!! et qu'il faut que je relie tout ça à une photo !
alors s'il faut en plus traduire ....
et il faudrait donner les valeurs en paramètres et les utiliser dans le script

python3 es.py 35.2 25.10

import sys, utiliser ensuite sys.argv[1] et [2] ? mais je ne sais pas faire


jpb@U22-04-d7:~$ python3 es.py 35.2 25.10
Traceback (most recent call last):
  File "/home/jpb/es.py", line 5, in <module>
    location = geolocator.reverse(sys.argv[1],sys.argv[2])
TypeError: Nominatim.reverse() takes 2 positional arguments but 3 were given
jpb@U22-04-d7:~$ 

ou bien avec
    location = geolocator.reverse("sys.argv[1],sys.argv[2]")
ValueError: Must be a coordinate pair or Point


je tatonne

es.py
import sys
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="es.py")
point=[sys.argv[1],sys.argv[2]]
location = geolocator.reverse(point)
print(location.address)

ça a l'air de fonctionner !!!!

jpb@U22-04-d7:~$ python3 es.py 35.2 25.10
Κοινότητα Προφήτου Ηλιού, Δημοτική Ενότητα Τεμένους, Δήμος Ηρακλείου, Περιφερειακή Ενότητα Ηρακλείου, Περιφέρεια Κρήτης, Αποκεντρωμένη Διοίκηση Κρήτης, 700 03, Ελλάς
jpb@U22-04-d7:~$ 

Dernière modification par ar barzh paour (Le 19/06/2023, à 11:04)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#9 Le 19/06/2023, à 12:34

alex2423

Re : [Résolu] localisation photo

Je ne connaissais pas. Très intéressant ta découverte, à partir de point de GPS de pouvoir récupérer une localisation compréhensible, et notamment un nom de ville.

Je ne connais pas cette fonction. En parallèle, j'ai fait ma petite recherche et malheureusement encore une fois, c'est du Google.
https://blog.adrienvh.fr/2015/01/18/geo … nominatim/

Il te retourne les noms dans la locale de la localisation que tu es en train de chercher. Je pensais que ton but c'était de avoir en Français, ou tout du moins en Anglais.

Hors ligne

#10 Le 19/06/2023, à 15:05

erresse

Re : [Résolu] localisation photo

T'as raison, c'est bien en grèce :

Texte original en [el]:
Κοινότητα Προφήτου Ηλιού, Δημοτική Ενότητα Τεμένους, Δήμος Ηρακλείου, Περιφερειακή Ενότητα Ηρακλείου, Περιφέρεια Κρήτης, Αποκεντρωμένη Διοίκηση Κρήτης, 700 03, Ελλάς

Traduction:
Communauté du Prophète Ilios, Unité municipale de Temenou, Municipalité d'Héraklion, Unité régionale d'Héraklion, Région de Crète, Administration décentralisée de Crète, 700 03, Grèce

Et par conséquent, ton bout de script a l'air de donner un résultat plutôt encourageant !


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#11 Le 19/06/2023, à 15:36

Compte supprimé

Re : [Résolu] localisation photo

existe-t-il un logiciel qui indique le lieu de la prise de vue d'une photo (quand la photo inclue les coordonnées GPS )

Oui, Digikam, si cette réponse peut répondre à ton besoin.
https://www.google.com/url?sa=t&rct=j&q … i=89978449

Et si je demande à Dolphin d'afficher le détail des propriétés du fichier d'une photo géolocalisée, je peux cliquer sur les coordonnées qui me dirigent vers la version "Maps" de mon moteur de recherche.  Il zoome sur le lieu de la prise de vue.

EDIT:
Mais ta fonction python pour trouver l'adresse fonctionne bien. Je l'ai testée avec plusieurs lieux connus et c'est très correct. Il m'a même impressionné en me sortant un point sur une piste forestière du Mont Ventoux, avec son nom exact, et plus fort encore, un point dans une combe dont il connaît le nom. On peut penser que c'est basé sur les données du cadastre, y compris en pleine nature.
Quand je lui ai demandé pour

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="es.py")
location = geolocator.reverse("43.953722, 4.805020")
print(location.address)

Il s'est mis à chanter cela. en même temps qu'il répondait :

Pont Saint-Bénezet, Boulevard du Rhône, Barthelasse Sud, Avignon, Vaucluse, Provence-Alpes-Côte d'Azur, France métropolitaine, 84000, France

Dernière modification par Compte supprimé (Le 19/06/2023, à 19:02)

#12 Le 19/06/2023, à 20:07

iznobe

Re : [Résolu] localisation photo

big_smile lol


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#13 Le 20/06/2023, à 08:02

ar barzh paour

Re : [Résolu] localisation photo

pour ceux que ça interesserait je donne ma solution bien batarde
un fichier bash , un fichier python dans le même répertoire , je vais chercher les photos dans un répertoire donné dans le bash
le résultat va dans un fichier 'res-lat-lon.txt"  et contient un interligne ,le nom de l'image ,son adresse
le seul souci est que les addresses sont fournies dans la langue du pays !!!!
le code du fichier bash lire-lat-lon.sh

for f in /media/jpb/Photos/A-DEV/*jpg
   do 
    lat=$(jhead $f|grep Lat)
    lon=$(jhead $f|grep Lon)
 
    ./es3.py "$lat" "$lon" "$f"
    #fi       
    lat="";lon=""
   done

le code du fichier python es3.py

#! /usr/bin/env python3
# -*- coding:Utf8 -*-
# es3:  paramètres sous la forme  de jhead "GPS Latitude : N 47d 11m 37.83s" "GPS Longitude: W  1d 34m 29.37s"
# et en 3ème paramètre , le nom du fichier image
import sys
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="jpb")

obFichier = open('res-lat-lon.txt','a')

P1 = sys.argv[1] # latitude
P2 = sys.argv[2] # longitude
P3 = sys.argv[3] # fichier

# pour geopy , il faut transformer le système DMS en degré décimal DD  ( ± x°+(' / 60)+(" / 3600 )
# calculé les coordonnées en  ±
# N=>"+" S=>"-" W==>"-" E==> "+"
# d="47." mi=float("11")/60 sec=float("37.83")/3600

# exemple "GPS Latitude : N 47d 11m 37.83s"

# 1-récupérer les deux parties
a = P1.split(":")                     #print (a)      #   ['GPS Latitude ', ' N 47d 11m 37.83s']

# 2-récupérer les différentes parties de la 2ème valeur
b = a[1].split()                      #print(b)       #   ['N', '47d', '11m', '37.83s']

# calcul du signe
signe = b[0].replace("N","+").replace("S","-")

#calcul degré (avec .)
deg = b[1].replace("d",".")  # 47.

# calcul minute/60
min1 = b[2].replace("m","")
min2 = float(min1)/60              # 0.183333332

# calcul secondes / 3600
sec1 = b[3].replace("s","")
sec2 = float(sec1)/3600            # 0.010508

# somme minute+seconde
droite1 = min2 + sec2              # 0.1938416666

# ne garde que la chaine après le .
droite2 = str(droite1)             # 0.19384166666666666 (chaîne)
droite3 = droite2.replace("0.","") # 19384166666666666

# concatène le tout
res_lat = signe + deg + droite3    # ==> +47.19384166666666666

#faire même chose pour Lon
a = P2.split(":")                     # print (a)      #   ['GPS Longitude: W  1d 34m 29.37s']
b = a[1].split()                      # print(b)       #   ['W', '1d', '34m', '29.37s']

# calcul du signe
signe = b[0].replace("E","+").replace("W","-")

deg  = b[1].replace("d",".")          # 1.
min1 = b[2].replace("m","")
min2 = float(min1)/60                 # 0.56666666

sec1 = b[3].replace("s","")
sec2 = float(sec1)/3600               # 0.0081583
droite1 = min2 + sec2                 # 0.5748243

droite2 = str(droite1)                # 0.5748243 (chaîne)
droite3 = droite2.replace("0.","")    # 5748243

res_lon = signe + deg + droite3   # ==> -1.5748243


location = geolocator.reverse([res_lat,res_lon])

print()
print(P3)
print(location.address)


obFichier.write("\n")
obFichier.write(P3+"\n")
obFichier.write(location.address+"\n")
obFichier.close()

Dernière modification par ar barzh paour (Le 20/06/2023, à 17:59)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#14 Le 20/06/2023, à 08:16

krodelabestiole

Re : [Résolu] localisation photo

je suis sûrement un peu hors-sujet mais l'app maps de nextcloud affiche une carte avec ses photos comme le font google map ou google earth par ex. (pour peu que ces metas soient renseignées évidemment)

Hors ligne

#15 Le 20/06/2023, à 10:29

Gab680

Re : [Résolu] localisation photo

Bonjour
Pour afficher et localiser des photos sur une carte, regardes ce logiciel Photopagegen à cette ads : https://www.photopagegen.com/
Création de diaporama et pages internet. En espérant que cela te convienne.

Hors ligne

#16 Le 20/06/2023, à 17:40

ar barzh paour

Re : [Résolu] localisation photo

hello
un extrait du résultat qui me va presque ( le dernier est moins top mais un translate me donnera le résultat in french)

/media/jpb/Photos/A-DEV/IMG20220922132219.jpg
Monkgate Medical Centre, 35, Monkgate, The Groves, Layerthorpe, York, England, YO31 7PB, United Kingdom

/media/jpb/Photos/A-DEV/IMG20220531094826.jpg
L'Habitarelle, Châteauneuf-de-Randon, Mende, Lozère, Occitanie, France métropolitaine, 48170, France

/media/jpb/Photos/A-DEV/IMG20221217202342.jpg
Campus universitaire de Mont-Saint-Aignan, Boulevard André Siegfried, Parc de la Touques, Mont-Saint-Aignan, Rouen, Seine-Maritime, Normandie, France métropolitaine, 76130, France

/media/jpb/Photos/A-DEV/IMG20230503095243.jpg
D 2, Vallabrègues, Nîmes, Gard, Occitanie, France métropolitaine, 30300, France

/media/jpb/Photos/A-DEV/IMG20230608190217.jpg
Lyttos Beach, Oδóς Aσκιανοσ Πυργoσ, Κοινότητα Χερσονήσου, Δημοτική Ενότητα Χερσονήσου, Δήμος Χερσονήσου, Περιφερειακή Ενότητα Ηρακλείου, Περιφέρεια Κρήτης, Αποκεντρωμένη Διοίκηση Κρήτης, 710 14, Ελλάς

ce qui serait super top ce serait de lier ce bash à une sélection de fichier dans nautilus ( ou à un fichier dans nautilus)
je m'explique
1-j'ouvre le répertoire contenant des photos
2-un clic droit ( ou autre action)  sur une photo me lancerait le script adéquat avec résultat dans une fenêtre pop-up

Dernière modification par ar barzh paour (Le 20/06/2023, à 17:47)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#17 Le 20/06/2023, à 18:19

Compte supprimé

Re : [Résolu] localisation photo

krodelabestiole a écrit :

mais l'app maps de nextcloud affiche une carte avec ses photos

Je préfère GPSPod, mais j'ai voulu revoir Maps, mauvaise pioche.

nextcloud a écrit :

Erreur : cette application ne peut être activée car elle rend le serveur instable

On verra quand ça ira mieux tongue

Dernière modification par Compte supprimé (Le 20/06/2023, à 18:25)

#18 Le 20/06/2023, à 18:26

krodelabestiole

Re : [Résolu] localisation photo

étrange, chez moi aucun problème - nextcloud 26.0.2 / maps 1.0.2.
(elle marchait mal lors des première versions, ça va mieux depuis environ 6 mois)

Hors ligne

#19 Le 21/06/2023, à 12:33

Compte supprimé

Re : [Résolu] localisation photo

Effectivement,  en passant en 26.0.2 ça  fonctionne. Merci pour ta remarque.
Je ne passerai pas en 27 car il y a quatre applications à la traîne.

Cette application Maps répond bien à la demande "un logiciel qui indique le lieu de la prise de vue d'une photo " Par contre vu le nombre de photos et de traces que j'ai stockées, ce n'est pas aussi facile à exploiter que GPSPod pour les traces.

#20 Le 22/06/2023, à 15:05

ar barzh paour

Re : [Résolu] localisation photo

ar barzh paour a écrit :

ce qui serait super top ce serait de lier ce bash à une sélection de fichier dans nautilus ( ou à un fichier dans nautilus) (post 18)

résolu avec l'aide de nany  voir
https://forum.ubuntu-fr.org/viewtopic.php?id=2079843

dans Nautilus un clic droit sur une poto choix Script "adress-lat-lon.sh"
le résultat s'affiche dans un fenêtre zenity
nom de l'image , ses coordonnée GPS,
son adresse

pour compléter j'indique les deux scripts que j'utilise , qui sont certainement très simplifiables
le script .local/share/nautilus/adresse-lat-lon.sh

#!/bin/bash
# utilise une variable du paquet nautilus-scripts-manager ( qui doit donc être installé )

f="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
# $f doit être une image contenant des coordonnées GPS 
lat=$(jhead $f|grep Lat)
lon=$(jhead $f|grep Lon)

f_res="/tmp/res-lat-lon.txt"
echo "$f"    > "$f_res"
if [[ -z $lat ]]  || [[ -z $lon ]]
    then
        echo "pas de coordonnées GPS dans ce fichier"   >> "$f_res"     
    else
        echo "$lat" >> "$f_res"
        echo "$lon" >> "$f_res"
        # pour transformer lat-lon en adresse
        /media/SH/python/adresse.py "$lat" "$lon" "$f" "$f_res"
    fi    

zenity --text-info --filename="$f_res"

le script /media/SH/python/adresse.py ( calqué sur es3.py  du post #13 )

#! /usr/bin/env python3
# -*- coding:Utf8 -*-

# doit recevoir 4 paramètres
# 1 et 2 sous la forme de jhead "GPS Latitude : N 47d 11m 37.83s" "GPS Longitude: W  1d 34m 29.37s"
# en 3ème paramètre : le nom de fichier image
# en 4ème le fichier qui contiendra le résultat

import sys
from geopy.geocoders import Nominatim
#from functools import partial
geolocator = Nominatim(user_agent="jpb")
#geolocator = partial(geolocator.geocode,language="fr")


P1 = sys.argv[1] # latitude
P2 = sys.argv[2] # longitude
P3 = sys.argv[3] # fichier
P4 = sys.argv[4] # fichier résultat

obFichier = open(P4,'a')
#le fichier P4 a été fourni avec le nom de l'image et les coordonnées GPS

# calculé les coordonnées en  ±
# N=>"+" S=>"-" W==>"-" E==> "+"
# d="47." mi=float("11")/60 sec=float("37.83")/3600

# exemple "GPS Latitude : N 47d 11m 37.83s"

# 1-récupérer la première partie
a = P1.split(":")                     # a ==>  ['GPS Latitude ', ' N 47d 11m 37.83s']

# 2-récupérer les différentes parties de la 2ème valeur
b = a[1].split()                      # b ==>  ['N', '47d', '11m', '37.83s']

# calcul du signe
signe = b[0].replace("N","+").replace("S","-")

#calcul degré (avec .)
deg = b[1].replace("d",".")  # 47.

# calcul minute/60
min1 = b[2].replace("m","")
min2 = float(min1)/60              # 0.183333332

# calcul secondes / 3600
sec1 = b[3].replace("s","")
sec2 = float(sec1)/3600            # 0.010508

# somme minute+seconde
droite1 = min2 + sec2              # 0.1938416666

# ne garde que la chaine après le .
droite2 = str(droite1)             # 0.19384166666666666 (chaîne)
droite3 = droite2.replace("0.","") # 19384166666666666

# concatène le tout
res_lat = signe + deg + droite3    # ==> +47.19384166666666666

#faire même chose pour Lon
a = P2.split(":")                     # a ==>  ['GPS Longitude: W  1d 34m 29.37s']
b = a[1].split()                      # b ==>  ['W', '1d', '34m', '29.37s']

# calcul du signe
signe = b[0].replace("E","+").replace("W","-")

deg  = b[1].replace("d",".")          # 1.
min1 = b[2].replace("m","")
min2 = float(min1)/60                 # 0.56666666

sec1 = b[3].replace("s","")
sec2 = float(sec1)/3600               # 0.0081583
droite1 = min2 + sec2                 # 0.5748243
droite2 = str(droite1)                # 0.5748243 (chaîne)
droite3 = droite2.replace("0.","")    # 5748243

res_lon = signe + deg + droite3   # ==> -1.5748243

location = geolocator.reverse([res_lat,res_lon],language="fr")

# ajout de l'adresse dans le fichier résultat
obFichier.write("\n")
obFichier.write(location.address+"\n")
obFichier.close()

Dernière modification par ar barzh paour (Le 27/06/2023, à 17:46)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne