时间:2016-06-21 11:30 文章来源:http://www.lunwenbuluo.com 作者:阚旭 夏戈明 曹源 点击次数:
43D态势图技术探讨
基于uDigSDK+uDigSRC框架下的二次开发尚不能解决3D视图的技术问题,但可以通过其他已经成熟的3D平台提供给java的接口实现上述框架下的三维图形功能。目前领域内存在几种可行平台:Java3D、JOGL以及VTK。
以技术探讨成熟度来说,VTK无疑是首选3D平台,它独有的高速数据处理能力面对海量数据的3D态势图比其他3D平台更有优势,它对其他3D平台函数库的支持实现了各平台间功能上的互补。此外,三维建模中有一个难题:地形表面是一个在空间上连续的空间曲面,而建筑物等地物的地面理论上应该是一个平面。建筑物地面和地形表面相交的部分在空间上是相互叠加的,若不对坐落于地形表面上的建筑物地面做任何处理就叠加在地形表面上,则二者之间必然产生集合缝隙[5]。相比市场上其他3D平台,VTK率先解决了该边界缝隙的问题,下面以VTK为例,介绍三维场景制作及二维三维态势图的交互式响应。
一个简单的三维场景制作首先需定的以下几个环境参数:光源,光线投射方向,光色,光线范围,物体表面形状、颜色、面积、材质,背景颜色,摄像机位置,最后是空间坐标系。若是想实现摄像机视角漫游及鼠标、键盘控制,需新增其他事件监听代码及空间位置信息。以上功能均可用java代码实现,开发人员只需在工程开始前导入相关jar包即可。
从对数据的作用形式看,目前对人一图和图一模之间交互的研究集中在数据表现和数据操作两个方面,前者包括各种专题制图、复杂符号表达、地图叠置、多色彩组织和视图组织等表达技术,后者包括聚集、排序、动画、数据转换和视图连接等操作方法[2]。而本课题下二维与三维图形的交互式响应是指uDig下的二维态势图与VTK制作的3D场景能够根据一种映射关系进行数据交互。这种映射关系可以是坐标,也可以是瓦片图的索引号。另外,为减少服务器加载3D地图时资源的消耗,只在需要观察3D态势图时才进行3D渲染绘制。
2D/3D互响应模块应拥有以下功能:
(1)用户在3D漫游时,2D场景要实时显示用户的位置和视野方向;(2)用户在2D/3D场景中改变观察位置时,对应3D/2D的观察着位置也要改变;在2D/3D场景中查询目标属性时,对应3D/2D场景中的目标需高亮或改变颜色;(3)应用程序初始化时,不调入3D场景,单独在2D地图绘制面板上选择一块区域用于3D场景显示。
5态势图的B\S架构实现
GrassGis、QGis、OpenJUMP、uDig等GIS均属于开源桌面GIS项目,而当前市场上GIS平台的主要应用纷纷建立在WEB架构下。所以,为了能够在互联网平台上发布该项目,需要一个发布平台将上述桌面GIS工程加载到网站服务器中,并实现通过浏览器进行浏览。
uDig下的态势图在B\S平台下的发布相较其他GIS软件容易得多,GeoServer是OpenGISWeb服务器规范的J2EE实现。利用GeoServer可以方便地发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer可以比较容易地在用户之间迅速共享空间地理信息。GeoServer为开发者提供了Web发布服务器上所需的基本组件,相比其他开源软件具有:
(1)基于serlet、STRUTS框架、支持高效的Spring框架开发;
(2)兼容WMS、WFSFeature;
(3)支持PostGis、Shapefile、Oracle、DB2、MySQL等数据库;
(4)支持多种坐标投影;
(5)可以运行在任何基于J2EE/Servlet的容器之上;
(6)嵌入MapBuilder支持Ajax的地图客户端;针对Web端显示地图数据还需在网站项目中新增mapbuilder.js方法,该方法是由MapBuilder平台提供的。开发人员需从官网下载GeoServer平台,在GIS服务器上安装完成后加载uDig工程、导入MapBuilder相关文件。最后根据需求在Web项目中新增数个.xml文件用于网页布局配置、功能模块添加、浏览器下坐标系定义等即可完成uDig工程在互联网平台上的发布。
6展望
上述部分展示的功能实现只是GIS态势图中很小的一部分并对未来态势图中的功能模块进行了划分,下一步的开发与测试还面对这以下问题:
目前虽然实现了JAVA框架下的3D地形地貌的绘制,但存在着系统帧数低,图形化计算速度较慢的问题,这是由于3D显示方法(引擎)设计过于简单,占用大量显存造成的。这个问题上,可以参考OpenGL与DX的图形加速算法;第二个问题在于2D/3D图像之间的转换,特别是坐标转换,随着三维地图数据的增加,系统需要一个统一的坐标转换算法,而不是针对每一个坐标点设计与3D图形投影坐标的对应关系;第三个要解决的问题是二维栅格图的分片与无缝粘贴,这是系统在读取显示高清卫星遥感图的时候需要解决的,面对可能大至T字节的栅格图时,图形不分片,一般服务器或集群都无法短时间内处理,而分片后又怎样将数张图片文件融合成一张新的图片也是下一步工作需要研究的。
参考文献
[1]黄健熙,郭利华,龙毅,等.二维地图与三维虚拟场景的互响应设计与实现[J].测绘信息与工程,2003,28(1).
[2]樊明辉,陈崇成.基于地图的交互式可视化技术[J].华南理工大学学报,2008,36(5).
[3]G.Formetta,A.Antonello,S.Franceschi,O.David,R.Rigon,Hydrological.modelingwithcomponents:AGIS-basedopen-sourceframework.EnvironmentalModelling&Software,2014,55:190-200.
[4]YanmingChen,JiechenWang,ManchunLi,JieLiu,LiangCheng,KangYang,DongCai,3DVisualizationofElectromagneticEnvironment,978-1-61284-848-8/112011IEEE.
[5]SmitaSengupta,KavitaVVGaneshan,N.LSarda,A2CWiC,DevelopingIITBSmartCampusGISGrid,2010,9:16-17.
联系方式
随机阅读
热门排行