Aquest fitxer calcula la **distància geodèsica inversa** entre dos punts sobre l'el·lipsoide WGS‑84 i mostra **tots** els paràmetres intermedi i com s'obtenen (incloent correccions angulars).
Origen (Les Sables‑d'Olonne): 46.494953° N, −1.792091°
Arribada (Saint‑François): 16.252360° N, −61.273320°
| Valor | Unitat |
|---|---|
| φ₁ (rad) | 0.8114900154 |
| φ₂ (rad) | 0.2836571932 |
| Δλ = L (rad) | −1.03814328918 |
a = 6378137.0 m f = 1/298.257223563 b = a*(1-f) = 6356752.314245179 m
(a = semieix major, b = semieix menor, f = aplatament)
Per cada latitud: tan U = (1−f)·tan φ. Aquesta transformació "aplana" la latitud sobre l'el·lipsoide per poder treballar amb trigonometria similar a la esfera.
| Variable | Fórmula | Valor |
|---|---|---|
| U₁ | atan((1−f)·tan φ₁) | 0.8046711232 rad |
| U₂ | atan((1−f)·tan φ₂) | 0.2798844412 rad |
Vincenty usa una fòrmula iterativa per trobar l'angle λ (la diferència de longitud corregida). Comencem amb λ₀ = L i calculem elements auxiliars, després actualitzem λ fins a convergir.
sinσ = sqrt((cosU₂·sinλ)² + (cosU₁·sinU₂ − sinU₁·cosU₂·cosλ)²)
cosσ = sinU₁·sinU₂ + cosU₁·cosU₂·cosλ
σ = atan2(sinσ, cosσ)
sinα = (cosU₁·cosU₂·sinλ) / sinσ
cos²α = 1 − sin²α
cos2σ_m = cosσ − 2·sinU₁·sinU₂ / cos²α
C = f/16·cos²α·(4 + f·(4 − 3·cos²α))
λ_{new} = L + (1−C)·f·sinα·(σ + C·sinσ·(cos2σ_m + C·cosσ(−1 + 2·cos2σ_m²)))
Atenció: on apareixen divisions per sinσ o cos²α cal tractar casos especials (p. ej. punts antipòdics o equatorials exactes).
Aquí tens els primers passos fins convergència (tolerància 1e‑12 rad):
| Iter. | λ (rad) | Delta |
|---|---|---|
| 1 | −1.0404171135144606 | 0.0022738243344606612 |
| 2 | −1.0404214142016075 | 0.000004300687146852056 |
| 3 | −1.0404214223311066 | 8.12949907391669e-09 |
| 4 | −1.0404214223464736 | 1.5367040973046642e-11 |
| 5 | −1.0404214223465027 | 2.90878432451791e-14 |
Convergència aconseguida en 5 iteracions per aquest exemple.
Després de la convergència (λ final = −1.0404214223465027), calculem:
| Quantitat | Fórmula / explicació | Valor |
|---|---|---|
| sinσ | sqrt((cosU₂·sinλ)² + (cosU₁·sinU₂ − sinU₁·cosU₂·cosλ)²) | 0.8490818742 |
| cosσ | sinU₁·sinU₂ + cosU₁·cosU₂·cosλ | 0.5282612714 |
| σ | atan2(sinσ, cosσ) — longitud central reduïda | 1.01424484398 rad |
| sinα | (cosU₁·cosU₂·sinλ)/sinσ — sin del rumb | −0.6823541685 |
| cos²α | 1 − sin²α | 0.5343927888 |
| cos2σₘ | cosσ − (2·sinU₁·sinU₂)/cos²α — mitjana angular | −0.2167434823 |
Notes sobre signes: sinα pot ser negatiu; el signe determina la direcció del rumb. Per obtenir el rumb inicial en graus (0…360°) cal usar atan2 i normalitzar.
Aquestes quantitats ajusten la distància per l’aplanament de l’el·lipsoide.
| Fórmula | Valor |
|---|---|
| u² = cos²α · (a² − b²) / b² | 0.003601538459174671 |
| A = 1 + u²/16384·(4096 + u²(−768 + u²(320 − 175u²))) | 1.0008997775060744 |
| B = u²/1024·(256 + u²(−128 + u²(74 − 47u²))) | 0.000898766598111629 |
| Δσ = B·sinσ·[cos2σₘ + B/4·(cosσ(−1 + 2cos2σₘ²) − B/6·cos2σₘ(−3 + 4sin²σ)(−3 + 4cos2σₘ²))] | −0.00016548474700496725 |
Observació: Δσ pot ser negatiu (petits ajustos cap amunt o avall depenent de la geometria); serveix per corregir la longitud central σ abans de multiplicar pels semieixos.
Fórmula final:
s = b · A · (σ − Δσ)
| Resultat | Valor |
|---|---|
| σ − Δσ | 1.0144103287315907 rad |
| s (metres) | 6,388,165.05 m |
| s (km) | 6,388.16505 km |
| s (NM) | (s/1852) = 3449.93 NM |
Rumb inicial (α₁): atan2(...) → 259.78° (des de l'origen cap a l'arribada)
Rumb final (α₂): 225.23° (al arribar; apuntant en sentit oposat del geodèsic)
sinα és la component transversal del vector geodèsic. cos²α mesura quant de "tall" té la trajectòria respecte als meridians i entra en fórmules de correcció perquè la curvatura varia amb la latitud.En resum: la iteració sobre λ converteix la diferència de longitud en la seva versió "geodèsica". A continuació, trigonometria directa sobre U retorna una σ que s'ajusta amb Δσ (que depèn de l'aplanament) i finalment es multiplica per b·A per obtenir metres.
| Symbol | Valor (aprox.) |
|---|---|
| a | 6,378,137.000 m |
| b | 6,356,752.314245179 m |
| f | 1/298.257223563 |
| U₁ | 0.8046711232 rad |
| U₂ | 0.2798844412 rad |
| λ (final) | −1.0404214223465027 rad |
| σ | 1.0142448439845857 rad |
| Δσ | −0.00016548474700496725 rad |
| A | 1.0008997775060744 |
| B | 0.000898766598111629 |
| u² | 0.003601538459174671 |
| s | 6,388,165.05 m (≈ 6,388.17 km) |
| rumb inicial α₁ | 259.78° |
| rumb final α₂ | 225.23° |
deg=rad*180/π i normalitzar amb 360°.Puc: generar una versió imprimible, afegir gràfics (mapa + geodèsica), exportar un CSV amb els passos d'iteració, o crear una implementació en JavaScript que calculi tot automàticament dins d'aquesta pàgina.