Cet outil vous permet, à partir d’un fichier de points que vous avez créé sur Google Earth, de calculer toutes les distances possibles entre tous ces points. Par exemple, si vous avez 28 menhirs ou dolmens dans une zone, cela représente 378 distances possibles. Les déterminer manuellement va vous prendre beaucoup de temps. Mais ici, il suffit de télécharger votre fichier au format « .kmz » et le calcul se fera en quelques instants.
Attention toutefois, ce calcul ne tient pas compte de la différence d’altitude entre vos points, ce qui parfois peut ne pas être négligeable. Vérifiez donc les mesures qui vous intéressent avec Google Earth. Par exemple, entre le menhir de Fohet et le menhir de Beaulieu, mon outil vous donne 19 124 m, ce qui est exact si on ne tient pas compte de la différence d’altitude. En effet, le premier menhir se trouve à 956 m et le second à 330 m. En tenant compte de cela, la distance réelle est de 19 136 mètres ; la différence n’est que de 0,05 %, mais elle peut ne pas être négligeable dans certains cas.

L’outil utilise la formule de Vincenty pour calculer les distances, exactement comme le fait Google Earth.
Importeur de fichier KMZ et calcul de distances (formule de Vincenty)
Distance (m) | Point 1 | Point 2 |
---|
- a, b) => a.distance - b.distance); displayTable(distances); enableCSV(distances); }); function vincentyDistance(p1, p2) { const a = 6378137.0; const f = 1 / 298.257223563; const b = a * (1 - f); const φ1 = p1.lat * Math.PI / 180; const φ2 = p2.lat * Math.PI / 180; const λ1 = p1.lng * Math.PI / 180; const λ2 = p2.lng * Math.PI / 180; const L = λ2 - λ1; const U1 = Math.atan((1 - f) * Math.tan(φ1[↩]
- 1 - f) * Math.tan(φ2[↩]
- cosU2 * sinλ) ** 2 + (cosU1 * sinU2 - sinU1 * cosU2 * cosλ) ** 2); if (sinSigma === 0) return 0; cosSigma = sinU1 * sinU2 + cosU1 * cosU2 * cosλ; sigma = Math.atan2(sinSigma, cosSigma); sinAlpha = cosU1 * cosU2 * sinλ / sinSigma; cos2SigmaM = cosSigma - 2 * sinU1 * sinU2 / (1 - sinAlpha ** 2); const C = f / 16 * (1 - sinAlpha ** 2) * (4 + f * (4 - 3 * (1 - sinAlpha ** 2[↩]
Soyez le premier à commenter