Main Content


Transform local east-north-up coordinates to geodetic coordinates



    lla = enu2lla(xyzENU,lla0,method) transforms the local east-north-up (ENU) Cartesian coordinates xyzENU to geodetic coordinates lla. Specify the origin of the local ENU system as the geodetic coordinates lla0.


    • The latitude and longitude values in the geodetic coordinate system use the World Geodetic System of 1984 (WGS84) standard.

    • Specify altitude as height in meters above the WGS84 reference ellipsoid.


    collapse all

    Specify the geodetic coordinates of the local origin in Zermatt, Switzerland.

    lla0 = [46.017 7.750 1673]; % [lat0 lon0 alt0]

    Specify the ENU coordinates of a point of interest, in meters. In this case, the point of interest is the Matterhorn.

    xyzENU = [-7134.8 -4556.3 2852.4]; % [xEast yNorth zUp]

    Transform the local ENU coordinates to geodetic coordinates using flat earth approximation.

    lla = enu2lla(xyzENU,lla0,'flat')
    lla = 1×3
    103 ×
        0.0460    0.0077    4.5254

    Input Arguments

    collapse all

    Local ENU Cartesian coordinates, specified as a three-element row vector or an n-by-3 matrix. n is the number of points to transform. Specify each point in the form [xEast yNorth zUp]. xEast, yNorth, and zUp are the respective x-, y-, and z-coordinates, in meters, of the point in the local ENU system.

    Example: [-7134.8 -4556.3 2852.4]

    Data Types: double

    Origin of the local ENU system in the geodetic coordinates, specified as a three-element row vector or an n-by-3 matrix. n is the number of origin points. Specify each point in the form [lat0 lon0 alt0]. lat0 and lon0 specify the latitude and longitude of the origin, respectively, in degrees. alt0 specifies the altitude of the origin in meters.

    Example: [46.017 7.750 1673]

    Data Types: double

    Transformation method, specified as 'flat' or 'ellipsoid'. This argument specifies whether the function assumes the planet is flat or ellipsoidal.

    The flat Earth transformation method has these limitations:

    • Assumes that the flight path and bank angle are zero.

    • Assumes that the flat Earth z-axis is normal to the Earth at only the initial geodetic latitude and longitude. This method has higher accuracy over small distances from the initial geodetic latitude and longitude, and closer to the equator. The method calculates a longitude with higher accuracy when the variation in latitude is smaller.

    • Latitude values of +90 and -90 degree may return unexpected values because of singularity at the poles.

    Data Types: char | string

    Output Arguments

    collapse all

    Geodetic coordinates, returned as a three-element row vector or an n-by-3 matrix. n is the number of transformed points. Each point is in the form [lat lon alt]. lat and lon specify the latitude and longitude, respectively, in degrees. alt specifies the altitude in meters.

    Data Types: double

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2020b

    See Also