Position GPS des sommets

Bonjour,
Je cherche la position GPS des sommets en France (voir en Europe). Mon but est de retrouver les sommets que j’ai fait à l’aide de mes photos (qui ont une balise GPS).
Je suis développeur, donc pas de problème sur le travail. J’ai déjà extrait la position GPS des photos et j’ai fait un algo pour la distance entre deux points. Par contre il me manque la position GPS et le nom des sommets.
Merci d’avance.

A noter que si j’y arrive le source sera disponible sur mon blog : http://www.cyber-neurones.org/2021/02/python-creation-de-png-a-base-de-csv-avec-des-exif-de-localisation/ . Je ne suis pas à la recherche de création d’une start’up :smirk: . C’est simplement pour moi. :sweat_smile:

Dans OSM tu as des noeuds avec natural=peak, avec ele=* pour l’altitude du sommet et name=* pour son nom.

Il y en a plus de 12000 rien qu’en France et 740 000 dans le monde…

1 « J'aime »

Merci beaucoup. Je regarde.

Autre option… un géocodage inverse en utilisant l’API de demo d’addok qui contient les POI d’OSM (dont les sommets):

http://demo.addok.xyz/reverse/?lat=45.945&lon=5.871&poi=peak

poi=peak permet de restreindre les résultats uniquement à ce type de POI. La distance est calculée et retournée.

Cela me plait moins, car je vais faire une recherche par photo. J’ai presque 28.000 photos, donc 28.000 requetes. Je veux pas planter leur truc. :innocent: Mais merci pour l’information.

No souci… le truc tourne chez moi et peut encaisser sans problème 28000 requêtes.
En quelques minutes ça devrait être fait (15 à 20ms en moyenne par req) :wink:

1 « J'aime »

OK, si cela marche alors je te paye une bière.

Je lance le script … :see_no_evil:

Je pense que j’ai pas pris la bonne lib en Python (à savoir from GPSPhoto import gpsphoto) j’ai eu un crash …

Photo n°19676

Traceback (most recent call last):

struct.error: unpack requires a buffer of 2 bytes

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File « Find_Peak.py », line 30, in
print(« Unexpected error: », sys.exc_info()[0])
NameError: name ‹ sys › is not defined

real 62m18,476s
user 7m48,108s
sys 0m12,578s

Sinon 62 minutes pour 19676 photos.

En plus j’ai énormément de « Possibly corrupted field Tag 0x0000 in MakerNote IFD » … A suivre.

Regarde plutôt le module PyExifTool · PyPI qui est plus généraliste et surtout maintenu.

j’ai un doute … j’ai localisé seulement 25 sommets, alors que je pense avoir fait plus de 100 sommets. Je vais donc prendre une photo d’un sommet que j’ai pas dans la liste.

Il faut vérifier plusieurs points:

  • coordonnées correctes dans la photo
  • sommet présent dans OSM (il n’y sont pas tous)… et bien positionné ou pas !
  • écart entre les coordonnées… je ne sais plus à quelle distance le géocodeur inverse se limite.
1 « J'aime »

Exact, j’ai mis une tolérence de 25 m … je pars du principe que sur le sommet la géolocalisation est toujours bonne. Mais peut-être qu’il faut mettre plus … je vais donc prendre un cas qui n’a pas foncitonné pour comprendre.

25m en milieu naturel sur un objet non physique comme un sommet, c’est très très peu.

Tu as peu de chance d’avoir plusieurs sommets à proximité d’une position donnée et si jamais il y en a plusieurs qui matchent l’API va retourner le plus proche en premier si ma mémoire est bonne.

Fais ça sans limite pour voir ce que ça donne.

Exemple qui n’a pas fonctionné : Node: ‪Tête de Siruol‬ (‪4282496719‬) | OpenStreetMap . Ma photo est à plus de 100 m alors que je suis sur le sommet. Donc en effet il y a erreur sur le positionnement GPS de mon téléphone.

Ou dans la coordonnée dans OSM… c’est pas toujours évident de déterminer le sommet.

Là elle semble correcte :

Capture d’écran du 2021-05-20 12-47-13

Il faut un petit peu de temps pour que le GPS se cale… si on prend une photo tout de suite après avoir sorti le smartphone de veille, ça n’est pas bien précis.

1 « J'aime »

Je me demande s’il n’y a pas un bug,


Sur la Cime du Gélas, j’ai le tag Cime Sud … alors que je suis pas passé …

Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]
Label:Cime sud du Gelas (Pic) Saint-Martin-Vésubie
[7.3846225, 44.1218953]

En fait je devrais avoir les deux tags, Cime sud du Gélas et Cime du Gélas. Mais je n’ai que Cime sud du Gélas. :face_with_raised_eyebrow:

@cquest Bonsoir, j’ai l’impression que l’API a changé.
Il faut ajouter un nouveau paramètre ?
merci.
Frédéric.

curl -G « http://demo.addok.xyz/reverse/?lat=43.64391943333333&lon=7.1019611&poi=peak »
{« type »:« FeatureCollection »,« version »:« draft »,« features »:[{« type »:« Feature »,« geometry »:{« type »:« Point »,« coordinates »:[1.0765214,47.8166703]},« properties »:{« label »:« Citroën (Concession automobile) Saint-Ouen »,« score »:0.0,« id »:« https://osm.org/node/1431996963",« type »:« poi »,« poi »:« car »,« name »:"Citroën (Concession automobile) »,« city »:« Saint-Ouen »,« citycode »:« 41226 »,« context »:« Loir-et-Cher, Centre-Val de Loire »,« importance »:0.04,« distance »:657999}}],« attribution »:« BANO+OSM POI »,« licence »:« ODbL 1.0 »,« filters »:{« type »:« poi »,« poi »:« peak »},« limit »:1}