Convert direction cosine matrix to geodetic latitude and longitude
[lat lon] = dcm2latlon(n)
[lat lon] = dcm2latlon(n,action)
[lat lon] = dcm2latlon(n,action,tolerance)
[lat lon] = dcm2latlon(n)
calculates
the geodetic latitude and longitude, lat
and lon
,
for a given direction cosine matrix, n
. n
is
a 3-by-3-by-m
matrix containing m
orthogonal
direction cosine matrices. lat
is an m
array
of geodetic latitudes. lon
is an m
array
of longitudes. n
performs the coordinate transformation
of a vector in Earth-centered Earth-fixed (ECEF) axes into a vector
in north-east-down (NED) axes. Geodetic latitudes and longitudes are
output in degrees.
[lat lon] = dcm2latlon(n,action)
performs
action
if the direction cosine matrix is invalid
(not orthogonal).
Warning — Displays warning and indicates that the direction cosine matrix is invalid.
Error — Displays error and indicates that the direction cosine matrix is invalid.
None — Does not display warning or error (default).
[lat lon] = dcm2latlon(n,action,tolerance)
uses a
tolerance
level to evaluate if the direction
cosine matrix, n
, is valid (orthogonal).
tolerance
is a scalar whose default is
eps(2)
(4.4409e-16
). The
function considers the direction cosine matrix valid if these conditions are
true:
The transpose of the direction cosine matrix times itself
equals 1
within the specified tolerance
(transpose(n)*n ==
1±tolerance
)
The determinant of the direction cosine matrix equals
1
within the specified tolerance
(det(n) == 1±tolerance
).
Determine the geodetic latitude and longitude from direction cosine matrix:
dcm = [ 0.3747 0.5997 0.7071; ... 0.8480 -0.5299 0; ... 0.3747 0.5997 -0.7071]; [lat, lon] = dcm2latlon(dcm) lat = 44.9995 lon = -122.0005
Determine the geodetic latitude and longitude from multiple direction cosine matrices:
dcm = [ 0.3747 0.5997 0.7071; ... 0.8480 -0.5299 0; ... 0.3747 0.5997 -0.7071]; dcm(:,:,2) = [-0.0531 0.6064 0.7934; ... 0.9962 0.0872 0; ... -0.0691 0.7903 -0.6088]; [lat, lon] = dcm2latlon(dcm) lat = 44.9995 37.5028 lon = -122.0005 -84.9975
Determine the geodetic latitude and longitude from multiple direction cosine matrices validated within tolerance:
dcm = [ 0.3747 0.5997 0.7071; ... 0.8480 -0.5299 0; ... 0.3747 0.5997 -0.7071]; dcm(:,:,2) = [-0.0531 0.6064 0.7934; ... 0.9962 0.0872 0; ... -0.0691 0.7903 -0.6088]; [lat, lon] = dcm2latlon(dcm,'Warning',0.1) lat = 44.9995 37.5028 lon = -122.0005 -84.9975