Main Content

lla2ecef

Convert geodetic coordinates to Earth-centered Earth-fixed (ECEF) coordinates

Description

ecef = lla2ecef(lla) converts an m-by-3 array of geodetic coordinates (latitude, longitude and altitude), lla, to an m-by-3 array of ECEF coordinates, ecef. Units are in meters.

ecef = lla2ecef(lla,model) converts the coordinates for a specific ellipsoid planet.

ecef = lla2ecef(lla,f,Re) converts the coordinates for a custom ellipsoid planet defined by flattening, f, and the equatorial radius, Re, in meters.

example

Examples

collapse all

This example shows how to determine ECEF coordinates at a latitude, longitude, and altitude.

p = lla2ecef([0 45 1000])
p = 1×3
106 ×

    4.5107    4.5107         0

This example shows how to determine ECEF coordinates at multiple latitudes, longitudes, and altitudes, specifying WGS84 ellipsoid model.

p = lla2ecef([0 45 1000; 45 90 2000], 'WGS84')
p = 2×3
106 ×

    4.5107    4.5107         0
         0    4.5190    4.4888

This example shows how to determine ECEF coordinates at multiple latitudes, longitudes, and altitudes, specifying the custom ellipsoid model.

f = 1/196.877360;
Re = 3397000;
p = lla2ecef([0 45 1000; 45 90 2000], f, Re)
p = 2×3
106 ×

    2.4027    2.4027         0
         0    2.4096    2.3852

Input Arguments

collapse all

Geodetic coordinates (latitude, longitude and altitude), specified as an m-by-3 array in [degrees degrees meters]. Latitude and longitude values can be any value. However, latitude values of +90 and -90 may return unexpected values because of singularity at the poles. Altitude is above the planetary ellipsoid.

Data Types: double

Ellipsoid planet model, specified as 'WGS84'.

Data Types: char | string

Flattening at each pole, specified as a scalar.

Data Types: double

Equatorial radius, specified as a scalar, in meters.

Data Types: double

Output Arguments

collapse all

ECEF coordinates, returned as an m-by-3 array of ECEF coordinates in meters.

Version History

Introduced in R2006b