基于matlab的空间大地坐标系与空间直角坐标系互换

基于matlab的空间大地坐标系与空间直角坐标系互换

为了达到空间大地坐标系与空间直角坐标系互换的问题matlab界面设计如下:

分两步分设两个pushbutton进行: 1.BHL→XYZ 22由 222222 e?(a?b)/a

?X??(N?H)cosBcosL?

aa???? N?X??Y???(N?H)cosBsinL??

?Z??((1?e2)N?H)sinB?1?e2sin2B1?f(2?f)sin2B ????

将BHL的值由edittext传入到表达式中,经计算再由edittext传出。

2.XYZ→BHL

f?(a?b)/ae?2f?f1?e?(1?f)∵ X2?Y2H??N cosB

Z B?arctan X2?Y2

YL?arctan

X

又由于

22

由此B由迭代而来。 具体方法为::

N??2?1?e?N?H???1N?a1?esinB?a1?f(2?f)sin2B

由此进行迭代,得到正确的B即可。 补充说明:

1.为了使其在各个空间直角坐标系间转换,设立了

单选按钮,可实现多种坐标系的转换。

2.在转换过程中需要注意度分秒的转换,及matlab中度分秒的表达形式。 具体实现过程: 度=度+分/60+秒/3600

(即最后实现的BHL的输入给函数的值,以便输出XYZ) 程序运行:

1.BHL→XYZ

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4