Le GPS (Global Positioning System) est un système de navigation par satellite permettant de déterminer la position d’un objet n’importe où sur Terre.
Il repose sur une constellation de 31 satellites en orbite à environ 20 200 km d’altitude, émettant en permanence des signaux radio.
Le principe repose sur la trilatération : un récepteur GPS mesure le temps que met le signal de chaque satellite à lui parvenir, ce qui lui permet de calculer sa distance à ce satellite.
Si on connaît la distance à 3 satellites, on peut déterminer une position unique sur Terre :
La distance est calculée à partir du temps de propagation du signal :
\[d = c \times t\]
où \(c = 3 \times 10^8\) m/s est la vitesse de la lumière et \(t\) le temps de propagation.
Un signal GPS met \(t = 0{,}067\) s pour parvenir au récepteur. La distance au satellite est :
\[d = 3 \times 10^8 \times 0{,}067 = 20\,100\,000 \text{ m} \approx 20\,100 \text{ km}\]
La position d’un point sur Terre est repérée par deux angles :
Paris a pour coordonnées : latitude \(48{,}8566°\) N, longitude \(2{,}3522°\) E.
On écrit : (48.8566, 2.3522) en notation décimale Python.
Les coordonnées GPS peuvent s’écrire de plusieurs façons :
48.8566, 2.352248°51'24"N, 2°21'8"EPour calculer la distance entre deux points \(A(\varphi_1, \lambda_1)\) et \(B(\varphi_2, \lambda_2)\) sur une sphère de rayon \(R = 6371\) km :
\[d = 2R \arcsin\left(\sqrt{\sin^2\left(\frac{\varphi_2-\varphi_1}{2}\right) + \cos\varphi_1 \cos\varphi_2 \sin^2\left(\frac{\lambda_2-\lambda_1}{2}\right)}\right)\]
Abu Rayhan al-Biruni (973–1048), savant perse originaire du Khwarezm (Ouzbékistan actuel), est considéré comme le père de la géodésie. Déporté à Ghazni (Afghanistan) par le sultan Mahmud en 1017, il met à profit sa captivité pour écrire le Kitab Tahdid — un traité dont l’objectif est de déterminer les coordonnées géographiques des villes afin de calculer la direction de La Mecque (la qibla).
Étape 1 — Mesurer les latitudes. Al-Biruni mesure la latitude d’un lieu en observant la hauteur maximale du Soleil à midi avec un quadrant — un quart de cercle gradué muni d’un fil à plomb et de deux viseurs. Le 14 octobre 1018, près de Kaboul, n’ayant aucun instrument sous la main, il en fabrique un en traçant un arc gradué au dos d’une planche à calcul. De nuit, il peut aussi mesurer la hauteur de deux passages au méridien d’une étoile circumpolaire : la moyenne des deux donne directement la latitude. Il obtient ainsi : Bagdad ≈ 33°20' N et Ghazni ≈ 33°35' N — des valeurs très proches des valeurs modernes (33°19' et 33°33').
Étape 2 — Estimer la distance par les routes de caravanes. Pour connaître la distance entre deux villes, Al-Biruni utilise les relevés des marchands et voyageurs, mesurés en farsakhs (1 farsakh ≈ 5,6 km, la distance qu’un cheval parcourt en une heure). Comme les routes ne sont jamais rectilignes, il applique un coefficient de correction selon la difficulté du terrain. Il calcule les distances le long de trois itinéraires différents : un trajet nord passant par Rayy (Téhéran), Jurjaniyya et Balkh, et un trajet sud passant par Chiraz et Zaranj. Il prend la moyenne des trois résultats.
Étape 3 — Calculer la différence de longitude par le théorème de Ptolémée. Connaissant les latitudes des deux villes et la distance qui les sépare sur le grand cercle, Al-Biruni utilise le théorème de Ptolémée sur les quadrilatères cycliques pour en déduire la différence de longitude. Sa valeur : environ 24°, avec une erreur de seulement 18 minutes d’arc (soit ≈ 1,5 %).
Étape 4 — Mesurer le rayon de la Terre. Au fort de Nandana (Pendjab, Pakistan actuel), Al-Biruni mesure la hauteur d’une colline par triangulation (deux visées depuis deux points distants connus), puis grimpe au sommet et mesure l’angle d’inclinaison de l’horizon vers le bas. Par un calcul trigonométrique, il en déduit le rayon de la Terre : ≈ 6 339 km (valeur moderne : 6 371 km, erreur de 0,5 %). Ce résultat ne sera pas amélioré en Occident avant le XVIe siècle.
Source : A.C. Sparavigna, The Science of al-Biruni, Politecnico di Torino, 2013. Voir aussi l'article de l’AFIS.
1. Rechercher sur Internet les coordonnées GPS (en degrés décimaux) de Bagdad et de Ghazni. Comparer avec les valeurs mesurées par Al-Biruni (33°20' N et 33°35' N pour les latitudes).
2. En utilisant la fonction Python distance ci-dessus, calculer la distance entre ces deux villes.
3. Al-Biruni avait estimé une différence de longitude d’environ 24°. En déduire la distance qu’il obtenait et comparer avec votre résultat. Calculer le pourcentage d’erreur.
4. Al-Biruni a mesuré le rayon de la Terre à 6 339 km. Modifier la valeur de R dans le programme et observer l’impact sur la distance calculée.
Une carte numérique est une représentation plane de la surface terrestre stockée sous forme de données numériques.
Les cartes en ligne (Google Maps, OpenStreetMap) utilisent des tuiles — des images carrées de 256×256 pixels assemblées dynamiquement selon le niveau de zoom.
OpenStreetMap (OSM) est une carte du monde libre et collaborative, construite par des bénévoles. C’est l’équivalent de Wikipedia pour la cartographie.
En Python, la bibliothèque folium permet de créer des cartes interactives basées sur OSM.
Ce code nécessite un environnement Python complet (Jupyter) — la bibliothèque folium n’est pas disponible dans le navigateur.
import folium
# Créer une carte centrée sur Paris
carte = folium.Map(location=[48.8566, 2.3522], zoom_start=12)
# Ajouter un marqueur
folium.Marker(
location=[48.8566, 2.3522],
popup="Paris",
tooltip="Cliquez ici"
).add_to(carte)
# Sauvegarder la carte
carte.save("ma_carte.html")
La géolocalisation soulève des questions importantes :