龙 珑 ,邓 伟 ,陆建波 ,宁 葵 ,陈万雷
(1.广西师范学院 计算机与信息管理学院,广西 南宁 530003;2.广西肿瘤防治研究所,广西 南宁 530001;3.广西大学 计算机学院,广西 南宁 530001)
第三次全国死因回顾抽样的结果显示,广西是肝癌高发的省(市、自治区)之一,而且其发病地区分布很不均衡,肝癌的发病与地理气候因素密切相关。然而对于肝癌与气候、土壤、地形等环境气候因素之间的关系国内外基本缺乏系统地研究,出现的客观原因可能是地理、气候等,其空间数据的复杂性与海量化,传统的流行病学方法与手段对于空间数据的获取与分析存在相当大的难度。再加上广西是一个丘陵地貌为主的地区,传统文字描述和地图等语言根本没有办法完成广西肝癌与气候危险因素GIS[1-2]系统(下文称“肝癌危险因素GSI系统”)开发,同一个山体不同高度也会有不同气候因素,所以这套系统难点就是做到三维可视化系统对山体不同高度环境气候进行建模存储和开发设计。
组件式地理系统(CamGIS)[1-2]是GIS技术发展的潮流。ArcGIS Engine[3]是 ESRI公司新推出的组件式 GIS,它可以低成本为用户提供用户需要特点的GIS应用。另一方面,GIS能与以前的地理图像进行对比和分析。所以可以使用AR(ArcGis)技术对广西肝癌与气候危险因素GIS系统中去解决开发的难题。
ArcGIS Engine是ESRI公司新推出的GIS组件式开发引擎。组件式开发克服了传统GIS与其他系统[4-5]集成困难的特点,便于与各种不同特性的组件无缝集成。
ArcGIS Engine的GIS组件系统开发的方式有三种:
(1)ArcGIS Engine的GIS组件系统的二次开发:利用ArcGIS Engine已经有的开发语言和环境进行再次开发,不能脱离ArcGIS Engine的GIS开发环境,属于较简单开发。
(2)ArcGIS Engine的组件系统开发:利用标准的通用开发程序语言结合ArcGIS Engine的GIS组件进行开发,如 VC#语言的开发环境、调用 ArcGIS Engine的GIS组件进行开发等。这种方法属于比较高级的开发方式,不依赖ArcGIS Engine的开发平台,可以自主单独进行,自主开发部分可具有自主知识产权。
(3)ArcGIS Engine的底层系统开发:系统所有内容全部自主开发,其中包括底层图像驱动等高难度开发,不依赖任何开发平台,具有全部知识产权,开发难度非常大。
由于广西肝癌与气候危险因素GIS系统研究很复杂,图像和数据非常多,在选择VC#开发语言环境下,系统同时采用三种开发方式,数据和图像部分处理采用第一和第二种开发方式,高级的图像呈现必须要系统开发小组自己完成,也就是第三种开发方式。
因为肝癌危险因素GIS系统调查的对于山体气候不同高度气候是有要求的,所以传统的基于平面的二维GIS不适合设计本文系统,必须使用三维GIS才能完成,特别在空间位置与拓扑关系的描述及空间分析的伸展上更能体现其优势[6-7]。
肝癌危险GIS系统可以采用的开发方式有三种:(1)难度最大的底层开发,对开发小组要求最高,本系统山体底层立体成像细微部分即采用这种方式的;(2)对于系统大面积的显示整体,本系统利用可视化的软件实现三维信息的显示过程;(3)借助成熟的GIS软件进行三维二次开发,使系统能分山体不同高度建模,增强肝癌危险GIS系统可视化的功能,达到对危险因素准确的数据分析,这种开发是肝癌危险GIS系统[8]最主要的开发方式。
Multipatch多片模块在Arc GIS开发系统中定义表示为:描述三维表面的元素集合,在肝癌危险GIS系统中主要是描述山体各种不同的元素集合。系统的多片模块就是在二维山体图形的基础上,将垂直值作为系统山体高度坐标值,得到系统所要的山体三维图形。
肝癌危险因素GIS系统的Multipatch多片模块采用基于矢量结构的三维表面数据模型。而实际采集到的数据是二维的数据,与系统需要的三维数据有很大差距,要求用便捷的方式由二维数据变为三维数据。本文采用两种方法进行二维数据与三维数据的转换:(1)在二维数据生成的图形基础上直接建模转换;(2)把二维数据导入三维模型中,由编程纠错的方法把二维数据转变成三维数据使用。
肝癌GIS系统的采用在二维数据的图形的基础上直接建模的方式,通过SceneControl控件和C#图形编程结合显示,直接实现肝癌GIS系统对各个采集数据点肝癌发生区在同一个山体不同高度的查询与立体式访问。
建模方式为:(1)拉伸二维底面,用IconstructMultipatch接口实现;(2)使用IGeneraMultipatch接口结合C#编程,并利用GeometryMaterailList实现肝癌GIS系统中更加逼真的多维模块。
可以用IConstructMultipatch接口去创建多维模块的图形的起始底面,从而得到山体不同高度的模型。其代码如下:
肝癌危险因素GIS系统提供一个广西肝癌与气候危险因素与三维信息的互相操作和查询的平台,在该平台上的用户可以很方便看到广西肝癌与气候危险因素在各个地区情况,特别是可以看到同一座山上不同高度不同气候条件下各种因素对肝癌危险的关系。
3.1.1 GIS系统开发环境
肝癌危险因素GIS系统采用的语言是Visual C#2008,GIS系统的 GIS平台是 ArcGIS Engine,GIS系统存放空间数据和属性数据采用Geodatabase空间数据库。
3.1.2 GIS系统实现功能目标
(1)图层不同高度的操作:对肝癌危险因素GIS系统中各种不同山体三维的图层进行增加、删除和转换。
(2)多角度数据的浏览操作:能实现肝癌危险因素在山体的三维空间多角度的放大、缩小、漫游、缩放、拖动等功能及显示相应危险数据。
(3)查询功能:能在三维视图中快速地查询到所需要的山体不同对于高度系统的数据。
(4)属性查询:显示山体选中三维不同高度肝癌危险因素信息。
3.2.1 图层不同高度的操作实现
使用Visual C#对系统进行对接编程,装载ArcGIS Engine中的SceneControl和 MapConrrtrol用于显示系统图形,然后再装载ArcGIS Engine中的TocControl控件进行对山体三维层的增加、删除和转换。
3.2.2 多角度数据实现
使用Visual C#对系统进行对接编程,使用SSTab控件装载ArcGIS Engine可视化控件SceneControl和MapC onrrtrol的容器,实现山体的三维空间的放大、缩小、漫游、缩放、拖动等功能,以及显示相应危险因素数据。
3.2.3 查询功能实现
肝癌危险因素GIS系统查询功能指系统用户能在三维视图中快速地查询到所需要的山体不同高度系统对应的数据。使用Visual C#编程工具快速按字段关键字(如“高度”,“温度”,“肝癌患者数”等)查询。 使用Visual C#对系统进行对接编程。
系统开发与展示环境:1台数据服务器、1台应用服务器和65个乡镇卫生站的统计客户端,2台服务器配置基本需要四核八线程CPU,内存4 GB,采用Win7系统。
根据以上所讨论的技术与方案设计开发了广西肝癌与气候危险因素GIS系统,在广西肝癌与气候项目中进行了示范应用,实现项目组与各个部门统计数据的集成与共享,并对该系统进行一体化的存储与管理。特别是在三维展示各自与肝癌有关系的因素上发挥出了不错的效果。如图1所示为广西肝癌与气候危险因素GIS系统在广西某山区统计部分数据展示图。
图中每组数据的3个数值分别表示:海拔高度、该地区温度、肝癌数量。
本文针对广西肝癌与气候危险因素GIS系统的实际需求,提出了基于AE和C#联合开发的三维GIS系统,突破了传统医学统计的局限性,通过传统医学统计学与现代GIS计算机技术有效结合,使得医学统计学更加高效率和更加直观化。但由于这方面研究刚刚起步,在实际开发中,很多现代医学统计技术与GIS的结合上还存在学科融合问题,有待进一步的改进。
[1]郑坤,刘修国.基于启发式规则的网页主题信息精确定位方法[J].地球科学-中国地质大学学报,2010,35(3):369-374.
[2]顾洪祥,李建忠.基于ArcObjects的环境规划与管信息支持系统[J].计算机系统应用,2010,35(3):369-374.
[3]张赐,吴健平.基于AE的校园房产三维GIS系统开发与研究[J].计算机技术与发展,2011,21(2):215-222.
[4]孙栋,陈莉.基于数据仓库的决策支持系统[J].微机发展,2005,15(10):67-72.
[5]程亮,张友静.Web环境下房产测绘信息三维可视化技术研究[J].测绘科学,2008,33(1):119-121.
[6]范力铭.基于ArcObjects的三维GIS系统开发与应用[M].上海:华东师范大学,2007.
[7]汪明冲,赵军,李玉琳.空间数据库引擎及其解决方案分析[J].地理信息时间,2006,8(4):63-6.
[8]He Xubin, Ou Li, KOSA M, et al.A unified cache for high perfman cluster storage Systems [J].International Journal HighPer formace Computering and Networking 2007,5(1/2):97-100.