第5节 程序实现
推荐给好友
打印
加入收藏
更新于2008-06-13 22:49:17

本程序的实现,采用Visual C++编程,实现了用户与程序之间的对话,比较简明易懂,即使在不配备说明书的情况下,用户也可以很快学会使用本可执行文件。

5.1 坐标转换功能

第2.2节坐标变换,给出了地球上任意一点的空间直角坐标(X,Y,Z)和地理坐标(φ,λ,H)之间的相互换算公式:


根据此公式,通过Visual C++编程,可实现坐标转换的目的,当用户点击菜单“坐标变换”时,弹出对话窗,如图5.1所示。


图5.1


用户在左边输入某地的地理坐标,输入无误后,点击OK键,在对话框右边,自动显示出此点的空间直角坐标。如欲进行第二次转换,则直接在左边重新填写,然后点击OK键即可。注意,本程序默认北纬为正,南纬为负;东经为正,西经为负。当输入的纬度不再[-90,+90]内时,程序不进行转换。因为经度比较特殊,具有一定的周期性,所以比如西经30度,当您输入-30度和330度的效果是一样的。

5.2 程序运行功能

此种功能,详细的说就是,当用户给出地球上某一点的地理坐标时,程序可以给出此点在一天内(此间,卫星运转两周期,地球运转一周期),任意时刻(以分钟计)所能接受到的卫星数目。

第3.1节,给出了WGS-84所用的椭球参数为:

长轴 a= 6 378 137 m; 

偏心率 f. = (a-b)/a(b为短半轴)= 1/298.257 223 563;

这样可以求出:

短轴  b= 6 356 752 m;

地球的平均半径为 r = (a +b)/2 = 6 367 445 m;

第4.2节给出了卫星位置与时间的关系:

其中,R为卫星运行的轨道半径,τ表示时间,ω表示卫星运转的角速度,.表示卫星初始角度。n=0,1,2,3,4,5表示卫星运行的6个轨道。

第4.3节给出了在特定仰角下,某点所能见得的卫星离此点所对应的P点的最大距离为|PQ|=2Rsin(β/2),其中,

假设初始时刻,卫星某一轨道正好与地球的轨道面相交于经度为0的点。取此时τ=0,则在τ时刻,根据以上三点内容就可求出此时,卫星的位置,地球上用户所给一点的位置,同时用户给出此点所要求的仰角,又可求出|PQ|的值。这样,就可以以P点为中心,以|PQ|为半径作球,凡是落入此球中的卫星均为用户所给点能接受到其信号的卫星。

本程序中,对于用户如何向程序给出所考察的点,作者给出了两种不同的方法:

5.2.1 直接输入法

用户电击菜单“程序运行”中的“直接输入”,程序弹出对话框,如图5.2所示。


图5.2


用户可直接输入所考察点的地理坐标。然后按OK键,程序运行,在主窗口,给出在24小时之内,此点所能接受到的卫星数目图。如图5.3所示。

图5.3

5.2.2 点击输入法

点击菜单“程序运行”中的“点击输入”下的“输入经纬度”,程序在主窗口给出一张世界地图,如图5.4所示。


图5.4


用户用鼠标点击,则在地图的上方和下方给出提示,如果用户所点击的位置不在地图上,在上方将有说明,如果用户所点击的位置在地图上,则在下方给出此点的经纬度,用户可多次点击,直到找到所要考察的位置为止,然后按OK键,再电击菜单“程序运行”中的“点击输入”下的“输入高度”,则弹出对话框,如图5.5所示。



图5.5


用户输入高度和仰角,按OK键,程序运行,在主窗口,给出在24小时之内,此点所能接受到的卫星数目图,如图5.6所示。


图5.6


5.3 动画演示功能



图5.7


本功能,必须在执行“程序运行”之后才能运行,因为只有执行“程序运行”之后,才能读取数据,卫星的位置才能确定。

点击“动画演示”,谈出对话框,演示卫星在地球周围运动的情况。卫星共分为六种颜色,代表六个轨道上的卫星。如图5.7所示。

5.4 播放电影功能

在打开可执行文件之后,程序自动播放一段动画“GPS全球定位系统”,按CLOSE键关闭,按PLAY键播放。如图5.8所示。


图5.8


但是,要注意必须把这段名为“GPS.AVI”的影音文件与可执行文件放在一起,否则程序找不到此文件。

 

 

<<上一节      下一节>>




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.