Documentation Center

  • Trial Software
  • Product Updates

flat2lla

Estimate array of geodetic latitude, longitude, and altitude coordinates from flat Earth position

Syntax

lla = flat2lla(flatearth_pos, llo, psio, href)
lla = flat2lla(flatearth_pos, llo, psio, href, ellipsoidModel)
lla = flat2lla(flatearth_pos, llo, psio, href, flattening, equatorialRadius)

Description

lla = flat2lla(flatearth_pos, llo, psio, href) estimates an array of geodetic coordinates, lla, from an array of flat Earth coordinates, flatearth_pos. This function estimates the lla value with respect to a reference location that llo, psio, and href define.

lla = flat2lla(flatearth_pos, llo, psio, href, ellipsoidModel) estimates the coordinates for a specific ellipsoid planet.

lla = flat2lla(flatearth_pos, llo, psio, href, flattening, equatorialRadius) estimates the coordinates for a custom ellipsoid planet defined by flattening and equatorialRadius.

Input Arguments

flatearth_pos

Flat Earth position coordinates, in meters.

llo

Reference location, in degrees, of latitude and longitude, for the origin of the estimation and the origin of the flat Earth coordinate system.

psio

Angular direction of flat Earth x-axis (degrees clockwise from north), which is the angle in degrees used for converting flat Earth x and y coordinates to North and East coordinates.

href

Reference height from the surface of the Earth to the flat Earth frame with regard to the flat Earth frame, in meters.

ellipsoidModel

String that specifies the specific ellipsoid planet model. This function supports only 'WGS84'.

Default: WGS84

flattening

Custom ellipsoid planet defined by flattening.

equatorialRadius

Planetary equatorial radius, in meters.

Output Arguments

lla

m-by-3 array of geodetic coordinates (latitude, longitude, and altitude), in [degrees, degrees, meters].

Examples

Estimate latitude, longitude, and altitude at a specified coordinate:

lla = flat2lla( [ 4731 4511 120 ], [0 45], 5, -100)

lla =

    0.0391   45.0441  -20.0000
 

Estimate latitudes, longitudes, and altitudes at multiple coordinates, specifying the WGS84 ellipsoid model:

lla = flat2lla( [ 4731 4511 120; 0 5074 4498 ], [0 45], 5, -100, 'WGS84' )

lla =

  1.0e+003 *

    0.0000    0.0450   -0.0200
   -0.0000    0.0450   -4.3980
 

Estimate latitudes, longitudes, and altitudes at multiple coordinates, specifying a custom ellipsoid model:

f = 1/196.877360;
Re = 3397000;
lla = flat2lla( [ 4731 4511 120; 0 5074 4498 ], [0 45], 5, -100,  f, Re )

lla =

  1.0e+003 *

    0.0001    0.0451   -0.0200
   -0.0000    0.0451   -4.3980

More About

expand all

Algorithms

The estimation begins by transforming the flat Earth x and y coordinates to North and East coordinates. The transformation has the form of

where is the angle in degrees clockwise between the x-axis and north.

To convert the North and East coordinates to geodetic latitude and longitude, the estimation uses the radius of curvature in the prime vertical (RN) and the radius of curvature in the meridian (RM). (RN) and (RM) are defined by the following relationships:

where (R) is the equatorial radius of the planet and is the flattening of the planet.

Small changes in the latitude and longitude are approximated from small changes in the North and East positions by

The output latitude and longitude are the initial latitude and longitude plus the small changes in latitude and longitude.

The altitude is the negative flat Earth z-axis value minus the reference height (href).

References

Etkin, B., Dynamics of Atmospheric Flight. NewYork: John Wiley & Sons, 1972.

Stevens, B. L., and F. L. Lewis, Aircraft Control and Simulation, 2nd ed. New York: John Wiley & Sons, 2003.

See Also

Was this topic helpful?