基于ArcGISEngine和VegaPrime的三维可视化研究

时间:2022-10-12 10:11:33

基于ArcGISEngine和VegaPrime的三维可视化研究

摘要:三维GIS是GIS科学发展的新趋势之一。以武汉科技大学三维数字校园为例,利用Creator构建了三维校园模型,采用了ArcGIS Engine的二次开发模块将OpenFlight数据转换为ArcGIS中的Multipatch数据格式。在此基础上,分别使用ArcGIS Engine二次开发技术和Vega Prime实现了可视化显示和漫游功能,并进行了对比分析研究。

关键词关键词:三维GIS;二次开发;可视化;建模

中图分类号:TP317.4文献标识码:A 文章编号:16727800(2014)002014403

0引言

校园三维地理信息系统将GIS技术与传统的管理信息系统相结合,采用三维成像虚拟现实技术构建虚拟校园漫游系统,将校园风光和电子地图有机结合起来表现校园的各种空间及属性要素[12]。本文首先使用Multigen Creator建立了三维校园数字模型,然后分别使用ArcGIS Engine的二次开发技术和Vega Prime完成对场景的驱动和漫游的实现。在ArcGIS Engine的开发中采用了C#语言进行开发,使用Personal Database完成对数据的管理工作,OpenFlight格式与Multipatch格式之间的转换使用C#语言利用ArcGIS Engine的二次开发类库来完成。在Vega Prime中主要使用C语言和Lynx Prime2.0完成程序开发和对配置文件的配置工作。

1软件开发平台

1.1ArcGIS Engine简介

ArcGIS是美国ESRI(Environmental Systems Research Institute 美国环境系统研究所公司)推出的一款为不同需求层次的用户提供的全面、可伸缩的GIS产品解决方案。ArcGIS Engine是一套完备的嵌入式GIS 组件库和工具库,使用ArcGIS Engine开发的GIS应用程序可以脱离ArcGIS Desktop而运行。ArcGIS Engine面向的用户是GIS项目的程序开发员。对开发人员而言,ArcGIS Engine是一个用于开发新应用程序的二次开发功能组件包。

ArcGIS Engine组件库中的组件在逻辑上分为基本服务(Base Services)、数据存取(Data Access)、地图表达(Map Presentation)、开发组件(Developer Components)、扩展功能(Extensions)等5个主要部分[23]。

1.2Vega Prime简介

VegaPrime 基于VSG(Vega Scene GraphMPI 公司先进的跨平台场景图形API,底层为OpenGL),同时包括Lynx Prime GUI (用户图形界面)工具,让用户既可以用图形化的工具进行快速配置,又可以用底层场景图形API 进行特定应用功能的创建。它将先进的功能和良好的易用性结合在一起,帮助用户快速、准确地开发实时三维应用,加速成果的[45]。

针对用户的特定要求,VegaPrime 还设计了多种功能增强模块,和VegaPrime 结合在一起,进一步提升了应用开发的效率和适用性。

2基于ArcGIS Engine的三维可视化与漫游

2.1三维数据格式转换

3基于Vega Prime的三维可视化与漫游

应用配置文件(ACF)是Vega Prime的格式文件,它包含了VP应用在初始化和运行时所需的一切信息。通过编译不同的ACF文件生成不同种类的应用。ACF文件为扩展Markup语言(XML)格式。可以使用Vega Prime的编辑器Lynx Prime来开发一个ACF,然后使用VP API动态地改变应用中的模型运动[6]。

LynX Prime用户界面包括四个部分:实例树形显示区(Instance Tree View)、用户操作区(GUI View),应用程序区(API View)、工具条(Toolbar)和目录区(Menus)。所有这些区域将显示同一选定的对象信息,但是这些信息是以不同格式进行安排的。

当LynX Prime中的参数发生变化时,显示运行一个基本Vega Prime应用,这个应用接收LynX Prime发送的参数,可以通过这个应用观察所设置的程序参数。

本文中所使用的数据为flt格式,在设置模型的路径参数时,尽量避免使用中文,因为在LynX Prime中无法识别中文,其次在设置文件路径时需要加上纹理的路径,否则整个模型将没有纹理,LynX Prime路径参数设置如图1所示。

4结语

通过对ArcGIS Engine和Vega Prime技术在三维可视化应用中的研究,将两者进行对比分析如下:

(1)开发性能方面。利用两者进行三维校园模型显示和漫游二次开发均十分方便。ArcGIS Engine组件式的开发易于搭建程序框架,很多复杂的GIS功能只需要少量的代码即可实现。而Vega Prime带有图形开发界面,大量程序参数通过配置文件来完成,节约了开发时间,同时也提供了一系列的C++类库用于搭建程序和实现一些较为复杂的功能。

(2)渲染效果方面。Vega Prime在渲染效果上比ArcGIS Engine更好,场景更加的逼真,整个系统的动态性更强,实时仿真有较大优势,同时对交互式的操作十分的重视,能给人带来沉浸式的体验。而ArcGIS Engine相比Vega Prime而言显得静态,并且没有LOD节点等很多用于实时仿真的结构,使得实现一些较为复杂的功能显得有些困难。

(3)GIS功能方面。ArcGIS Engine中,空间数据库和属性数据库的结合使得更容易开发出功能完备的系统,其GIS功能组件式开发技术使得开发十分高效,渲染非常快速,同时又能和传统的二维GIS系统相结合,能够兼容传统的GIS功能,这些优势都是Vega Prime所没有的。

因此,在笔者看来Vega Prime更侧重于实时仿真系统的构建,类似于游戏的开发,而ArcGIS Engine则侧重于对模型的显示以帮助用户对事物进行全方位多角度的理解。

参考文献:

[1]王平.校园三维GIS的模型构建与可视化研究[D].西安:西安理工大学,2007.

[2]穆扬,柳锦宝,张永福. 基于ArcGIS Engine的三维校园系统的设计与实现[J].航空计算技术,2009(6).

[3]吴玮,李小帅,张斌.基于ArcGIS Engine的GIS开发技术探讨[J].科学技术与工程,2006(6).

[4]方琦峰, 康凤举, 张楚鑫,等. OpenGL在Vega Prime开发环境中的应用研究[J].计算机仿真,2008(6).

[5]张鹏林,胡文敏.基于Vega的三维GIS开发技术研究[J].测绘信息与工程,2006(4).

[6]褚彦军,唐硕.基于Vega Prime的通用视景仿真系统研究[J].计算机工程与设计,2009(17).

上一篇:Photoshop课程教学改革研究 下一篇:改进中间流量矩阵的投入产出预测法