Médaille
N°1 pour apprendre & réviser du collège au lycée.

Géolocalisation

Déjà plus de

1 million

d'inscrits !

Géolocalisation

  • La géolocalisation est une technique employée pour déterminer la position d'un objet ou d'un individu sur la surface de la Terre, qui est associée à des coordonnées (degrés de longitude et de latitude), ou transposée sous forme d’adresse physique (adresse postale).
  • La géolocalisation s’appuie sur un ou plusieurs réseaux de satellites artificiels spécialisés répartis en orbites autour de la Terre pour que plusieurs d’entre eux soient simultanément visibles en tout point de celle-ci.
  • Ces satellites transmettent en continu leur position et l’heure exacte à laquelle leur message est émis.
  • Ces signaux sont captés par un récepteur spécialisé, communément appelé « récepteur GPS ». Le sigle GPS signifie Global Positioning System, soit « système de positionnement global ».
  • En se basant sur les décalages temporels de réception des signaux par rapport à leur horaire d’émission, le récepteur peut donc estimer sa distance avec chaque satellite, lequel a aussi communiqué sa propre position au moment où il a émis son signal.
  • La vitesse de transmission des ondes radio étant constante, le délai de réception du signal est donc proportionnel à la distance qui sépare le récepteur de chaque satellite émetteur.
  • Il est ainsi possible de déterminer une position géographique du récepteur en croisant les données issues d’au moins trois satellites. Des techniques de correction et de filtrage permettent de compenser les nombreux paramètres qui peuvent influer sur la transmission et la réception des signaux.
  • Les États-Unis sont à l’origine du tout premier réseau de satellites de géolocalisation. Initialement appelé Navstar GPS, ce système géré par les forces armées américaines a rapidement été désigné par le seul sigle « GPS ».
  • Son déploiement a commencé à la fin des années 1970 et s’est poursuivi jusqu’au début des années 1990, aboutissant à une constellation de 24 satellites.
  • Désireuse de disposer d’un système de géopositionnement global indépendant, l’Europe a initié son propre programme appelé Galileo dans les années 2000. Son déploiement s’est poursuivi tout au long de la décennie 2010.
  • Galileo est actuellement composé d’une constellation de 26 satellites proposant une couverture globale pour des usages civils et commerciaux.
  • Lancée à l’époque de l’Union soviétique dans les années 1980 et 1990, la constellation Glonass est aujourd’hui contrôlée par la Russie. Elle est composée de 26 satellites.
  • La Chine a également lancé son propre système de géolocalisation par satellite appelé BeiDou dans les années 2000. Le programme vise une couverture globale avec 35 satellites.
  • Les grandes puissances sont conscientes de l’importance stratégique d’un réseau indépendant de satellites de géolocalisation qu’elles peuvent contrôler et dont elles peuvent le cas échéant se réserver l’usage en cas de conflit.
  • Le niveau de précision est variable d’une constellation de satellites à l’autre et dépend du type d’utilisation. Cette précision est au plus de l’ordre de quelques mètres, et dans certains cas inférieure au mètre.

Analyse de données de géolocalisation

  • La norme NMEA 0183 définit un ensemble de caractéristiques techniques pour le traitement et la transmission de données par les équipements électroniques marins. Cette norme couvre les récepteurs GPS et de nombreux équipements nautiques : sonars, anémomètres, radars, capteurs moteurs, pilotes automatiques, radiotéléphones, balises, etc.
  • Les récepteurs GPS analysent les signaux transmis par les constellations de satellites pour déterminer leur position, puis l’appareil forme des trames à destination de l'équipement auquel il est couplé.
  • Il existe plus d’une trentaine de types de trames pour les seuls GPS. Ces trames forment des phrases avec des syntaxes spécifiques.
  • Voici une trame générée par un récepteur GPS : <span class="katex-error" title="ParseError: KaTeX parse error: Expected &#x27;EOF&#x27;, got &#x27;&&#x27; at position 112: …les trames sont&̲nbsp;: données …" style="color:#cc0000">GPGGA,171005,4885.0858,N,230.7242,E,1,04,2.6,100.00,M,-37,M, ,0000*40
  • Ainsi toutes les trames sont : données en caractères ASCII imprimables, balisées par un caractère matérialisant le début et la fin de trame, séparées intérieurement par des virgules pour délimiter chaque donnée individuelle, d’une longueur maximale de 82 caractères.
  • Certains caractères ASCII sont réservés pour la structuration des messages : le </span> et le ! pour le début de trames, le signe , (virgule) pour délimiter les données individuelles, le * pour délimiter le début d’une somme de contrôle (optionnelle), les caractères non imprimables <CR> (retour en début de ligne) et <LF> (nouvelle ligne) terminent la trame.
  • Les cinq caractères suivant le signe de début de trame définissent le type d’émetteur : $GPGGA.
  • Le type de satellite émetteur est codé sur deux caractères, dans l’exemple il s’agit de GP pour un satellite GPS.
  • Le type de message est codé sur trois caractères les messages de type GGA fournissent la position courante du récepteur.
  • En nous appuyant sur les spécifications de la norme, nous pouvons concevoir un code en langage Python capable de décoder les trames de ce type pour en extraire les information de géolocalisation.

Fonction Code Python
Création d’une liste d’éléments en indiquant un critère de séparation elements = trame.split(‘,’)

print(elements)

# affiche [‘GPGGA’, ‘114507’, ‘4851.0516’, ‘N’, ‘218.435’, ‘E’, ‘1’, ‘04’, ‘2.6’, ‘100.00’, ‘M’, ‘‘, ‘‘, ‘‘, ‘00000’]

Évaluer la longueur de la liste print(len(elements))

# affiche 15

Obtenir le type de trame print(elements[0])

# affiche GPGGA

Affecter des éléments individuels à des variables heure = elements[1]

print(heure)

# affiche 114507

Présenter les coordonnées géographiques extraites de la trame print(latitude, orientation_latitude, longitude, orientation_longitude) # affiche 4851.0516 N 218.435 E
  • Le langage Python est au centre d’un riche écosystème de bibliothèques spécialisées qui permettent d’étendre les fonctionnalités du langage pour des besoins spécifiques.
  • La bibliothèque Python pynmea2 a été conçue pour le décodage et le traitement de trames NMEA 0183, son installation s’effectue très simplement depuis la ligne de commande à l’aide de l’outil d’installation pip.

Enjeux techniques et sociétaux

  • Dans la pratique de nombreux récepteurs GPS sont couplés à d’autres d’appareils ou intégrés à eux. On retrouve de tels dispositifs dans des secteurs d'activités variés tels que le transport, les loisirs, l'urbanisme ou l'agriculture.
  • Les applications des smartphones peuvent, si on les y autorise, accéder aux données de géolocalisation produites par le téléphone (applications d’itinéraire , de recommandation de commerces ou de location de logements).
  • De la même manière, les photographies réalisées avec le téléphone peuvent indiquer à quel endroit elles ont été prises grâce aux métadonnées ou données d’accompagnement EXIF.
  • De nombreuses applications sans lien apparent avec un besoin de géopositionnement collectent, parfois en permanence, la position de l’utilisateur.
  • Les données de géolocalisation sont abondamment exploitées à des fins commerciales et publicitaires sans que l’utilisateur n’en soit toujours correctement informé. Des révélations récentes sur l’ampleur de cette collecte ont contribué à faire émerger une prise de conscience et à souligner les risques en matière de vie privée.
  • La CNIL a récemment mis en demeure des sociétés qui traitaient abusivement des données de géolocalisation sans avoir recueilli le consentement préalable des utilisateurs.
  • Les données collectées peuvent ensuite être analysées et recoupées avec d’autres données pour connaître ou déduire des activités ou des modes de vie des utilisateurs.
  • Enfin, avec l'essor des systèmes de géolocalisation et des opérations dans l'espace, celui-ci se trouve aujourd'hui peuplé de plus de 25 000 objets et d'environ 600 000 débris qui gravitent autour de la terre.
  • Les éditeurs des systèmes d’exploitation mobiles Google et Apple proposent à l’utilisateur différents réglages de géolocalisation, globalement ou par application, et le cas échéant en fonction du contexte (par exemple seulement si l’application est active).
  • Il est recommandé d’accorder des droits de géolocalisation uniquement quand c’est nécessaire ou raisonnable : ça peut l’être pour une application d’itinéraire ou de météo, mais une application de type « lampe torche » ou « calculatrice » n’a aucunement besoin de connaître la position géographique de son utilisateur.
  • Il existe plusieurs autres solutions techniques pour déterminer la localisation géographique, au moins approximative, d’un utilisateur de smartphone ou d’ordinateur : les opérateurs de téléphonie mobile sont en mesure de déterminer assez précisément la localisation géographique d’un client utilisateur à partir des antennes relais desquelles il est proche ; ou encore les adresses IP utilisées par les internautes pour se connecter aux sites internet peuvent être rapprochées de localisations géographiques.
  • Ces données peuvent être croisées entre elles par des entreprises spécialisées dans le profilage en général à vocation publicitaire. De nombreux pays s’intéressent aussi aux possibilités de surveillance généralisée des citoyens permises par ces technologies.