基于Google Earth的模拟飞行轨迹显示系统研究.doc

上传人:99****p 文档编号:1439908 上传时间:2019-02-27 格式:DOC 页数:4 大小:24.50KB
下载 相关 举报
基于Google Earth的模拟飞行轨迹显示系统研究.doc_第1页
第1页 / 共4页
基于Google Earth的模拟飞行轨迹显示系统研究.doc_第2页
第2页 / 共4页
基于Google Earth的模拟飞行轨迹显示系统研究.doc_第3页
第3页 / 共4页
基于Google Earth的模拟飞行轨迹显示系统研究.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、基于 Google Earth 的模拟飞行轨迹显示系统研究摘 要:本文研究分析了微软模拟飞行 10及 Google Earth的二次开发技术,如 SimConnect SDK、Google Earth COM API、KML,在此基础上建立了基于 Google Earth的模拟飞行轨迹显示系统的系统功能架构,为系统的具体实现提供了指导。 关键词:Google Earth;模拟飞行;KML 0 前言 笔者于 2011年 3月发表了“基于 Google Maps的模拟飞行轨迹显示系统的设计与实现”一文,其中实现了基于 Google Maps的模拟飞行轨迹显示系统,该系统利用 Google Maps

2、 API、Apache 服务器以及 Ajax技术,将 SEMINOLE/TB20模拟飞行训练系统的模拟飞行数据,动态地显示到二维的 Google Maps地图上1。由于 Google Earth在三维视景方面的优势,使得它在运用上比 Google Maps更为广泛,故而在 Google Earth上实现模拟飞行轨迹的三维动态显示,就显得较为具有吸引力。不同的是,此次模拟飞行软件将选择微软模拟飞行 10(Microsoft Flight Simulator X,FSX) ,对其进行模拟飞行数据的提取,并最终呈现在Google Earth上。 1 微软模拟飞行 10 微软模拟飞行 10(Micro

3、soft Flight Simulator X,FSX)自面世以来,受到了广大模拟飞行爱好者的青睐,其在画面和视觉效果的拟真程度上达到了顶峰,FSX 良好的视景系统,给模拟飞行爱好者带来一场视觉盛宴。鉴于 FSX的良好视景系统,利用其对初始飞行员进行初始训练会带来较好的训练效果。目前在飞行学生的培养与教学过程中,模拟训练实施后的效果被证明是有利于真实飞行,并且能给予飞行学生在飞行技术与技能上自我巩固与更正和提高的平台2。 FSX 提供的二次开发平台 SDK(Software Develop ment Kit)能够为编程者带来极大的方便,通过 SDK能够使得外部程序与 FSX进行交互操作,这为实

4、现模拟飞行的轨迹显示系统提供了技术支持。SDK 中最为重要的是核心通用工具(Core Utilities Kit) ,这部分包含了一个新的 SimConnect SDK,它是 FSX的程序员接口,并包含了外部程序可以使用的变量表。在具体的编程过程中,为了适应 FSX的新特性,在建立 SimConnect的插件时,需要使用 Visual Studio 2005或更高版本,或者 Visual C+ 2005以上版本,否则在软件编译时会报错。 2 Google Earth 的二次开发 Google Earth 是一款虚拟地球仪软件,它提供地球的虚拟三维视景,能够给使用者以良好的地图视觉体验。将 Go

5、ogle Earth和 FSX的飞行轨迹显示结合起来,可以增加使用者的直观感受,也能够为初始飞行训练提供辅助功能。 针对 Google Earth的开发有两种方式,一种是基于 Google Earth的 COM API,一种是基于 KML。基于 COM API的开发方式主要用来控制Google Earth的视角、实现动画效果,而基于 KML的开发方式主要用来生成地理要素,实现数据的动态更新等。在实际应用中,需要结合这两种开发方式,这样才能得到比较理想的效果。 Google Earth COM API是 Google Earth 组件的公用接口,通过调用 Google Earth COM API

6、可以实现外部程序对 Google Earth的访问和调用,从而实现交互功能。Google Earth COM API包含 11个类库,第三方软件可以通过调用这些类库实现对 Google Earth的控制、管理、查询、搜索等功能。其中,IApplicationGE 类是最主要的类,也是主要进入到Google Earth的类。其成员函数 OpenKmlFile () 和 LoadKmlData () 分别是加载一个 KML 文件和一个 KML 数据流。 KML 是 Keyhole Markup Language的简称,它是基于 XML语法的标记语言。KML 用来描述和保存地理信息,例如点、线、面、

7、图片和模型等,并能够在 Google Earth和 Google Maps中显示出来。当需要对实时数据进行更新时,就需要使用动态数据更新技术。此时利用 KML中的和标签可以实现数据的实时更新。将 refreshMode设置为 onInterval模式,并在中设置间隔时间,那么 Google Earth将间隔指定的时间来刷新一下标签中的链接地址,这个链接地址可以是本地磁盘上的一个文件,也可以是一个网络链接。 3 基于 Google Earth的模拟飞行显示系统功能模型 图 1 系统功能结构 利用 FSX的 SDK和 Google Earth COM API的技术优势,可以方便地设计实现如下功能:

8、在 Google Earth中动态显示 FSX中的模拟飞行的位置信息(飞机的经纬度、速度、高度、航向等) 、模拟飞行航迹信息等,从而实现 FSX模拟飞行的飞行轨迹动态显示,见图 1。为 Google Earth提供动态数据,需要用到 KML动态数据更新技术。我们可以采取一个更好的解决方案,即:架构动态数据提供服务器。这种方法类似于 B/S架构,Browser 就是 Google Earth,Server 就是架设的服务器,Server 提供的是动态的符合 KML规范的模拟飞行数据,Google Earth间隔一定时间去服务器上获更新数据。 参考文献: 1 李卫东,刘银.基于 Google Maps的模拟飞行轨迹显示系统的设计与实现J.中国民航飞行学院学报,2011,22(2):5-7. 2 刘天.FSX 在飞行教学中的研究与应用J.才智,2010. 3 江宽,龚小鹏.Google API开发详解:Google Maps与 Google Earth双剑合璧M.北京:电子工业出版社,2010. 基金项目支持:中国民航飞行学院青年基金项目(项目编号:Q2012-011) 。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。