File Exchange

image thumbnail

Covert lat, lon, alt to ECEF Cartesian

version (671 Bytes) by Michael Kleder
Convert latitude, longitude,altitude to earth-centered, earth-fixed (ECEF) cartesian coordinate.


Updated 01 Jul 2005

No License

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

Cite As

Michael Kleder (2020). Covert lat, lon, alt to ECEF Cartesian (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (10)

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)
... returns
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...



erwin junaidi


King Dong

P. McNamara

Be careful. Also we are looking at your downloads records.

KiRyong Kang

Jim Gottwald

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!

MATLAB Release Compatibility
Created with R14SP1
Compatible with any release
Platform Compatibility
Windows macOS Linux