论文部分内容阅读
在二三维—体化全新理念的推动下,研究如何在同一个平台下同时展现二维和三维地图上的态势标绘符号具有非常重要的意义。为弥补三维GIS没有成熟的空间数据模型且空间分析功能相对较弱等缺点,将二维GIS的宏观展现和三维GIS的微观表现相结合,充分发挥二者优势,以二三维一体化GIS作为态势标绘系统的“底图”,实现一套全新的二三维一体化军工GIS系统。二三维一体化态势标绘从平面、立体、静态和动态四个方面进行展示,既可以展现整个应急现场的平面图,又能表现出局部应急区域真实而全面的环境,既可以展现某一具体时刻的静态现场状态,又可以表现某一段时间内现场环境的动态变化,为指挥人员提供灵活方便的态势标绘手段。论文首先围绕二三维GIS及其一体化、二三维态势标绘及其一体化理论进行展开,介绍国内外的发展与应用情况,在总结现有情况的优势和不足之后,将二维与三维整合在一个系统平台下,打破了以往三维GIS和态势标绘系统相对于二维在数据、功能、结构上需要另起炉灶的弊端。本文主要对微软COM规范扩展、在底层将二三维坐标变换封装为统一的坐标服务接口、三维OSG引擎中的智能指针与COM规范中的引用计数融合使用、将矢量SVG文件作为态势标绘符号模版,在地图与态势标绘的显示层面、操作层面、数据方面实现了二三维军工GIS一体化。二三维一体化军工GIS程序设计时,将硬盘中的态势标绘符号以树状方式存储到态势标绘文档中,共享态势标绘文档的多个显示窗口,根据文档中的内容在内存中构建一套符号数据,然后在多个二维和三维场景中构建不同的展现,实现显示层面联动。程序根据扩展节点后的SVG符号文件在二维GIS上叠加显示带有时间生命体的态势标绘符号,在三维GIS场景内实时生成带有时间生命体的三维模型。系统根据内部设计的一体化事件处理,多个显示窗口内可以根据用户操作自动切换焦点;态势标绘符号和GIS底图并不是简单的叠加显示,在态势标绘状态或查询状态下,同一个地图显示窗口内部可以根据鼠标焦点所处的位置自行判断事件流经方向。本文通过c++编程实现了以上所有框架设计与功能,最终实现了在同一个用户界面、使用相同工具库和数据库的二三维一体化军工GIS系统。最后对本文的研究工作进行了总结,并对后期需要进一步开发的方向进行了展望。