APP下载

空间分析模型与GIS无缝集成研究

2014-03-27张晓楠任志国曹一冰

地理空间信息 2014年2期
关键词:中间件分析模型异构

张晓楠,任志国,曹一冰

(1.信息工程大学 地理空间信息学院,河南 郑州450052;2.中华测绘服务公司,北京 100088)

随着GIS应用的不断深入,除了要求GIS具有空间数据管理和图形处理能力之外,还要求其能够解决一些复杂的空间分析、空间模拟及空间决策分析等问题。这些复杂问题得以解决的最好办法是依赖于空间分析模型的研究及其与GIS的集成[1,2]。目前,已存在很多空间分析模型和专业的空间分析软件包,如地理学和地质学中具有代表性的Space Stat和GS+.Fischer.Trapletti and Wang的空间相互作用模型软件包,Getis&Chen的空间点格局统计软件包等[3,4]。这些模型及软件包在与GIS的集成过程中,各有特点和适用性,导致模型的可复用性和可扩展性不强。因此,充分研究空间分析模型与GIS无缝集成从而有效发挥GIS的优势就显得尤为重要。

1 空间分析模型与GIS集成的方式

空间分析模型与GIS在功能上的互补是二者集成的驱动力,它们的有效集成可增强GIS的空间分析功能,进一步加深GIS应用的深度,同时拓宽其使用范围。目前,空间分析模型与GIS的集成方式主要分为3种。

1)外挂式集成:空间分析模型与GIS之间不存在程序上的连通性,各自运行基本独立,通过在二者之间增加共享数据文件来实现,如图1所示。这种集成方式开发成本低、易操作,但执行效率不高,且非专业人员较难掌握,仅适用于开发周期较短的情况。

图1 空间分析模型与GIS的外挂式集成方式示意图

2)内嵌式集成:空间分析模型与GIS具有共同的操作界面,系统运行时以其中一个为主,通过共享数据文件和存储空间来实现,如图2所示。这种集成方式为用户提供全面有效的应用功能,系统界面友好,运行高效且稳定,但是开发成本高,周期长。

图2 空间分析模型与GIS的内嵌式集成方式示意图

3)无缝式集成:以空间分析模型的理论研究及实践应用均已相对成熟作为前提,在GIS不断发展完善的基础上,将空间分析模型作为专业的空间分析工具纳入GIS环境,从应用上集成二者共同的优势,是二者集成的最高层次。这种集成方式运行效率和集成性较高,但需要投入各方面的人力和物力,开发难度大。

可见,在空间分析模型与GIS的集成过程中,无论采用哪种方式都具有一定的局限性,因此找寻不需要频繁使用共享数据文件、不需要宿主软件同时运行且不需要大量重复性开发劳动的无缝集成方案是空间分析模型与GIS集成应用中亟待解决的问题。基于中间件技术的集成正是这样一种方案。

2 基于中间件技术的集成方案

2.1 中间件技术

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这类软件在不同的技术之间共享资源[5]。它是位于系统软件与应用软件之间的中间层,是网格计算的核心[6]。中间件通过封装多源异构环境,抽象各种各样的应用模型,屏蔽了信息访问的底层细节,并向用户提供公开的标准接口和协议,保持了用户应用的相对独立性。

可见,在空间分析模型和GIS的集成中融入中间件技术,能解决上述集成方式中存在的问题,提高模型的可复用性,同时也能解决分布式异构环境下的软件开发问题,提高未来GIS系统的开发效率。

2.2 空间分析模型中间件的设计框架

2.2.1 设计原则

本文主要侧重于将空间分析模型以中间件的方式集成到各类GIS平台中,这里称之为空间分析模型中间件。该中间件在设计上必须提供统一的异构数据读取接口、数据信息输出接口、空间分析接口以及分析结果输出接口等。空间分析模型中间件的设计原则为:

1)符合需求。充分发挥中间件的技术优势,将空间分析模型与GIS平台分离开来,解决集成过程中的系统异构和数据源异构问题。

2)可移植性。在中间件实现的内部构架上,必须提供统一的编程接口,实现开发组件的可移植性。

3)可扩展性。在中间件的使用周期范围内,应用系统的层次会不断升级,必须充分考虑其升级的便捷性,便于进行维护和扩展。

2.2.2 框架设计

根据层次化设计思想,基于以上设计原则,空间分析模型中间件的框架设计如图3所示。

图3 空间分析模型中间件的框架设计图

设计上采用3层架构体系,中间件层屏蔽了底层GIS平台的异构。当用户需要进行某项应用操作时,只需注册中间件后通过接口代理向系统发出请求,中间件层根据请求访问相应的数据并返回数据的拓扑信息,中间件管理引擎调用相应的空间分析模型进行分析,并将结果展示给用户。这种设计模式使得空间分析模型与GIS软件平台的集成更加灵活,且不考虑平台的异构性,可提高空间分析模型的复用率,降低开发成本。

2.2.3 功能设计

为了满足应用需求,空间分析模型中间件应具备以下功能:

1)中间件注册:负责完成中间件的管理,包括中间件的添加、注册和卸载等;

2)数据读取:负责实现应用程序与数据库的连接,以黑箱的方式读取不同格式的数据,返回空间分析需要的数据拓扑信息;

3)拓扑处理:部分格式的数据不能直接存储拓扑信息,在进行空间分析之前负责对部分无拓扑信息的数据进行自动处理;

4)空间分析:中间件的核心部分,接收获得的异构数据及其拓扑信息,执行需要的空间分析运算,返回分析结果。

2.3 空间分析模型中间件的实现思路

虚函数是VC中一种特殊的函数类型,如果将一个类的成员函数声明为虚函数[7],在其派生类中就会有许多不同的实现。利用虚函数的原理,程序员可在基类和派生类中利用相同的函数名和参数类型分别定义不同的操作,从而为同一个类继承结构中所有类的同一种行为提供了一个统一的接口。多态体现了一个类继承结构中不同类的对象对同一个消息作出不同响应的能力,当进行消息发送时,可将同一个消息发送至与消息有关的不同类的对象,同一个消息被不同类的对象接收以后,通过调用不同的成员函数(虚函数)进行不同的处理,作出不同的响应。因此,利用虚函数的思想来实现空间分析模型中间件非常合适,其类结构设计如图4所示。

其中,CGeoFile类为基类,定义了数据的读取接口,可获得数据描述信息和数据类型:virtual std::vector GetData(CString strName) = 0;virtual CString GetType() = 0; 类 CShpFile、CMifFile、CVectorFile、CE00File、CDxfFile分别继承CGeoFile,实现对多源数据的读取。

具体实现过程中,定义中间件管理引擎类CGeoFile Engine,程序运行时将要读取的文件指针放入一个CGeoFile的vector链表中,得到用户请求后,循环此链表,用正在读取的数据格式标识与链表中对象的GetType()返回值比对,一旦遇到格式相同的对象,则使用该对象的GetData()函数读取数据,然后进行拓扑处理和相应的空间分析。

图4 中间件实现类图

3 典型空间分析模型的集成验证

最短路径分析是计算机科学、GIS和运筹学等学科研究的热点问题,其根本目的是研究、筹划一项网络工程使其运行效果最好,如制定一个从A地到B地运行时间最短或运输费用最低的运输方案等[8]。作为GIS的基本功能,最短路径分析发挥着极大的作用,如“智慧城市”中的“智慧交通”以及ITS中的路径规划模块、调度系统中的路径规划、手机地图中的公交线路查询等。本文以最短路径分析模型为例,基于中间件技术进行了与GIS的无缝集成,实验结果如图5所示。

图5 中间件集成系统界面

其中,中间件注册模块(见图6)负责中间件的添加和注册,不需对原程序进行改动,直接将新增模块以动态库的形式添加到中间件链表末尾,以供用户使用。中间件管理模块(见图7)实现对中间件基本信息的显示和卸载,进而实现对中间件的更新操作。

图6 中间件注册模块截图

图7 中间件管理模块截图

[1]Goodchild M F. Geographic Information Systems and Science:Today and Tomorrow[J]. Procedia Earth and Planetary Science,2009(1):1 037-1 043

[2]Goodchild M F. Geographical Information Science[J]. International Journal Geographical Information Systems, 1992(6):31-45

[3]王劲峰,李连发,葛咏,等. 地理信息空间分析的理论体系探讨[J].地理学报,2000,55(1):92-103

[4]王劲峰,柏延臣,朱彩美,等. 地理信息系统空间分析能力探讨[J].中国图像图形学报,2001,6(9):849-863

[5]奚丽倩,袁国良. 浅析中间件技术的研究现状[J].电脑知识与技术,2009,5(4):978-979

[6]李永红,邓红艳. 中间件技术在GIS中的应用[C]. GIS的设计开发与应用,北京,2004

[7]王育坚.Visual C++面向对象编程教程[M].北京:清华大学出版社,2003

[8]邬伦,刘瑜,张晶,等. 地理信息系统——原理、方法和应用[M].北京:科学出版社,2001

[9]汤国安,赵牡丹. 地理信息系统[M].北京:科学出版社,2000

[10]华一新,吴升,赵军喜. 地理信息系统原理与技术[M].北京:解放军出版社,2001

猜你喜欢

中间件分析模型异构
基于BERT-VGG16的多模态情感分析模型
试论同课异构之“同”与“异”
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
异构醇醚在超浓缩洗衣液中的应用探索
层次分析模型在结核疾病预防控制系统中的应用
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
全启发式语言分析模型
中间件在高速公路领域的应用