LLA2ECEF - convert latitude, longitude, and altitude to earth-centered, earth-fixed (ECEF) cartesian coordinates
[x,y,z] = lla2ecef(lat,lon,alt)
x = ECEF X-coordinate (m)
y = ECEF Y-coordinate (m)
z = ECEF Z-coordinate (m)
lat = geodetic latitude (radians)
lon = longitude (radians)
alt = height above WGS84 ellipsoid (m)
Notes: This function assumes the WGS84 model. Latitude is customary geodetic (not geocentric).
Source: "Department of Defense World Geodetic System 1984," Page 4-4. National Imagery and Mapping Agency. NIMA TR8350.2
Michael Kleder, July 2005
Michael Kleder (2021). Covert lat, lon, alt to ECEF Cartesian (https://www.mathworks.com/matlabcentral/fileexchange/7942-covert-lat-lon-alt-to-ecef-cartesian), MATLAB Central File Exchange. Retrieved .
@Tim Hollenshade you must use radians, not degrees. then it works :)
For example, the following latitude, longitude coordinate along with a nominal 550m elevation (roughly, Munich Germany)
[x,y,z] = lla2ecef(deg2rad(48.13743), deg2rad(11.57549), 550)
x = 4.1780e+06
y = 8.5575e+05
z = 4.7275e+06
Iam getting the following error
(Too many output arguments). Why is that so ? What should i do to get out from that ?
This function's output does not match the output of the Aerospace Toolbox's 'lla2ecef' function output...
Be careful. Also we are looking at your downloads records.
Both ecef2lla.m and lla2ecef.m are excellent algorithms. I tested these algorithms with the Satellite Tool Kit using LLA data for 8 cities around the world. Lat and long conversions are accurate to at least 4 decimal places. Altitude conversions are accurate to within 0.01 meters. ECEF conversions are generally accurate to within 0.03 meters.
Thanks for making these available!
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!