21 lines
714 B
Matlab
21 lines
714 B
Matlab
%% WGS84直角坐标系转经纬度
|
||
% 东经正数,西经为负数
|
||
% 北纬为正数,南纬为负数
|
||
% 输入参数1:纬度;输入参数2:经度;输入参数3:高度
|
||
% 经纬度单位:度;高度单位:米
|
||
function [latitude,longitude,height]=XYZ2LLA(x,y,z)
|
||
|
||
a = 6378137.0;
|
||
b = 6356752.31424518;
|
||
c = sqrt(((a * a) - (b * b)) / (a * a));
|
||
d = sqrt(((a * a) - (b * b)) / (b * b));
|
||
p = sqrt((x * x) + (y * y));
|
||
q = atan((z * a)/ (p * b));
|
||
longitude = atan(y/x);
|
||
latitude = atan((z + (d * d) * b * sin(q)^3)/(p - (c * c) * a * cos(q)^3));
|
||
N = a / sqrt(1 - ((c * c) * sin(latitude)^2));
|
||
height = (p / cos(latitude)) - N;
|
||
longitude = longitude * 180.0 / pi+180;
|
||
latitude = latitude * 180.0 / pi;
|
||
end
|
||
|