Function File: lat, lon, alt = ned2geodetic (n, e, d, lat0, lon0, alt0)
Function File: lat, lon, alt = ned2geodetic (n, e, d, lat0, lon0, alt0, spheroid)
Function File: lat, lon, alt = ned2geodetic (n, e, d, lat0, lon0, alt0, spheroid, angleUnit)

Convert local cartesian North, East, Down (NED) coordinates to geodetic coordinates.

Inputs:

  • n, e, d: look angles and distance to target point(s) (angle, angle, length). Can be scalars but vectors and nD arrays values are accepted if they have equal dimensions.
  • lat0, lon0, alt0: ellipsoid geodetic coordinates of observer location (angle, angle, length). In case of multiple observer locations their numbers and dimensions should match those of the target points (i.e., one observer location for each target point). The length units of target point(s) and observer location(s) should match.
  • spheroid: referenceEllipsoid parameter struct; default is wgs84. A string value or numerical EPSG code describing the spheroid is also accepted.
  • angleUnit: string for angular units (’degrees’ or ’radians’, case-insensitive, just the first charachter will do). Default is ’degrees’.

Outputs:

  • lat, lon, alt: geodetic coordinates of target points (angle, angle, length).

    Note: alt (height) is relative to the reference ellipsoid, not the geoid. Use e.g., egm96geoid to compute the height difference between the geoid and the WGS84 reference ellipsoid.

Lengh units are those of the invoked reference ellipsoid (see below).

ned2geodetic.m is a wrapper for ned2ecef.m and ecef2geodetic.m

Examples

[lat, lon, alt] = ned2geodetic (286.84, 186.28, -939.69, 42, -82, 200)
lat =  42.003
lon = -81.998
alt =  1139.7

With radians:

[lat, lon, alt] = ned2geodetic (286.84, 186.28, -939.69, pi/4, -pi/2, 200, ...
                                "wgs84", "radians")
lat =  0.78544
lon = -1.5708
alt =  1139.7

See also: geodetic2ned, ned2aer, ned2ecef, ned2ecefv, referenceEllipsoid.

Package: mapping