Localisation, cartographie et mobilité

I. Fonctionnement de la géolocalisation
Introduction
• Le système GPS (Global Positioning System) est le premier système de positionnement par satellite sur notre planète ; il utilise un peu plus de trente satellites américains qui sont en rotation autour de la Terre depuis plus de trente ans, à la vitesse de 14 000 km/h, à une altitude de 20 000 km.
• Sa précision est de 10 mètres.
• Certains appareils (ordinateurs, smartphones…) sont équipés d'un récepteur GPS.
• Un appareil a toujours au-dessus de lui au moins quatre satellites.
Fonctionnement
• Chaque satellite est équipé d'une horloge atomique (synchronisée aux autres) et émet une onde électromagnétique porteuse d'une trame C/A toutes les millisecondes. Les satellites ne reçoivent pas d'information de la part des utilisateurs.
• Une trame C/A est composée d'un code pseudo-aléatoire (de débit 1,023 Mbit/s) et d'un message qui contient notamment l'heure d'émission et la position exacte du satellite émetteur.
• Un appareil muni d'un récepteur GPS peut ainsi calculer le temps de transmission. En multipliant ce temps par la vitesse de la lumière (vitesse connue d'environ 30 0000 km/s), il obtient donc la distance qui le sépare du satellite.
• À l'issue de ce calcul, le récepteur dispose d'une première information : il se trouve sur une sphère centrée sur le satellite. En répétant cette procédure avec un deuxième satellite, il peut à nouveau se situer sur une deuxième sphère centrée sur le deuxième satellite. En réitérant l'opération une troisième fois et en cherchant la zone d'intersection entre ces trois sphères, on obtient la position sur la Terre. On dit que l'on a procédé par trilatération dans l'espace.
• Il s'agit en réalité de "pseudo-distances", c'est-à-dire de distances entachées de l'erreur due à la non-synchronisation de l'horloge du récepteur avec l'horloge atomique embarquée par les satellites. Si l'horloge du récepteur est suffisamment stable, cette erreur est constante et l'utilisation d'un quatrième satellite permet de résoudre un système de quatre équations à quatre inconnues.
• En effet un appareil muni d'un récepteur GPS génère les mêmes trames C/A qu'un satellite GPS, ainsi il est capable de synchroniser son horloge interne sur celle du satellite : il détermine le décalage de temps nécessaire pour que son signal soit en phase avec le signal émis par le satellite et applique ensuite les corrections nécessaires (ionosphérique, relativité…)
• Évidemment, plus le nombre de satellites captés sera important, meilleure sera la précision.
Remarques
• Un système concurrent européen est bientôt prêt : Galileo. Composé de trente satellites placés à une altitude de 23 222 km, le système aura une précision de 1 m.
• Le système russe GLONASS existe également, ainsi que le système chinois Beidou et le système japonais QZSS, mais ils ne disposent pas tous d'une couverture mondiale. Les smartphones récents sont capables d'utiliser ces systèmes.
• Le système GPS étant peu efficace en ville, on peut s'y localiser par la détection de bornes wi-fi proches. Par exemple un smartphone, équipé d'un récepteur wi-fi, se réfère à des bases de données contenant les identifiants des bornes wi-fi ainsi que leurs coordonnées géographiques. Plus il détecte de bornes, meilleure sera la précision.
Exercice n°1
II. Coordonnées géographiques
Localisation, cartographie et mobilité - illustration 1
• Chaque point de la surface du globe terrestre peut-être repéré à l'aide d'un triplet de nombres que l'on appelle « coordonnées géographiques ». La première se nomme latitude, la deuxième longitude et la troisième altitude. On considère qu'un point a comme latitude 0 degré s'il est situé sur l'équateur. Si le point n'est pas situé sur l'équateur, on détermine le parallèle auquel il appartient. Par exemple, la ville de Houston (Texas) a pour latitude 30 degrés Nord (car située dans l'hémisphère nord).
• On considère qu'un point a comme longitude 0 degré s'il est situé sur le méridien de Greenwich. La ville de Gavarnie (France) a pour longitude 0 degré alors que la ville de Memphis (Tennessee) a pour longitude 90 degrés Ouest (car située à l'ouest du méridien de Greenwich).
• Par exemple, le musée des Beaux-Arts de Lille a pour coordonnées environ (50,63°N ; 3,06°E ; 21), ce qui signifie que la latitude est égale à environ 50,63 degrés, la longitude est égale à environ 3,06 degrés et l'altitude est égale à environ 21 mètres.
• L'unité degré se note °, l'unité minute se note ' et l'unité seconde se note '' .
• La notation 50,63° est dite en degrés décimaux (DD) ; on peut noter la latitude en degrés minutes secondes (DMS), on obtient alors 50°37'48''.
• En effet, la troncature de 50,63 donne 50 degrés.
• Il reste à convertir 0,63 degré en minutes. Or 60 minutes équivalent à 1 degré donc 0,63 = 60 × 0,63 = 37,8'. La troncature de 37,8 donne 37 minutes.
• Il reste à convertir 0,8 minute en secondes. Or 60 secondes équivalent à 1 minute donc 0,8' = 60 × 0,8 = 48''.
• La latitude varie de 90°S (pôle sud) à 0° (équateur) puis à 90°N (pôle Nord).
• D'autres types de coordonnées existent pour se repérer sur Terre dont certaines sont très originales, comme les coordonnées What3words.
III. Cartes numériques
Carte numérique
• Une carte numérique rassemble toutes les échelles. On choisit une certaine échelle en utilisant le zoom de manière discrète, c'est-à-dire qu'il y a un nombre fini d'échelles disponibles.
• Comme sur une carte IGN classique, selon l'échelle, certains détails apparaissent ou disparaissent. Sur une carte routière de France (échelle 1/1 000 000 c'est-à-dire qu'1 cm sur la carte représente 10 km) figureront les autoroutes, les départementales, mais pas les églises ou les chemins de randonnées.
• Comme pour les images, il existe deux catégories principales de cartes numériques : les cartes vectorielles et les cartes matricielles.
• Dans une carte vectorielle, les objets (vecteurs) sont repérés par des coordonnées.
• Dans une carte matricielle, les couches (ransters) se présentent sous la forme d'images matricielles (définies par un certain nombre de pixels).
• Les cartes matricielles sont très souvent créées à partir de cartes vectorielles.
• Un SIG (système d'information géographique) est un logiciel qui permet de saisir, stocker et afficher tous les types de données géolocalisées. À chaque objet, est attribuée une fiche contenant des données. Toutes les données correspondant à un même thème prennent la forme d'une couche, qui fonctionne comme une sorte de calque.
Géoportail
Géoportail (geoportail.gouv.fr) est un site web gouvernemental qui recense différentes cartes numériques du territoire. Il donne accès à de nombreuses informations : cadastres, zones à risque sismiques…
• On choisit un fond de carte général (17 choix possibles : carte IGN, photographie aérienne, carte géologique…). Le choix par défaut est celui de la photographie aérienne.
• Puis on peut, si on le souhaite, choisir une donnée thématique parmi les neuf proposées : « Éducation et recherche » (affiche les lycées, les écoles…), « Culture et patrimoine » (affiche les musées…).
• Enfin 21 zooms différents sont disponibles. Certains fonds de carte ne sont disponibles que pour la France.
OpenStreetMap
OpenStreetMap (openstreetmap.org ou adresse IP : 130.117.76.11) est une plateforme de cartographie vectorielle lancée en 2004 à Londres. La base de données est alimentée par une communauté de contributeurs. Les données sont ouvertes (open source), c'est-à-dire utilisables par tous tant que l'on fait référence à la source initiale.
• Une fois un compte créé on peut, en cliquant sur « Modifier » et à l'aide de l'éditeur iD, proposer d'ajouter des informations, de corriger ou de supprimer des informations (à l'aide d'un clic droit on peut supprimer une boîte aux lettres qui n'existe plus, par exemple).
• On peut installer l'application OsmAnd (osmand.net) qui permet d'utiliser librement les cartes numériques du site OpenStreetMap sur son smartphone ou sa tablette en ligne ou même hors ligne.
• On peut également s'en servir pour déterminer des itinéraires. Si l'on souhaite se géolocaliser, alors il faut autoriser (dans les paramètres de confidentialité) l'application à avoir accès à la localisation de l'appareil.
Placer un point d'intérêt
• Voici un petit programme en Python qui permet de créer un fichier HTML contenant une carte centrée sur un certain point et d'ajouter un point d'intérêt. Les coordonnées sont exprimées en DD.
Localisation, cartographie et mobilité - illustration 2
IV. Protocole NMEA 0183
• Une fois qu'un appareil connaît ses coordonnées géographiques, il peut transmettre sa localisation sous la forme d'un message appelé trame selon la norme NMEA 0183 (National Marine Electronics Association). Une trame est constituée de champs, séparés entre eux par des virgules.
• La norme NMEA 0183 est un protocole de codage pour la communication d'informations, plutôt utilisé dans le milieu maritime. L'objectif est de récolter les données des différents instruments (récepteur GPS, compas, afficheur de vitesse…) pour les représenter sur un seul et même écran.
• Voici un exemple de trame NMEA de type GGA :
$GPGGA,124536.205,5063.0493,N,0306.2734,E,1,05,1.9,21.3,M,48.6,M,,0000*52
  • GP indique l'utilisation des satellites GPS (GL, GA, PQ pour GLONASS, Galileo et Beidou respectivement) ;
  • GGA est un type de trame courant pour une localisation, mais il en existe d'autres comme GLL ou RMC ;
  • 124536.205 est l'heure du système UTC en millièmes de seconde codé sous la forme HHMMSS.SSS (Donc ici 12h45min36,205sec) ;
  • 5063.0493 est la latitude en dix millièmes de minutes codé sous la forme DDMM.MMMM. ;
  • N signifie « Nord » (S signifie Sud) ;
  • 0306.2734 est la longitude en dix millième de minutes codé sous la forme DDMM.MMMM. ;
  • E signifie « Est » (W signifie Ouest) ;
  • 1 signifie « repère valide » (0 invalide, 2 GPS différentiel et 3 mode PPS) ;
  • 05 est le nombre de satellites utilisés pour déterminer la position ;
  • 1.9 est le coefficient d'affaiblissement de la précision (plus il est proche de 1 plus il est fiable) ;
  • 21.3 est l'altitude (par rapport au niveau moyen des mers) ;
  • M est l'unité de longueur (mètre ici) ;
  • 48.6 est la correction de la hauteur du géoïde par rapport à l'ellipsoïde WGS84 ;
  • M est l'unité de longueur (mètre ici) ;
  • ,,0000 : Champ vide ;
  • 52 est la somme de contrôle (checksum) pour vérifier que le message reçu n'a pas été altéré.
• La trame NMEA suivante : $GPGGA,195348.824,4337.952,N,07921.402,W,1,12,1.0,0.0,M,0.0,M,,*76 correspond à un point de Ward's Island de la ville de Toronto.
• Un site web comme nmeagen.org permet de choisir un point sur Terre et de générer une trame NMEA dans un fichier (dont l'extension est .nmea). Le fichier est lisible avec un éditeur de texte basique (Bloc-notes ou TextEdit par exemple). On peut même créer un itinéraire composé de plusieurs points. On peut également charger sa propre trame NMEA.
• Remarque : sur un ordinateur, il est plus simple de manipuler des fichiers cvs ou gpx. Le protocole NMEA est surtout utile pour connecter deux appareils de manière continue lorsqu'un appareil possède un récepteur GPS et l'autre un SIG.
V. Calculs d'itinéraires
Graphe
• On dit que le graphe ci-contre est étiqueté et pondéré, car les poids inscrits sur les arêtes sont des réels positifs.
Le poids d'une chaîne est la somme des poids des arêtes qui la composent.
Localisation, cartographie et mobilité - illustration 3
• Considérons que le graphe modélise la situation de sept villages de campagne, reliés entre eux par des routes dont on connaît la longueur en kilomètres.
• On aimerait savoir quel chemin est le plus court pour se rendre du village A au village H.
• On va utiliser l'algorithme de Dijkstra.
• On construit un tableau qui va contenir autant de colonnes que de sommets dans le graphe et une colonne facultative pour détailler les étapes.
A
D
F
I
G
E
H
Étapes
0
3A
2A
-
-
-
-
On se place sur A. D et F sont adjacents à A.
X
3A
2A
7F
6F
-
-
On raye A. La valeur minimale étant 2 on se place sur F. F est adjacent avec A (rayé) D, I et G. La distance de A à D est déjà en mémoire et vaut 3, la distance de A à D en passant par F vaut 2 + 4 soit 6 or 6 > 3 donc on garde 3 en mémoire. La distance de A à I n'a pas encore de valeur en mémoire donc on note 2 + 5=7F. De même pour G.
X
3A
X
4D
6F
-
-
On marque F. On se place sur D (valeur minimale) et on regarde les sommets adjacents…
X
X
X
4D
6F
5I
7I

X
X
X
X
6F
5I
7I

X
X
X
X
6F
X
7I

X
X
X
X
X
X
7I


• Le trajet minimal de A à H est de 7 km. En relisant le tableau par la fin, on lit que ce trajet est : A-D-I-H.
Logiciel
• Les applications (OsmAnd, Waze…) et les sites web (OpenStreetMap…) utilisent ce même algorithme de Dijkstra pour déterminer un itinéraire. Ils tiennent également compte de plusieurs autres paramètres.
• En fonction du mode de déplacement (à pied, à vélo, en voiture), certaines rues seront en sens unique, la vitesse de déplacement ne sera pas la même, des feux tricolores seront inévitables, des ralentissements seront prévus à certaines heures de la journée…
• Pour s'entraîner, on peut choisir deux villes en France et repérer des villes intermédiaires situées entre ces deux villes. On construit alors un graphe mathématique et on reporte les distances entre les villes sur les arêtes. On applique l'algorithme de Dijkstra, puis on compare le résultat obtenu avec l'itinéraire proposé par OpenStreetMap par exemple.
VI. Confidentialité
• De nombreuses applications ont accès à la localisation d'un smartphone, ce qui leur permet d'envoyer des publicités géolocalisées (diffusées selon la localisation d'un individu à un instant donné) non désirées ou de suivre les itinéraires utilisés.
• Il faut, dans les paramètres de son appareil, vérifier si le partage de position est activé. S'il l'est, il faut vérifier les applications qui vont utiliser cette information.
VII. Exploiter csv ou gpx
Un fichier csv
• Le site web earthquake.usgs.gov/data/ met à disposition des fichiers csv contenant par exemple les tremblements de terre de la semaine qui vient de s'écouler dans le monde (fichier significant_week.csv).
• Voici un programme qui va permettre de lire chaque ligne du fichier csv et d'extraire la latitude et la longitude du lieu du séisme ainsi que le nom du lieu. On affichera les lieux sur un planisphère grâce à OpenStreetMap.
Localisation, cartographie et mobilité - illustration 4
• On pourrait le modifier pour qu'il affiche également la magnitude en ajoutant une ligne comme mag=liste[4] et modifier popup=lieu en popup=mag+lieu.
• À la place d'un signet, on pourrait choisir un disque. On remplacerait alors « Marker » par « Circle » et on pourrait préciser « radius = 1 » pour un rayon égal à 1.
Un fichier gpx
• Voici un extrait d'un fichier au format gpx qui enregistre régulièrement la position d'un joggeur à la campagne.
Localisation, cartographie et mobilité - illustration 5
• On retrouve bien pour chaque point la latitude et la longitude en degrés décimaux (DD), mais aussi la date et l'heure.
• Les sites web Geoportail et OpenStreetMap sont capables d'importer un fichier au format gpx et d'afficher sur une carte numérique le parcours du joggeur.
Exercice n°1
Avec le système GPS, combien faut-il au minimum de satellites pour obtenir des coordonnées géographiques correctes ?
Cochez la bonne réponse.
3
4
5
6
Exercice n°2
Déterminer, à l'aide de l'algorithme de Dijkstra, la seule affirmation vraie :
Localisation, cartographie et mobilité - illustration 6
Cochez la bonne réponse.
Le chemin le plus court entre A et F est A-B-E-F.
Le chemin le plus court entre A et F est A-B-D-F.
Le chemin le plus court entre A et F a une longueur supérieure ou égale à 11.
Le chemin le plus court entre A et F a une longueur inférieure ou égale à 8.
Le chemin le plus court a pour longueur 9.
Exercice n°3
Déterminer la trame NMEA qui n'est pas valide :
Cochez la bonne réponse.
$GPGGA,095658.310,5038.455,N,00302.673,E,1,12,1.0,0.0,M,0.0,M,,*62
$GPGGA,095659.310,4646.857,N,05610.751,W,1,12,1.0,0.0,M,0.0,M,,*73
$GPGGA,095700.310,9224.361,N,08211.394,W,1,12,1.0,0.0,M,0.0,M,,*75
$GPGGA,095701.310,4042.305,N,07400.647,W,1,12,1.0,0.0,M,0.0,M,,*76
Une latitude de plus de 92 degrés n'a aucun sens (elle doit être inférieure à 90°). La trame corrigée est $GPGGA,095700.310,4224.361,N,08211.394,W,1,12,1.0,0.0,M,0.0,M,,*75.
Exercice n°4
Soit la ville de Auckland en Nouvelle-Zélande. Déterminer la seule affirmation vraie.
Cochez la bonne réponse.
La latitude d'Auckland est d'environ 36°N.
La longitude d'Auckland est d'environ 36°W.
La longitude d'Auckland est d'environ 174°E.
La latitude d'Auckland est d'environ 36°E.
La latitude d'Auckland est d'environ 36°S.
Exercice n°5
Une latitude d'environ 16,27°N est équivalente à une latitude en DMS de (environ) :
Cochez la bonne réponse.
16°27'00''
16°2'7''
16°20'07''
16°16'34''