eci2lla altitude error?

5 views (last 30 days)
Derrick Early
Derrick Early on 7 Nov 2023
Commented: Les Beckham on 7 Nov 2023
In the following example,
lla = eci2lla([-6.07 -1.28 0.66]*1e6,[2010 1 17 10 20 36])
lla = 1×3
1.0e+05 * 0.0001 -0.0008 -1.3940
How do you end up with a negative altitude?
The altitude should be approximately 312000 m.
  4 Comments
Dyuman Joshi
Dyuman Joshi on 7 Nov 2023
"The example should yield a positive altitude."
Why? Did you calculate the values by hand and compare?
Derrick Early
Derrick Early on 7 Nov 2023
Oops. I made an error on computing the vector normal. I used
sqrt(sum([-6.07 -1.28 0.66]*1e6).^2)
Instead of
sqrt(sum(([-6.07 -1.28 0.66]*1e6).^2))

Sign in to comment.

Accepted Answer

Les Beckham
Les Beckham on 7 Nov 2023
Edited: Les Beckham on 7 Nov 2023
lla = eci2lla([-6.07 -1.28 0.66]*1e6,[2010 1 17 10 20 36]);
lat = lla(1)
lat = 6.0574
lon = lla(2)
lon = -79.8476
So, this point is slightly above the Equator (by about 6 degrees)
dist = vecnorm([-6.07 -1.28 0.66]*1e6) % distance of this point from the center of the Earth
dist = 6.2385e+06
equatorialRadius = 6378e3;
dist - equatorialRadius
ans = -1.3950e+05
alt = lla(3)
alt = -1.3940e+05
So this point is beneath the surface of the Earth by about 140 kilometers (negative altitude).
  2 Comments
Derrick Early
Derrick Early on 7 Nov 2023
Thank you! I messed up on computing the vector magnitude.
Les Beckham
Les Beckham on 7 Nov 2023
You are quite welcome.

Sign in to comment.

More Answers (0)

Categories

Find more on Geodesy and Mapping in Help Center and File Exchange

Tags

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!