Pages : 1
#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 Ubuntu 22.04 Ubuntu 24.04 , 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 Ubuntu 22.04 Ubuntu 24.04 , 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 Ubuntu 22.04 Ubuntu 24.04 , 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...
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 Ubuntu 22.04 Ubuntu 24.04 , 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 Ubuntu 22.04 Ubuntu 24.04 , 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
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 Ubuntu 22.04 Ubuntu 24.04 , 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)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
En 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 Ubuntu 22.04 Ubuntu 24.04 , 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
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.
Erreur : cette application ne peut être activée car elle rend le serveur instable
On verra quand ça ira mieux
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)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
En 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
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 Ubuntu 22.04 Ubuntu 24.04 , 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