Main Content

geodetic2ned

Transform geodetic coordinates to local north-east-down

Description

[xNorth,yEast,zDown] = geodetic2ned(lat,lon,h,lat0,lon0,h0,spheroid) transforms the geodetic coordinates specified by lat, lon, and h 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.

example

[___] = geodetic2ned(___,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 their geodetic coordinates.

First, specify the reference spheroid as WGS 84. For more information about WGS 84, see Comparison of Reference Spheroids. The units for the ellipsoidal height and NED coordinates must match the units specified by the LengthUnit property of the reference spheroid. The default length unit for the reference spheroid created by wgs84Ellipsoid is 'meter'.

wgs84 = wgs84Ellipsoid;

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

lat0 = 44.532;
lon0 = -72.782;
h0 = 1699;

Specify the geodetic coordinates of the point of interest. In this example, the point of interest is Mount Mansfield. Specify h as ellipsoidal height in meters.

lat = 44.544;
lon = -72.814;
h = 1340;

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. View the results in standard notation by specifying the display format as shortG.

format shortG
[xNorth,yEast,zDown] = geodetic2ned(lat,lon,h,lat0,lon0,h0,wgs84)
xNorth = 
       1334.3

yEast = 
      -2543.6

zDown = 
       359.65

Reverse the transformation using the ned2geodetic function.

[lat,lon,h] = ned2geodetic(xNorth,yEast,zDown,lat0,lon0,h0,wgs84)
lat = 
       44.544

lon = 
      -72.814

h = 
         1340

Input Arguments

collapse all

Geodetic latitude of one or more points, specified as a scalar, vector, matrix, or N-D array. Specify the values in degrees. To use values in radians, specify the angleUnit argument as 'radians'.

Data Types: single | double

Geodetic longitude of one or more points, specified as a scalar, vector, matrix, or N-D array. Specify the values in degrees. To use values in radians, specify the angleUnit argument as 'radians'.

Data Types: single | double

Ellipsoidal height of one or more points, specified as a scalar, vector, matrix, or N-D array. 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

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'.

Extended Capabilities

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

Version History

Introduced in R2012b

expand all