微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AE的广西肝癌与气候危险因素GIS系统研究

基于AE的广西肝癌与气候危险因素GIS系统研究

时间:03-13 来源:互联网 点击:

 第三次全国死因回顾抽样的结果显示,广西是肝癌高发的省(市、自治区)之一,而且其发病地区分布很不均衡,肝癌的发病与地理气候因素密切相关。然而对于肝癌与气候、土壤、地形等环境气候因素之间的关系国内外基本缺乏系统地研究,出现的客观原因可能是地理、气候等,其空间数据的复杂性与海量化,传统的流行病学方法与手段对于空间数据的获取与分析存在相当大的难度。再加上广西是一个丘陵地貌为主的地区,传统文字描述和地图等语言根本没有办法完成广西肝癌与气候危险因素GIS[1-2]系统(下文称“肝癌危险因素GSI系统”)开发,同一个山体不同高度也会有不同气候因素,所以这套系统难点就是做到三维可视化系统对山体不同高度环境气候进行建模存储和开发设计。
 组件式地理系统(CamGIS)[1-2]是GIS技术发展的潮流。ArcGIS Engine[3]是ESRI公司新推出的组件式GIS,它可以低成本为用户提供用户需要特点的GIS应用。另一方面,GIS能与以前的地理图像进行对比和分析。所以可以使用AR(ArcGis)技术对广西肝癌与气候危险因素GIS系统中去解决开发的难题。
1 ArcGIS Engine组件式开发概述与开发方式
1.1 ArcGIS Engine组件式开发概述

 ArcGIS Engine是ESRI公司新推出的GIS组件式开发引擎。组件式开发克服了传统GIS与其他系统[4-5]集成困难的特点,便于与各种不同特性的组件无缝集成。
1.2 ArcGIS Engine的GIS组件开发方式
 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#开发语言环境下,系统同时采用三种开发方式,数据和图像部分处理采用第一和第二种开发方式,高级的图像呈现必须要系统开发小组自己完成,也就是第三种开发方式。
2 肝癌危险因素GIS系统三维GIS定义与数据模型设计
2.1 肝癌危险因素GIS系统的定义及开发流程

 因为肝癌危险因素GIS系统调查的对于山体气候不同高度气候是有要求的,所以传统的基于平面的二维GIS不适合设计本文系统,必须使用三维GIS才能完成,特别在空间位置与拓扑关系的描述及空间分析的伸展上更能体现其优势[6-7]。
 肝癌危险GIS系统可以采用的开发方式有三种:(1)难度最大的底层开发,对开发小组要求最高,本系统山体底层立体成像细微部分即采用这种方式的;(2)对于系统大面积的显示整体,本系统利用可视化的软件实现三维信息的显示过程;(3)借助成熟的GIS软件进行三维二次开发,使系统能分山体不同高度建模,增强肝癌危险GIS系统可视化的功能,达到对危险因素准确的数据分析,这种开发是肝癌危险GIS系统[8]最主要的开发方式。
2.2 GIS系统Multipatch多片模块三维数据模型
 Multipatch多片模块在Arc GIS开发系统中定义表示为:描述三维表面的元素集合,在肝癌危险GIS系统中主要是描述山体各种不同的元素集合。系统的多片模块就是在二维山体图形的基础上,将垂直值作为系统山体高度坐标值,得到系统所要的山体三维图形。
2.3 GIS因素系统Multipatch多片模块获取与建模
 肝癌危险因素GIS系统的Multipatch多片模块采用基于矢量结构的三维表面数据模型。而实际采集到的数据是二维的数据,与系统需要的三维数据有很大差距,要求用便捷的方式由二维数据变为三维数据。本文采用两种方法进行二维数据与三维数据的转换:(1)在二维数据生成的图形基础上直接建模转换;(2)把二维数据导入三维模型中,由编程纠错的方法把二维数据转变成三维数据使用。
2.4 GIS系统Multipatch多片模块创建的方式
 肝癌GIS系统的采用在二维数据的图形的基础上直接建模的方式,通过SceneControl控件和C#图形编程结合显示,直接实现肝癌GIS系统对各个采集数据点肝癌发生区在同一个山体不同高度的查询与立体式访问。
建模方式为:(1)拉伸二维底面,用IconstructMultipatch接口实现;(2)使用IGeneraMultipatch接口结合C#编程,并利用GeometryMaterailList实现肝癌GIS系统中更加逼真的多维模块。
可以用IConstructMultipatch接口去创建多维模块的图形的起始底面,从而得到山体不同高度的模型。其代码如下:
 For Altitude=0 TO Altitude(MAX)
 //从山体最低处到山体最高处
 Set cylinder=Shape
 Set IConstructMultipatch=New AltitudeMultipatch
  IConstructMultipatch point=100meter
 //假设每百米列出数据
……
 Next Altitude

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top