lla2flat

Estimate flat Earth position from geodetic latitude, longitude, and altitude

Syntax

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

Description

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

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

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

Input Arguments

lla

m-by-3 array of geodetic coordinates (latitude, longitude, and altitude), 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.

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 the 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

flatearth_pos

Flat Earth position coordinates, in meters.

Examples

Estimate coordinates at latitude, longitude, and altitude:

p = lla2flat( [ 0.1 44.95 1000 ], [0 45], 5, -100 )

p =

  1.0e+004 *

    1.0530   -0.6509   -0.0900

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

p = lla2flat( [ 0.1 44.95 1000; -0.05 45.3 2000 ], [0 45], 5, -100, 'WGS84' )

p =

  1.0e+004 *

    1.0530   -0.6509   -0.0900
   -0.2597    3.3751   -0.1900

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

f = 1/196.877360;
Re = 3397000;
p = lla2flat( [ 0.1 44.95 1000; -0.05 45.3 2000 ], [0 45], 5, -100,  f, Re )

p =

  1.0e+004 *

    0.5588   -0.3465   -0.0900
   -0.1373    1.7975   -0.1900

More About

expand all

Tips

  • This function assumes that the flight path and bank angle are zero.

  • This function assumes that the flat Earth z-axis is normal to the Earth only at the initial geodetic latitude and longitude. This function has higher accuracy over small distances from the initial geodetic latitude and longitude. It also has higher accuracy at distances closer to the equator. The function calculates a longitude with higher accuracy when the variations in latitude are smaller. Additionally, longitude is singular at the poles.

Algorithms

The estimation begins by finding the small changes in latitude and longitude from the output latitude and longitude minus the initial latitude and longitude.

dμ=μμ0dι=ιι0

To convert geodetic latitude and longitude to the North and East coordinates, 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:

RN=R1(2ff2)sin2μ0RM=RN1(2ff2)1(2ff2)sin2μ0

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

Small changes in the North (dN) and East (dE) positions are approximated from small changes in the North and East positions by

dN=dμatan(1RM)dE=dιatan(1RNcosμ0)

With the conversion of the North and East coordinates to the flat Earth x and y coordinates, the transformation has the form of

[pxpy]=[cosψsinψsinψcosψ][NE]

where

(ψ)

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

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

pz=hhref

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?