《模拟用地形图文件格式及其加载.doc》由会员分享,可在线阅读,更多相关《模拟用地形图文件格式及其加载.doc(3页珍藏版)》请在三一办公上搜索。
1、F ile Form a t of Terra in M a p an d L oa d on S im ula t ion宋燕燕1 王金岩2 沈春林1(1 南京航空航天大学南京210016) (2 航空一集团第 615 研究所上海200233)地形在军事和飞行仿真、虚拟现实 (V R )、地理信息系统 (G IS) 等领域中起着越来越重要的作用, 模拟【摘要】用的地形图则是进行地形仿真中不可缺少的, 分析了可以用于模拟的地形图文件的各种格式, 并在 V C +平台上对各种文件格式进行加载, 得到最终实现效果。【关键词】文件格式, 加载, 地形图+ 6. 0中图分类号: T P 15, T P
2、 317. 4文献标识码: AA BSTRACT T e r ra in w a lk th ro ugh h a s been u sed w ide ly in m ilita ry, f ligh t, sim u la t io n and G IS, e tc . T e r ra in m ap s o n sim u la t io n a reth e m o st ba sis p a r t to be requ ired and ind isp en sab le. O n th e ba sis o f te r ra in m ap f ile fo rm a t,
3、th is p ap e r ana lyze s th e d iffe ren t k ind s o f th a t o n sim u la t io n, and lo ad s seve ra l fo rm a t s o f te r ra in m ap f ile s o n V isua l C + + p la tfo rm and o b ta in s th e f ina l exp e r im en ta l re2 su lt s.KEYW O RD S f ile fo rm a t, lo ad, te r ra in m ap文件其实就是 BM P
4、文件 ( 256 色灰度文件) 的数据部分, 它的一个字节代表此点的高度值。自定义格式的地形图文件则采用自己编写的工 具来生成。 这种自定义格式的地形图文件相对前面两 种较复杂, 一般来说, 自己编写的工具应该具备以下功地 形 漫 游 已 经 被 广 泛 应 用 于 游 戏、虚 拟 现 实(V R )、飞行仿真和地理信息系统 ( G IS ) 等环境中, 这 一课题也越来越多地被大家所关注, 原始地形图及其 数据的获得成了研究该课题的基础。 一个真实的地形可以用等高线显示, 也可以用网格显示, 但在三维场景 中需要将等高线数据也转为三角形数据后才能显示大 片的地形。 所以一般直接采用网格数据。
5、能: 需要实现从多个BM P 文件或 RAW文件中读取高度数据; 需要建立一个配置文件存放地形图的拼接信息; 从配置文件中读入信息; 然后按照该拼接信息拼接 出所需的地图。用这种自定义格式的地形图文件, 就可以根据自 己的要求, 对多个原始的地形图文件进行拼接, 使得生 成的地形内容不再单调, 可以在大规模的地形中实现各种地形地貌, 比如高山、流水等, 从而提高地形的真 实度。1地形图文件格式用于模拟的地形图文件, 可以有不同格式, 一般的, 有以下几种主要的格式: BM P (W in dow s B itm apFo rm a t ) 文件格式; RAW (R aw G raySca le
6、) 文件格 式; 自定义格式的地形图文件。采用这几种格式作为地形图文件各有其优缺点,下面分别对这几种文件格式进行介绍, 并作一比较。BM P 文件格式是M ic ro so f t 公司开发的一种交 换和存储数据的方式, 它可以处理 24 位颜色的图像, 所有版本的W in dow s 和大多数非W in dow s 平台都支 持它。BM P 的优点在于可以建立质量很好的真实图 像, 并且兼容性极高。 其缺点则在于它使用的 RL E 压 缩不能进行强有力的压缩, 因此文件尺寸较大, 地形图 文件采用的 BM P 格式文件一般是 256 色灰度文件。RAW 文 件 是 每 个 相 机 制 造 商
7、 的 一 种 专 有 格 式, 这些文件是无损失压缩的。在地形图文件中, RAW2文件的加载方法及其实现对于不同格式的地形图文件, 由于其中存放的内容各不相同, 文件格式的规定也不相同, 必定需要采用不同加载方式来得以实现。 下面将详细讲述上述各个 格式的地形图文件的加载及其实现。 下文所列代码及其最终地形的实现是在基于O p en GL 的V isu a l C + +6. 0 平台上完成的。2. 1BM P 地形图文件的加载位图 (BM P ) 文件可看成由 4 个部分组成: 位图文33 32004 07 19 收到, 2004 11 21 改回基金项目: 航空科学“军用直升机综合座舱管理
8、与实时多维图像产生方法”项目 (01C 15001) 基金资助。3 3 3 宋燕燕, 女, 1978 年生, 硕士研究生, 研究方向: 网络与控制。件 头 (b itm apf ile h eade r)、位图信息头 (b itm apin 2fo rm a t io n h eade r)、彩色表 (co lo r tab le) 和定义位图的字节阵列。 位图文件头包含有关于文件类型、文件大 小、存放位置等信息, 在W in dow s3. 0 以上版本的位图文件中用 B ITM A P F IL EH EA D ER 结构来定义:typ edef st ruc t tagB ITM A P
9、 F IL EH EA D ER U IN T bfT yp e;DW O RD bfS ize;U IN T bfR e se rved1; U IN T bfR e se rved2; DW O RD bfO ffB it s;B ITM A P F IL EH EA D ER;位 图 文 件 头 的 大 小, 24 位 图 为 36h = 54, 16 位r5g6b 5 图为 46h = 70, 8 位为 436h = 1 078。采用 BM P 文件进行加载, 可以使用如下代码来 实现。 其中定义 R eadT e r ra inm ap F ile () 方法用来进行 BM P 文件
10、的加载。boo l CH e igh tm ap: : R eadT e r ra inm ap F ile ()F IL E 3 fp;fp = fop en ( T e r ra in ste r256. bm p , rb ) ;if (! fp )re tu rn fa lse;B ITM A P E IL EH EA D ER f ileh e sde r;f read (&f ileh eade r, sizeo f (B ITM A P F IL H EA D ER ) , 1, fp ) ;if (f ileh eade r. byT yp e! = 19778)re tu r
11、n fa lse; 检查是否位 BM P 文件m p Tm ap = new un signed ch a r 256 3 256 ;图 1 网格效果图 2 采用 RAW 加载的地形网格图效果法来进行 RAW 文件的加载。C T e r ra in: : L o adR aw F ile (L P ST R st rN am e)V o idF IL E 3 p F ile= N U L L ;p F ile= fop en ( st rN am e, rb ) ;f seek (p F ile, 0, SE E K EN D ) ;lo ng nL en = f te ll (p F ile
12、) ;rew ind (p F ile) ; 设定文件指标 p F ile 到文件的开始处m nM ap S ize= sq r t (nL en ) ;if (p F ile= = N U L L )if (m pH e igh tM ap )if (m p Tm ap = = N U L L ) re tu rn fa lse;de le te m pH e igh eM ap;f seek (fp , 1078, SE E K SE T ) ; 文件头的大小为 1078m pH e igh tM ap = newB YT E m nM ap S ize3 m nM ap S ize ;
13、分配空间fo r ( in t z= 255; z - 1; z-)fo r ( in t x = 0; x 256; x + + )in t nR ead= f read (m pH e igh tM ap , 1, m nM ap S ize3 m nM ap S ize, p F ile) ;fc lo se (p F ile) ;f read ( &m1, fp ) ;fc lo se (fp ) ;p Tm ap 256 3 z+ x ,sizeo f (un sig ned ch a r ) ,加载后的地形数据被存放在已分配空间的 m pH e igh tM A P数组中, 在后续
14、过程中对其进行调用。re tu rn t rue;采用 RAW地形图文件并进行绘制和渲染, 最终实现的地形网格图效果如图 2 所示。2. 3自定义格式的地形图文件加载如前所述, 加载自定义格式的地形图文件并不是 整个过程的关键所在, 主要的部分是生成该文件的工 具, 在该工具里完成所需要的各个功能。一般采用的方式是在 V isu a l C + + 平台建立一个动态连接库项目,加载后的地形数据被存放在 m p Tm ap一维数组中, 在对地形进行渲染的过程中调用该地形数据。采用 BM P 地形图文件并进行绘制和渲染, 最终实现的 地形网格效果如图 1 所示。2. 2RAW 地形图文件的加载RA
15、W 文件是 BM P 位图文件的数据部分, 没有文实现各个功能需求, 并完成地形图文件的输出和.d ll件 头 等 内 容, 所 以 对 其 的 加 载 相 对 比 较 容 易。 采 用RAW 文件进行加载, 如下所示的代码为具体的加载的生成, 这里地形图文件的格式可以定义为. m ap 文(下转第 18 页)过程。 其中定义 L o adR aw F ile (L P ST R st rN am e)方的解决办法预置到器件的器件描述中, 而且有效地跟本 系 统 开 发 平 台 为 w in dow s2000xp , 开 发 工 具为 Bo r lan d 新一代面向对象技术可视化开发工具
16、D e l2 p h i7. 0, 系统稳定可靠, 后台数据库为 M ic ro so f t SQ L se rve r2000, 是微软公司推出的关系型数据库系统, 可以实现多用户并发操作且性能稳定, 完全满足本系统的需要。 在数据库设计中, 通过使用 SQ L se rve r2000的存储过程等高级特性, 大大改善了系统的性能。踪了路径。根据上述方法建立起来的故障诊断模型, 使得该 系统能够进行快速、准确故障诊断, 故障诊断准确率高, 而且在设计时作了充分的考虑, 使得该系统适用于目前的任何车型如韶山 7E 型、韶山 7D 等, 实现了数 据的共享, 减少了数据的冗余。表 1知识库编码
17、表组织结构3结论通过本系统的实现, 机车发生故障时的实时数据通过远程通信系统实时传输到地面, 大量的数据保存 到地面数据库中, 可以通过各种方式查询, 便于事后分 析处理。在故障诊断专家系统, 实时故障诊断是一方面的功能, 另一方面的作用是为状态修提供原始可靠的 科学依据, 具有了大量的数据, 通过数据挖掘和数据仓 库技术进行分析处理, 得出规律性的结论。采用了专家 系统的设计思想, 数据、知识库和推理机是相互独立 的, 即使有新的车型生产, 用户只需不断地添加、修改故障数据和其他数据, 操作简单, 使用方便; 实现状态 修和以往的计划修相比, 它不但大大提高了运用效率, 而且还能更好地进行科
18、学化管理, 产生可观的经济效 益。 同时还为其他远程监测领域的信息化建设提供一 个很好的借鉴。通过本文介绍的远程故障诊断系统, 现在已经基 本完成, 进入试运行阶段, 到目前为止, 运行状态良好。参 考 文 献远程通信的实现系统通信质量的好坏直接关系到故障诊断专家系 统的诊断结果, 为了及时获取故障发生时的实时数据, 针对铁路系统覆盖面积大, 多偏远地区的情况, 并且为了满足双向数据通信并适应高速列车移动通信的功 能, 建立了移动卫星通信平台; 移动卫星通信实时性 好、通讯覆盖面广, 在全国范围内无盲区, 任何情况、任何地点、任何时候都能跨地域通讯。 又由于 GPR S 是 分组交换技术, 具
19、有实时在线、按量计费、快捷登录、高速传输、自如切换的优点, 所以, 在对多种通信方式进 行比较的基础上, 本系统建立以同步卫星移动通信系统为主要通信方式, 同时以 GPR S 通信为辅的多链路 通信平台, 在一种通信方式失效的情况下启用辅助通张俊. 浅析我国机车状态修现状 J . 内燃机车, 1997 ( 7) :3 7.12吴泉源, 刘江宁. 人工智能与专家系统. 长沙: 国防科技大学出版社, 1995 .周桂法, 陈特放, 崔晓庆. 机车在线故障诊断专家系统的3研究J .长沙铁道学院学报, 2002, 20 (1) : 105 108.4梁晋, 薛武军, 殷勤策等. 采用移动卫星通讯技术的
20、列车自动报点系统J . 铁路计算机应用, 2003, 12 (1) : 44 46.(上接第 8 页)件或者其他, 若需要加载该地形图文件, 只要包含该.d ll 库文件并调入生成的地形图文件即可。具体的程序 实现过程不在这里一一表述了。较。并对各种格式的地形图文件进行加载和实现。还提出了自定义格式的地形图文件, 采用这种格式可以实 现内容丰富的地形。参 考 文 献12林福宗. 多媒体技术基础. 北京: 清华大学出版社, 2002.M ich ae l J Yo ung 著. 邱仲潘译. V isua l C + + 6 从入门到 精通. 北京: 电子工业出版社, 1999.3结论本文主要讨论
21、了模拟用的地形图文件的各种格式, 对主要采用的几种格式分别进行了描述, 加以比层次编码名称下级编码层内编号11无压无流10011210011001100110011001回路未构成 过分相封锁 微机装置 监控封锁 电机切除20010200200123453200120012002200220022002制动回路未构成 牵引回路未构成 特性无流 脉冲封锁 通信故障 系统故障3001300203003001212344300130013001300130023002300230033003制动风压继电器 牵引风压继电器 辅助变流器 线路接触器 牵引风压继电器 辅助变流器 线路接触器 网压过压 通信故障000000000123412312