Écrire votre nom
ici
Voici une photo :
Téléchargez la, et faites afficher ses propriétés (clic droit). Vous devriez voir les coordonnées GPS de l'endroit où a été prise la photo
Notez ci-dessous les coordonnées GPS
Réponse:
Les coordonnées GPS sont en degrés : minutes et secondes
Pour la latitude on lit : 33;52;31.658935546875
Pour exploiter ces données il faut les convertir en degré décimal :
C'est à dire : latitude = 33+52/60+31.658935546875/3600
# ce qui donne :
latitude = 33+52/60+31.658935546875/3600
print(latitude)
33.87546081542969
# Écrire le calcul ici
Comment faire pour savoir s'il s'agit de latitude Nord ou Sud et de longitude Est ou Ouest ?
Testez ces 4 cas sur le web ( Géoportail ou autres...)
Avez vous une idée du lieu de cette photo ?
Réponse:
Ces informations sont contenues dans la photo, il suffit pour cela de faire afficher les données EXIFS de cette photo.
Sur le Web, on trouve des sites qui permettent de le faire
Faites afficher les données Exifs de cette photo sur ce site par exemple
Donnez les coordonnées complète de la photo :
Réponse:
Ce programme affiche les coordonnées du lieu où la photo a été prise:
Les bibliothèques utilisées sont :
#pip install pillow
#chargement des bibliothèques
from PIL import Image
import requests
from io import BytesIO
# chargement de la photo se trouvant à l'adresse donnée
url=" https://isn-icn-ljm.pagesperso-orange.fr/photo/photo1.jpg"
response = requests.get(url)
im = Image.open(BytesIO(response.content))
# Si la photo est dans le même dossier que le programme
#chargement de l'image ( même dossier que le programme)
#im = Image.open( 'photo.jpg' )
# chargement des données exif, c'est un dictionnaire les données gps sont à la clé 34853
# repéré à l'aide de l'explorateur de variable de l'ide python
exif_data = im._getexif()
#chargement des données de la clé 34853
# on crée un dictionnaire pour contenir les données GPS
test={}
test=exif_data[34853]
# eplorer la variable test pour savoir comment elle est structurée
print(test)
# ce dico contient les données recherchées
# la latitude est à la clé 2 qui est un tuple
# la longitude à l clé 4
# il faut les transformer en nombres (float)
# récupération de la latitude
lat_deg=float(test[2][0])
lat_min=float(test[2][1])/60
lat_sec=float(test[2][2])/3600
lat=lat_deg+lat_min+lat_sec
# signe en fonction de Nord /Sud
if test[1]=='S':
lat=-lat
print(lat)
# récupération de la longitude
lon_deg=float(test[4][0])
lon_min=float(test[4][1])/60
lon_sec=float(test[4][2])/3600
lon=lon_deg+lon_min+lon_sec
# signe en fonction de Est/Ouest
if test[3]=='W':
lon=-lon
print(lon)
{0: b'\x02\x00\x00\x00', 1: 'N', 2: (33.0, 52.0, 31.658935546875), 3: 'W', 4: (116.0, 18.0, 5.83056640625), 5: b'\x00', 6: 304.0, 18: 'WGS-84'} 33.87546081542969 -116.3016196017795
En vous aidant des TP précédents et du programme ci-dessus, faites afficher sur une carte un marqueur sur le lieu où la photo a été prise
#Écrire le code ici
Reprendre le travail précédent avec cette photo :
l'URL est : https://isn-icn-ljm.pagesperso-orange.fr/photo/IMG1.jpg
#Écrire le code ici
Reprendre le travail précédent avec une photo prise par votre smartphone (autorisez la géolocalisation)
On chargera la photo dans le programme depuis le dossier qui contient ce notebook avec les instructions :
#chargement des bibliothèques
from PIL import Image
# Si la photo est dans le même dossier que le programme
#chargement de l'image ( même dossier que le programme)
im = Image.open( 'photo1.jpg' )
# chargement des données exif, c'est un dictionnaire les données gps sont à la clé 34853
# repéré à l'aide de l'explorateur de variable de l'ide python
exif_data = im._getexif()
#chargement des données de la clé 34853
# on crée un dictionnaire pour contenir les données GPS
test={}
test=exif_data[34853]
# eplorer la variable test pour savoir comment elle est structurée
print(test)
Compléter le code ci-dessus pour faire ce travail
#Écrire le code ici
Dans home sélectionnez le fichier et download