APP下载

基于Cesium平台的GIS园区系统开发

2019-01-23王方雄康祥瑞

软件 2018年12期
关键词:功能模块矢量园区

杨 兵,王方雄*,康祥瑞



基于Cesium平台的GIS园区系统开发

杨 兵1,2,王方雄1,2*,康祥瑞3

(1. 辽宁师范大学 辽宁省自然地理与空间信息科学重点实验室,辽宁 大连 116029;2. 辽宁师范大学 城市与环境学院,辽宁 大连 116029;3. 北京超图软件股份有限公司,辽宁 沈阳 110015)

基于Cesium技术,探索了二三维于一体的GIS园区系统的设计方案与开发技术。系统实现了地图在线浏览、三维测量标绘、园区信息管理、场景模型展示等。利用mysql数据库解决了三维模型在线添加不能存储的问题。为GIS园区开发提供了一套完整的设计思路及开发方案。

Cesium;GIS园区;WebGIS

0 引言

至数字地球[1-2]概念被提出以来,WebGIS技术在定位导航、旅游管理、环境保护、综合治理、城乡建设等诸多领域展现出强大的应用潜力和市场价值[3-9]。现阶段园区网站开发常采用三维GIS。对于加载三维场景多采用发布为地图服务的方式来实现,但这较难实现模型的动态添加及存储[10]。本文采用mysql数据库来存储模型的坐标及属性在需要时在由前端调用渲染的设计思路成功解决了这一 问题。

1 系统设计

1.1 系统结构设计

园区GIS系统采用B/S三层架构[11]。表现层(UI层)采用标准的浏览器形式向用户提供访问系统的客户端。该层主要采用HTML5+CSS3编写,运用超图iServer和WebGL API实现二维矢量数据和三维模型场景相结合的GIS二三维一体化。服务层包括Web服务器和应用服务器,选用Apache+Tomcat可以很好地承接起数据到接口的调用访问从而将数据层和表现层连接起来。数据层主要完成系统中所有数据的存储及访问,为服务层和表现层提供数据支持。为更好地支持当前主流数据,系统以BingMap作为底图、矢量数据采用KMZ、三维模型采用gtlf、场景数据采用SuperMap iServer发布的三维倾斜摄影数据;同时用MySQL数据库来存储gtlf模型的属性信息以满足增删改查操作的需求,用本地Json数据来存储一些不需要经常改动的文案数据以保证系统最快的加载速度。

1.2 系统界面设计

系统界面框架主要由Html5+Css3+JavaScript搭建,并引用jQuery及Bootstrap等插件为用户提供了自由缩放颜色变化等良好的交互体验。主界面上边为模块选项卡与左侧的功能面板联动显示,中间为地图主窗口,用来装载网络地图、矢量数据、三维切片及模型,主窗口的下方浮动着坐标控件。主界面右侧为信息面板可根据所选择的功能改变显示隐藏状态。

1.3 系统功能设计

系统采用模块化的功能设计。主要包括地图基础功能模块、辅助工具模块、园区管理模块、模型管理模块、场景漫游模块如图1所示。基础功能模块除一些常见的地图浏览功能外还具有三维地图特有的视角切换、光照模拟功能。辅助工具模块主要包括二三维场景的测量标绘。园区管理模块主要完成园区所有矢量数据的加载与移除,以及信息推 送显示。场景模型模块主要完成三维场景加载及移除、实现场景漫游,以及实体模型的添加、显示和删除。

1.4 系统数据库设计

通常WebGIS系统中动态添加的三维gtlf模型本身不具有任何属性,也无法在添加后实现保存。为此系统引入MySQL数据库来存储gtlf模型的属性信息并在页面初始化时逐一动态渲染。该类模型在数据库中的属性数据字典如表1。

图1 系统功能模块

表1 模型数据属性字典

Tab.1 Model data attribute dictionary

2 系统功能实现

2.1 基础功能模块

基础功能模块通过Cesium创建Viewer对象。通过Viewer对象加载动画控件和时间线控件;通过Viewer的BingMapsImageryProvider加载必应地图,同时开启光照模拟;通过Viewer的Scene.addS3­MTilesLayerByScp实例化promise来加载倾斜摄影数据。当鼠标在地图窗口移动时坐标标签会实时显示鼠标所在位置的经纬度、海拔高度及相机高度信息。右键双击地图某点会弹出该位置坐标信息。初始化完成后界面如图2所示。

2.2 辅助功能模块

辅助功能模块通过Cesium的MeasureHandler来实例化对应的测量对象并绑定相应的测量事件。通过Cesium的DrawHander来创建点、线、面、标注对象并分别绑定绘制点、绘制线、绘制面、添加标注事件,然后通过激活对应的事件完成测量或标绘。添加标注完成后会自动调用保存事件通过ajax将标注的经纬度传至后台并保存至MySql数据库中。系统中的清除按钮绑定了清除测量标绘事件,能够清除对应事件在画布创建的矢量数据但不会清除数据库中保存的点坐标。

图2 系统初始界面

2.3 园区管理模块

园区管理模块通过Cesium的KmlDataSource的load方法向Viewer的dataSources加载kmz矢量数据并设置相机视角,并在需要时通过remove方法移除对应图层。加载的数据包括园区边界、路网数据、用地类型等。单击某图层中的元素会在右上角弹出该元素属性信息及视角转换控件,谈及空白地区退出属性查看。弹窗部分能够以文本、音频、视频等格式展示园区内各设施场所的信息。为了更加快速的获取数据文本信息以json格式存储在项目的本地文件夹中通过ajax来遍历访问。

2.4 场景模型模块

场景模型模块通过Viewer的entities在线添加gtlf模型,添加完成后通过ajax调用后台方法将所添加模型的经纬度、类型、尺寸存储至数据库。调用显示所有模型时,将从数据库取出对应模型的所有记录,每条记录都会被组装加工成一个实体模型渲染在地图相应位置。开启场景漫游功能后,能通过“W、S、A、D”按键来移动相机视角实现场景漫游。功能界面如图3所示。

图3 添加三维模型

3 结束语

GIS园区系统采用JavaEE作为开发平台。前端采用Html5+Css3+JavaScript开发,后台采用java编写,并引用jQuery、Bootstrap等多种插件优化界面UI。通过SuperMap iServer发布地图服务,依托Cesium将网络地图作为地图来源实现二维矢量数据与三维场景的一体化展示查询。系统采用网络数据库+本地文件相结合形式存储s3m、gtlf、json、kmz、mp3、MP4、png等多种数据格式,即解决了实体模型无法存储的问题又兼顾了数据的加载速度。为GIS园区开发提供了一套完整的设计方案及思路。

[1] 李德仁. 数字地球与“3S”技术[J]. 中国测绘, 2003(02): 30-33.

[2] 黄亮, 於雪琴. 基于雨课堂的《数字地球导论》课程教学模式改革研究[J]. 软件, 2018, 39(08): 224-227.

[3] 张彧. 基于Cesium平台的导航卫星轨道模拟与可视化[D]. 华东师范大学, 2017.

[4] 陈俊, 张雷, 王远飞. 基于北斗和GPS的森林防火人员调度指挥系统[J]. 软件, 2012, 33(02): 27-30.

[5] 张毕祥. 基于倾斜摄影测量技术在大比例尺地形图测绘中的研究[J]. 软件, 2018, 39(7): 146-151

[6] 张欣, 张汉中, 董伟哲, 周小平. 基于WebGIS和虚拟现实的智慧旅游深度结合研究[J]. 中国新通信, 2018, 20(08): 58-60.

[7] 陈美伊. 基于GIS 的旅游景区虚拟实现技术的研究[J]. 软件, 2015, 36(10): 30-32

[8] 李月华. 基于WebGIS的环境监管云平台设计与建设[J]. 测绘与空间地理信息, 2017, 40(01): 121-124+127.

[9] 赵桔青, 陶福寿. 基于GIS的城镇土地资源承载力评价[J]. 软件, 2018, 39(7): 52-56.

[10] 李海生, 赖龙, 蔡强, 毛典辉, 陈谊. Hadoop环境下三维模型的存储及形状分布特征提取[J]. 计算机研究与发展, 2014, 51(S2): 18-29.

[11] 黄兴荣. 基于B/S架构模式的三层结构设计与实现[J]. 电脑知识与技术, 2015, 11(32): 52-53.

Development of GIS Park System Based on Cesium Platform

YANG Bing1,2, WANG Fang-xiong1,2*, KANG Xiang-rui3

(1. Liaoning Key Lab of Physical Geography and Geomatics, Liaoning Normal University, Dalian 116029, China; 2. School of Urban and Environmental Sciences,Liaoning Normal University, Dalian 116029, China; 3. SuperMap Software Co., Ltd. Shenyang 110015, China)

Based on Cesium technology, the technique of development and project of design for GIS Industrial Park System that combines 2D and 3D is groped after. The system manages to realize map online browsing, 3D measure marking, park information management as well as exhibition of site model. It solves the problem of saving online 3D model attachment using MySQL database, offering an integral design thought and development project for GIS Park development.

Cesium; GIS park; WebGIS

TP311.52

A

10.3969/j.issn.1003-6970.2018.12.023

杨兵(1992-),男,研究生,主要研究方向:WebGIS研究与开发;康祥瑞(1991-),男,研究生毕业,主要研究方向:GIS开发与遥感应用。

王方雄(1973-),男,副教授,主要研究方向:GIS建模与集成、网络GIS。

杨兵,王方雄,康祥瑞. 基于Cesium平台的GIS园区系统开发[J]. 软件,2018,39(12):99-102

猜你喜欢

功能模块矢量园区
苏通园区:激荡开放潮 十年再出发
基于矢量最优估计的稳健测向方法
输电线路附着物测算系统测算功能模块的研究
M市石油装备公服平台网站主要功能模块设计与实现
功能模块的设计与应用研究
色料减色混合色矢量计算