Main Content

# ecef2ned

Transform geocentric Earth-centered Earth-fixed coordinates to local north-east-down

## Syntax

``````[xNorth,yEast,zDown] = ecef2ned(X,Y,Z,lat0,lon0,h0,spheroid)``````
``[___] = ecef2ned(___,angleUnit)``

## Description

example

``````[xNorth,yEast,zDown] = ecef2ned(X,Y,Z,lat0,lon0,h0,spheroid)``` transforms the geocentric Earth-centered Earth-fixed (ECEF) Cartesian coordinates specified by `X`, `Y`, and `Z` to the local north-east-down (NED) Cartesian coordinates specified by `xNorth`, `yEast`, and `zDown`. Specify the origin of the local NED system with the geodetic coordinates `lat0`, `lon0`, and `h0`. Each coordinate input argument must match the others in size or be scalar. Specify `spheroid` as the reference spheroid for the geodetic coordinates.```
````[___] = ecef2ned(___,angleUnit)` specifies the units for latitude and longitude. Specify `angleUnit` as `'degrees'` (the default) or `'radians'`.```

## Examples

collapse all

Find the NED coordinates of Mount Mansfield with respect to a nearby aircraft, using the ECEF coordinates of Mount Mansfield and the geodetic coordinates of the aircraft.

First, specify the reference spheroid as WGS84 with length units measured in kilometers. For more information about WGS84, see Comparison of Reference Spheroids. The units for the ellipsoidal height, ECEF coordinates, and NED coordinates must match the units specified by the `LengthUnit` property of the reference spheroid.

`wgs84 = wgs84Ellipsoid('kilometer');`

Specify the geodetic coordinates of the local origin. In this example, the local origin is the aircraft. Specify `h0` as ellipsoidal height in kilometers.

```lat0 = 44.532; lon0 = -72.782; h0 = 1.699;```

Specify the ECEF coordinates of the point of interest. In this example, the point of interest is Mount Mansfield.

```x = 1345.660; y = -4350.891; z = 4452.314;```

Then, calculate the NED coordinates of Mount Mansfield with respect to the aircraft. Since the ellipsoidal height of the aircraft is greater than the height of Mount Mansfield, a passenger needs to look down to see the mountaintop. The z-axis of an NED coordinate system points down. Thus, the value of `zDown` is positive.

`[xNorth,yEast,zDown] = ecef2ned(x,y,z,lat0,lon0,h0,wgs84)`
```xNorth = 1.3343 ```
```yEast = -2.5444 ```
```zDown = 0.3600 ```

Reverse the transformation using the `ned2ecef` function. In this example, the results display in scientific notation.

`[x,y,z] = ned2ecef(xNorth,yEast,zDown,lat0,lon0,h0,wgs84)`
```x = 1.3457e+03 ```
```y = -4.3509e+03 ```
```z = 4.4523e+03 ```

## Input Arguments

collapse all

ECEF x-coordinates of one or more points in the geocentric ECEF system, specified as a scalar, vector, matrix, or N-D array. Specify values in units that match the `LengthUnit` property of the `spheroid` argument. For example, the default length unit for the reference ellipsoid created by `wgs84Ellipsoid` is `'meter'`.

Data Types: `single` | `double`

ECEF y-coordinates of one or more points in the geocentric ECEF system, specified as a scalar, vector, matrix, or N-D array. Specify values in units that match the `LengthUnit` property of the `spheroid` argument. For example, the default length unit for the reference ellipsoid created by `wgs84Ellipsoid` is `'meter'`.

Data Types: `single` | `double`

ECEF z-coordinates of one or more points in the geocentric ECEF system, specified as a scalar, vector, matrix, or N-D array. Specify values in units that match the `LengthUnit` property of the `spheroid` argument. For example, the default length unit for the reference ellipsoid created by `wgs84Ellipsoid` is `'meter'`.

Data Types: `single` | `double`

Geodetic latitude of the local origin, specified as a scalar, vector, matrix, or N-D array. The local origin can refer to one point or a series of points (for example, a moving platform). Specify the values in degrees. To use values in radians, specify the `angleUnit` argument as `'radians'`.

Data Types: `single` | `double`

Geodetic longitude of the local origin, specified as a scalar, vector, matrix, or N-D array. The local origin can refer to one point or a series of points (for example, a moving platform). Specify the values in degrees. To use values in radians, specify the `angleUnit` argument as `'radians'`.

Data Types: `single` | `double`

Ellipsoidal height of the local origin, specified as a scalar, vector, matrix, or N-D array. The local origin can refer to one point or a series of points (for example, a moving platform). Specify values in units that match the `LengthUnit` property of the `spheroid` object. For example, the default length unit for the reference ellipsoid created by `wgs84Ellipsoid` is `'meter'`.

For more information about ellipsoidal height, see Find Ellipsoidal Height from Orthometric Height.

Data Types: `single` | `double`

Reference spheroid, specified as a `referenceEllipsoid` object, `oblateSpheroid` object, or `referenceSphere` object. The term reference spheroid is used synonymously with reference ellipsoid. To create a reference spheroid, use the creation function for the object. To specify the reference ellipsoid for WGS84, use the `wgs84Ellipsoid` function.

For more information about reference spheroids, see Comparison of Reference Spheroids.

Example: `spheroid = referenceEllipsoid('GRS 80');`

Angle units, specified as `'degrees'` (the default) or `'radians'`.

## Output Arguments

collapse all

NED x-coordinates of one or more points in the local NED system, returned as a scalar, vector, matrix, or N-D array. Units are specified by the `LengthUnit` property of the `spheroid` argument. For example, the default length unit for the reference ellipsoid created by `wgs84Ellipsoid` is `'meter'`.

NED y-coordinates of one or more points in the local NED system, returned as a scalar, vector, matrix, or N-D array. Units are specified by the `LengthUnit` property of the `spheroid` argument. For example, the default length unit for the reference ellipsoid created by `wgs84Ellipsoid` is `'meter'`.

NED z-coordinates of one or more points in the local NED system, returned as a scalar, vector, matrix, or N-D array. Units are specified by the `LengthUnit` property of the `spheroid` argument. For example, the default length unit for the reference ellipsoid created by `wgs84Ellipsoid` is `'meter'`.

## Tips

To transform vectors instead of coordinate locations, use the `ecef2nedv` function.

## Version History

Introduced in R2012b

expand all