Récupérer coordonnées GPS

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
dodo
Messages : 4
Inscription : mer. juil. 06, 2016 12:14 pm

Récupérer coordonnées GPS

Message par dodo » mer. juil. 06, 2016 12:25 pm

Bonjour à tous,

J'utilise l'API OSM avec OpenLayers sur mon application web.
Pour ce faire j'utilise une Base de données Avec une table Région, une table Département et une table Ville. Lié a chaque fois par un ID.

Puis Sur ma page web, j'ai une liste déroulante Région (l'utilisateur sélectionne sa région) une liste déroulante Département qui affiche les départements en fonction de la région choisi, puis la même chose avec la ville.

En dessous j'ai 2 labels: Latitude et Longitude que j'aimerai remplir en fonction de la ville sélectionnée ci-dessus.

Est-ce possible de récupérer ces 2 valeurs ?
Et si oui, comment procéder ?

Merci de m'avoir lu
et merci d'avance pour ceux qui auraient une idée :)

Cordialement
Dorian

dodo
Messages : 4
Inscription : mer. juil. 06, 2016 12:14 pm

Re: Récupérer coordonnées GPS

Message par dodo » mer. juil. 06, 2016 4:01 pm

Sinon , à défaut, pouvoir stocker les coordonnées GPS de chaque ville de france dans ma base.

Mais je sais pas comment obtenir ces inforamtions (mise a part sur le site de INSEE)

Merci :)

Cdlt
Dorian

OsmO
Messages : 52
Inscription : mer. janv. 06, 2016 7:13 pm
Localisation : Paris

Re: Récupérer coordonnées GPS

Message par OsmO » mer. juil. 06, 2016 4:34 pm

Bonjour,

Il y a une extraction des communes françaises avec (entre autres) leurs coordonnées sur https://www.data.gouv.fr/fr/datasets/de ... streetmap/.

jcr83
Messages : 106
Inscription : ven. nov. 25, 2011 5:22 pm

Re: Récupérer coordonnées GPS

Message par jcr83 » mer. juil. 06, 2016 4:40 pm

L'API OSM renvoie les coordonnées lat="...", lon="..." : http://wiki.openstreetmap.org/wiki/API_v0.6#Example

Par exemple, pour Suze-la-Rousse :
http://www.openstreetmap.org/api/0.6/node/33155796
renvoie :

Code : Tout sélectionner

<osm version="0.6" generator="CGImap 0.4.3 (10197 thorn-01.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
  <node id="33155796" visible="true" version="15" changeset="17119829" timestamp="2013-07-27T23:46:36Z" user="yoko99" uid="582049" lat="44.2886337" lon="4.8402315">
    <tag k="addr:postcode" v="26790"/>
    <tag k="name" v="Suze-la-Rousse"/>
    <tag k="place" v="village"/>
    <tag k="population" v="1905"/>
    <tag k="ref:INSEE" v="26345"/>
    <tag k="source:population" v="INSEE 2013"/>
  </node>
</osm>
La latitude de Suze-la-Rousse est donc 44.2886337° et sa longitude 4.8402315°.

dodo
Messages : 4
Inscription : mer. juil. 06, 2016 12:14 pm

Re: Récupérer coordonnées GPS

Message par dodo » mer. juil. 06, 2016 5:25 pm

Bonjour à vous 2 et merci pour vos réponse

@osmo : Merci pour le lien, ça sera toujours utile si je n'arrive pas à mettre en place la proposition de jrc83

@jrc83 : Merci, j'étais tombé sur ce lien (ou un semblable puisque ma recherche était basé sur le nom de la ville et non pas un ID correspondant) mais je n'arrive pas à savoir comment l'exploiter,
Tu aurai une piste ou un point de départ ? (ou une solution complète ^^)

Merci
Cdlt
Dorian

BrunoC
Messages : 374
Inscription : sam. juin 23, 2012 11:07 am
Localisation : Nantes
Contact :

Re: Récupérer coordonnées GPS

Message par BrunoC » jeu. juil. 07, 2016 2:06 pm

Bonjour,

l'API OSM est dédiée à la création et la mise à jour des objets. Bien sûr elle permet de consulter les objets, par leur identifiant OSM, ou récuperer tous les objets d'une zone géographique, mais tout ceci n'est pas très pratique pour exploiter les données.
Overpass est une autre API, en lecture seule, orientée extraction. Elle tourne sur des serveurs dédiés, avec des données OSM pas plus veilles que quelques minutes. Un bon moyen de découvrir l'api Overpass est d'aller sur le site https://overpass-turbo.eu/ qui fournit une interface pour ecrire les requetes ainsi qu'un assistant.

Par exemple cette requete extrait des données OSM les nodes avec le tag "place" et le tag "ref:INSEE" dans la zone de la carte (bbox)
http://overpass-turbo.eu/s/hb7

Plutot que d'extraire au format json, on peut choisir une format de sortie CSV, avec sélection des champs dont les coordonnées geographiques. D'autres formats sont possibles.
http://overpass-turbo.eu/s/hb8

En supprimant le critère bbox, tu balaie tout OSM.
http://overpass-turbo.eu/s/hb9 (attention c'est long !)

En creusant un peu, on voir qu'il n'y a pas toutes les communes, et il y a des doublons. En fait dans OSM les communes sont modélisé par des relations, qui incluent leur périmètres et un point "centre administratif". Le tag ref:INSEE est sur la relation, pas toujours sur le point.
Un exemple tordu, une commune en 2 bouts !
http://www.openstreetmap.org/relation/275464


Une requête des relations "Commune"
http://overpass-turbo.eu/s/hba
Elle ne retourne rien d’affichable, la relation elle même n'a pas de coordonnées

On ajoute une ligne pour récupéré les nodes des relations sélectionnées
http://overpass-turbo.eu/s/hbb


Ou encore les communes du Finistère
http://overpass-turbo.eu/s/hbm

Voilà !

Bonne recherche et bonne lecture :
http://wiki.openstreetmap.org/wiki/Over ... uage_Guide


Bruno

dodo
Messages : 4
Inscription : mer. juil. 06, 2016 12:14 pm

Re: Récupérer coordonnées GPS

Message par dodo » ven. juil. 08, 2016 11:01 am

Bonjour,

Tout d'abord un grand merci a toi BrunoC , super réponse bien détaillé, ça m'a permis de voir des exceptions qui existaient (notamment le coup de la ville en 2 morceaux) :D
j'ai également découvert overpass. Nonobstant, je me suis servi du lien suivant du coup:
http://nominatim.openstreetmap.org/sear ... ormat=json

non seulement parce que j'avais commencé ^^ mais aussi car je trouvait son utilisation plus simple.
J'ai utilisé de la requête AJAX dans mon JS pour récupérer les données en fonction de l'adresse saisie.

Cela semble bien fonctionné.

Dans tous les cas MERCI

Cordialement
Dorian

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités