Géolocalisation

a marqué ce sujet comme résolu.

Bonjour,

Je suis entrain de m’intéresser au traitement de données GPS en Python, et j’aimerais bien pouvoir obtenir les coordonnées GPS de l’endroit où mon programme s’exécute, pour comparer la distance de plusieurs lieux par rapport à ma position… J’ai fait quelques recherches, sans succès.

Pourriez-vous m’aider ?

Merci d’avance,

Bonne journée,

@flopy78

Bah dit comme ça, ça n’a aucun sens. Il faut au minimum savoir comment il s’exécute et sur quel appareil. Si tu veux des coordonnées gps, il te faut… un terminal gps. Donc à priori, c’est être sur mobile, et dans ce cas le mieux est peut-être de ne pas développer en python mais avec l’outil adapté au mobile (kotlin sous android, par exemple) qui possédera une API pour interroger les capacités de l’appareil.

Seule autre possibilité, sinon, ce serait de passer par la localisation de l’adresse ip, mais ce sera au mieux la localisation de la ville.

+0 -0

Salut,

Il n’est en général pas possible de connaître la position d’un appareil sur lequel un programme s’éxecute.

Il est cependant assez souvent possible d’obtenir des informations, via diverses moyens :

  • base de données d’IP, qui donne une position approximative, pour peu qu’on ait l’IP (le présent site web le fait à des fins de modération) ;
  • faire comme les navigateurs web desktop : ils récoltent des données sur les réseaux Wifi à proximité, l’IP de l’ordinateur et envoient ça à des services de géolocalisation, comme celui de Google, qui permettent alors d’estimer la position de l’ordinateur ;
  • utiliser le service de localisation de l’appareil s’il en a un : c’est le cas sur les téléphones mobiles, où une app peut demander l’autorisation et elle accède ainsi à une position (position calculée à l’aide du GPS, des réseaux mobiles et WiFi, etc.) ;
  • demander à saisir information à l’utilisateur (pourquoi pas après tout ?) ;
  • disposer d’un récepteur GPS sur la machine et y avoir accès (c’est rare, hors mobile et même là, on préfère utiliser le service de localisation).
+2 -0

Tu veux te servir de quelle(s) source(s) de donnée pour obtenir une géolocalisation ?

Tu as forcément besoin d’une source de donnée. Les ordinateurs modernes n’ont pas de GPS intégré, par-contre les téléphones si.

Ensuite, tu veux quel niveau de précision ?

Python ne tourne pas souvent sur un téléphone dont je vais supposer que tu es sur un ordinateur. L’une des sources les moins onéreuses et la moins précise et d’utiliser l’adresse IP de l’ordinateur. Généralement tu obtiens une IP précise au niveau du Pays souvent mieux (à partir de connexion fixe le géolocalisation IP est plus précise) mais parfois elle peut se tromper si ce point également (c’est très rare quand même).

Par exemple sur mon PC:

$ geoiplookup (gmfip)
GeoIP Country Edition: FR, France
GeoIP City Edition, Rev 1: FR, 00, N/A, N/A, N/A, 48.858200, 2.338700, 0, 0
GeoIP ASNum Edition: AS51207 Free Mobile SAS

Qui utilise une base de donné MaxMind, la plus utilisé de loin. Tu peux utiliser le même mécanisme depuis Python.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte