Le 09/08/2007 à 18h55
Modifié le 09/08/2007 à 19h00
Bonjour Mia,
Bienvenue à toi, content de voir une toute nouvelle membre s'intéresser à la géolocalisation
Pour ton problème, d'abord il faut savoir si tes points sont très éloignés (par rapport à la dimension de la Terre) ou non : si la distance est inférieure à ~1 000 km (tous les 2 en France par exemple) il suffit d'interpoler linéairement sur chacune des coordonnées géographiques (latitude et longitude).
Sinon, il faudrait commencer par définir ce que tu appelle une 'ligne droite' sur une sphère : l'orthodromie (arc de grand cercle : plus courte distance), la loxodromie (cap constant : même angle avec tous les méridiens, ce que l'on suit naturellement avec une boussole) ou autre ? Et cela demanderait de toute façon de lourds calculs trigonométriques
Ensuite, utilises-tu Google Maps comme dit dans le titre (site
www accessible avec tout navigateur) ou Google Earth comme dit dans le texte (logiciel à installer, mais plus complet) ?
Le premier est naturellement en degrés décimaux, ce qui facilite les calculs, le deuxième est par défaut en degrés sexagésimaux (degrés-minutes-secondes) mais peut être configuré en degrés décimaux (Tools/Options/View : cocher Lat/Lon "Degrees" et non "Degrees, Minutes, Seconds"). On est alors ramené au même cas.
Quand tu as les coordonnées de tes 2 points en degrés décimaux, il te suffit de soustraire les latitudes (DX) et les longitudes (DY) puis de diviser les valeurs obtenues par la nombre d'intervalles que tu désires : tu as alors les dx et dy de chaque segment, à ajouter aux coordonnées du premier point.
Par exemple :
Paris tour Eiffel : 48.8583°N 2.2945°E
Mairie de St-Etienne : 45.4398°N 4.3874°E
DX = 48.8583-45.4398 = 3.4185°
DY = 2.2945 4.3874 = -2.0929°
Si tu veux faire 10 segments, tu auras ainsi la longueur de chaque segment:
dx = DX/10 = 0.34185°
dy = DY/10 = -0.20929°
Le premier point sera à :
45.4398+0.34185=45.78165°N
4.3874-0.20929= 4.17811°E
etc...