blob: c84ef174953e16c276bd4f1b00f03e1dd331c806 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
Finish libtellurian_vincenty_inverse__
Document the details of NaN returns in libtellurian_distance.3
Document what happens to the azimuths when the starting point is a pole.
libtellurian_coarse_distance can be simplified to (d/2R)²
which would be an good alternative for simply sorting distances,
and it would still be easy to afterwards convert the values for
a selection of them into approximate distances.
Add inverse function of libtellurian_effective_gravity_radians
Add inverse function of libtellurian_elevated_gravity_radians
And functions for converting between coordinate systems
Geodetic (h, φ, λ) : Angle between normal and equatorial plane
Inverse of Cartesian (see Cartesian for definition of N)
Iteration is required unless φ or h is known
λ = atan2(Y, X)
h = p / cos φ - N
φ = tan⁻¹(Zp⁻¹/(1 - e²N/(N + h)))
where p = √(X² + Y²)
https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_ECEF_to_geodetic_coordinates
When h=0
λ = atan2(Y, X)
φ = tan⁻¹(Zp⁻¹/(1 - e²))
where p = √(X² + Y²)
wouldn't it easier to convert to geocentric intermittently
Geocentric ϕ : Angle from centre of earth
ϕ = tan⁻¹((1 - e²) tan φ)
Geometric : Arc length = geodetic
Parametric/reduced β : spherical angle resulting in same distance from polar axis as
β = tan⁻¹((1 - f) tan φ)
Ellipsoidal-harmonic
TODO
Rectifying μ
μ = πm(φ) / 2m(½π), where m(u) = a(1 - e²) ∫{0→u} √(1 - e² sin² v)⁻³ dv
Authalic ξ
ξ = sin⁻¹(q(φ) / q(½π)), where q(u) = ((1 - e²) sin u)/(1 - e² sin u) + (1 - e²) e⁻¹ tanh⁻¹ (e sin u)
q(½π) = 1 + (1 - e²) e⁻¹ tanh⁻¹ e
Conformal χ
χ = tan⁻¹ (sinh [sinh⁻¹ tan φ - e tanh⁻¹ (e sin φ)])
Isometric ψ
ψ = sinh⁻¹ tan φ - e than⁻¹ (e sin φ)
Astronomical Φ : angle between equatorial plane and the true vertical direction
the true vertical direction, is the direction of gravity which is affect
byu the centrifugal acceleration in addition to the gravitational acceleration.
Cartesian (geocentric Cartesian)
X = (N + h) cos φ cos λ
Y = (N + h) cos φ sin λ
Z = (Nb²/a² + h) sin φ
where
N = a²/√(a² cos² φ + b² sin² φ)
|