Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macOS Sierra, visualiser la direction d'une photo sur une carte ?

54 réponses
Avatar
Une Bévue
avec l'iPhone 6, les données GPS incluent la direction de prise de vue
(compas), existe t'il un logiciel permettant de montrer cette direction
(et donc pas seulement le point d'où a été prsie la photo) ?

exemple :
$ exiftool '/Users/yt/Downloads/IMG_3130.JPG'
ExifTool Version Number : 10.20

[...]

Make : Apple
Camera Model Name : iPhone 6

[...]

GPS Latitude Ref : North
GPS Longitude Ref : West
GPS Altitude Ref : Above Sea Level
GPS Time Stamp : 07:11:21
GPS Speed Ref : km/h
GPS Speed : 0
GPS Img Direction Ref : True North
GPS Img Direction : 312.9102564
GPS Dest Bearing Ref : True North
GPS Dest Bearing : 312.9102564
GPS Date Stamp : 2016:12:06
GPS Horizontal Positioning Error: 65 m

[...]

GPS Altitude : 26.6 m Above Sea Level
GPS Date/Time : 2016:12:06 07:11:21Z
GPS Latitude : 55 deg 55' 15.39" N
GPS Longitude : 4 deg 28' 44.01" W
GPS Position : 55 deg 55' 15.39" N, 4 deg 28' 44.01" W

[...]

10 réponses

1 2 3 4 5
Avatar
g4fleurot
Une Bévue a écrit :
De mon côté, d'ici quelque jours j'aurai implémenté ça avec Google MAPS
et ReactJS. Mais dans une version web.

OK, merci pour le suivi.
--
Gérard FLEUROT plus un
Avatar
g4fleurot
J.P aimerait obtenir une réponse à sa question :
A propos de cela, vous savez comment le GPS trouve ces directions, sans
qu'on se déplace ?

<o47koq$m3a$
GPS Img Direction est donc une appellation abusive et trompeuse.
--
Gérard FLEUROT plus un
Avatar
g4fleurot
Une Bévue a écrit ceci :
The main problem is that the Apple MapView does currently not
support a direction.


Ben alors, il y a un problème chez lui.
Dans l'onglet Cartographie de GC, je lis :
Données cartographiques ©2016 Google,
et aucune référence Apple Map.
La confusion provient peut être du fait que dans le menu Géolocalisation
(l'épingle) il y a le choix entre Apple, Google et OpenStreetMap
--
Gérard FLEUROT plus un
Avatar
gilbert.olivier
Fleuger wrote:
Souvenir qui est entretenu par mon copain de promo :
<http://aviatechno.net/constellation/radio.php>

Super site, je mets de côté pour le regarder l'année prochaine, et c'est
bientôt ;-)
En attendant, bonnes fêtes et bon réveillon à tous.
--
Gilbert
Avatar
g4fleurot
Gilbert OLIVIER a tout bonnement rédigé :
Super site, je mets de côté pour le regarder l'année prochaine, et c'est
bientôt ;-)

Il héberge aussi la FAQ de fr.rec.aviation
<http://faq-fra.aviatechno.net>
--
Gérard FLEUROT plus un
Avatar
Une Bévue
Le 31/12/2016 à 09:39, Fleuger a écrit :
La confusion provient peut être du fait que dans le menu Géolocalisation
(l'épingle) il y a le choix entre Apple, Google et OpenStreetMap

AH, je n'avais pas remarqué ça.
je regarderai aussi côté OpenStreetMap, que je n'ai pas encore utilisé.
Avatar
lists
Une Bévue wrote:
avec l'iPhone 6, les données GPS incluent la direction de prise de vue
(compas), existe t'il un logiciel permettant de montrer cette direction
(et donc pas seulement le point d'où a été prsie la photo) ?

Une solution en Python avec cartopy. Avec macports, il faut installer
py27-exif et py27-cartopy, en plus de py27-matplotlib et py27-numpy.
---8<------8<------8<------8<------8<------8<------8<------8<------8<---
#! /usr/bin/env python2.7
# -*- coding: utf-8 -*-
"""
Ce programme affiche la direction d'une photo sur une carte.
"""
from __future__ import unicode_literals, print_function, division
import sys
import EXIF
import numpy as np
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER,
LATITUDE_FORMATTER
import cartopy.io.img_tiles as cimgt
defaultfile = "/Users/jsalort/Pictures/Bibliothèque
perso.photoslibrary/Masters/2016/12/05/20161205-171149/IMG_3243.JPG"
def make_map(projectionÌrs.PlateCarree()):
fig, ax = plt.subplots(figsize=(9, 8),
subplot_kw=dict(projection=projection))
gl = ax.gridlines(draw_labels=True)
gl.xlabels_top = gl.ylabels_right = False
gl.xformatter = LONGITUDE_FORMATTER
gl.yformatter = LATITUDE_FORMATTER
return fig, ax
def draw_map(fich):
# Lecture des tags EXIF
print('Opening file', fich)
with open(fich, 'rb') as f:
tags = EXIF.process_file(f)
for key, val in tags.iteritems():
if 'GPS' in key:
print(key, ':', val)
# Latitude et longitude
lon = eval(str(tags['GPS GPSLongitude']))
lat = eval(str(tags['GPS GPSLatitude']))
latref = str(tags['GPS GPSLatitudeRef'])
lonref = str(tags['GPS GPSLongitudeRef'])
longitude = lon[0]+lon[1]/60.+lon[2]/3600.
if lonref == 'W':
longitude = -longitude
latitude = lat[0]+lat[1]/60.+lat[2]/3600.
if latref == 'S':
latitude = -latitude
# Direction
dirref = str(tags['GPS GPSImgDirectionRef'])
direction = eval(str(tags['GPS GPSImgDirection']))
u = np.sin(direction*np.pi/180.)
v = np.cos(direction*np.pi/180.)
# Affichage de la carte
extent = [longitude-0.025, longitude+0.025, latitude-0.0125,
latitude+0.0125]
print('extent =', extent)
#request = cimgt.GoogleTiles() # Google Maps
request = cimgt.OSM() # OpenStreet Maps
fig, ax = make_map(projection=request.crs)
ax.set_extent(extent)
ax.add_image(request, 14)
# Apparemment il faut au moins deux points pour quiver
ax.quiver(np.array([longitude, longitude]), np.array([latitude,
latitude]), np.array([u, u]), np.array([v, v]),
transformÌrs.PlateCarree(),color='red')
def main():
if len(sys.argv) > 1:
fichier = sys.argv[1]
else:
fichier = defaultfile
draw_map(fichier)
plt.show()
if __name__ == '__main__':
main()
---8<------8<------8<------8<------8<------8<------8<------8<------8<---
--
Julien Salort
Entia non sunt multiplicanda praeter necessitatem
http://www.juliensalort.org
Avatar
Une Bévue
Le 31/12/2016 à 15:43, Julien Salort a écrit :
Une solution en Python avec cartopy. Avec macports, il faut installer
py27-exif et py27-cartopy, en plus de py27-matplotlib et py27-numpy.

super, merci beaucoup.
j'essaie ça dès que j'ai un peu de temps càd après les fêtes ;-)
j'ai regardé Google MAPS, on ne peut pas orienter un marker car celui-ci
(d'après mon reverse engeneering) est dessiné dans un canvas.
Avatar
Une Bévue
Le 31/12/2016 à 15:43, Julien Salort a écrit :
if lonref == 'W':
longitude = -longitude

tiens, en JavaScript j'ai aussi été obligé de faire ça.
pourtant il me semble que certains APN donnent le bon signe, tout en
sortant quand même le "lonref"...
bizarre.
Avatar
Une Bévue
Le 31/12/2016 à 18:16, Une Bévue a écrit :
tiens, en JavaScript j'ai aussi été obligé de faire ça.
pourtant il me semble que certains APN donnent le bon signe, tout en
sortant quand même le "lonref"...

du coup j'ai fait (en JS) :
center.location.lng =
parseFloat(exif.output.GPSLongitude.replace(/^"(.*)"$/, '$1'));
if (exif.output.GPSLongitudeRef === 'West' &&
center.location.lng > 0) {
center.location.lng = -center.location.lng;
}
la regex, c'est parce que certains APN sortent "1.234" au lieu de 1.234.
donc je négative si west et si positif.
1 2 3 4 5