校园三维可视化系统利用GIS、遥感、三维建模技术、图像处理等技术对校园内部及周边的地形、道路、校内建筑、景观等进行三维建模,构建出了逼真的三维校园场景,实现了地理信息交互、校园场景漫游、安防信息查询等功能,从而把校园规划从二维转换为三维,提升了校园规划与管理的效率。
1. 校园三维可视化系统架构
校园三维可视化系统由数据采集层、数据存储层、数据预处理层及数据可视化层组成。
(1)数据采集层用于实现数据源的输入和采集,系统需处理的数据主要分为三类:静态数据、动态数据和表单数据。静态数据是指三维场景中的静态模型、材质等数据,可以通过计算机辅助设计CAD源文件获取,CAD源文件可由常用的三维建模软件生成,例如三维动画软件、CAD、MAMY等;动态数据是指在三维场景中需要被动态更新的数据,例如实验室环境监测数据、用户定位信息等,不同的动态信息采集需要通过相应的第三方服务或系统平台来获取,例如用户手机定位服务、实验室安防系等;表单数据是指系统管理所涉及的常规二维数据,例如用户信息、日志信息等。
(2)数据存储层采用了MySQL数据库管理工具,主要负责静态数据与表单数据的存储管理,存储的数据主要包括场景数据、建筑物数据及其他的二维数据。
(3)数据预处理层用于实现数据存储层与数据可视化层的数据格式转换和交互,针对三维静态类数据,采用标准的JSON格式进行数据转换和封装,通过异步方式实现通信[5];针对动态数据,数据预处理层直接由数据采集层获取源数据,再以变量的形式存储在内存当中,不需要通过数据存储层进行数据管理,通信采用了WebSocket协议标准,实现了数据的全双工实时通信,大大提高了动态数据的传输效率。
(4)数据可视化层负责前端浏览器与可视化数据服务端的功能实现,以组件方式集成了三维视图显示所必需的功能模块,主要包括功能组件、业务组件、视图组件三个模块:
1)功能组件用于解决三维场景初始化、场景图形渲染、场景资源销毁等问题。
2)业务组件用于实现场景交互、数据交互、业务逻辑控制等功能。场景交互是指用户与三维场景的虚拟交互,例如场景漫游、视角切换、场景切换等;数据交互则指的是针对三维场景的数据交互,例如用户定位信息的获取、场景特定对象的信息查阅、实验室环境监测数据获取等;业务逻辑控制是指在各类交互事件中的业务流程控制,包括用户身份验证、数据延时控制等。
3)视图组件用于解决浏览器页面中二维信息的正常显示,常用组件包括UI控件、HTML标签、CSS样式等。其中功能组件与业务组件中的场景交互功能开发,是基于WebGL的集成库three.js框架来实现的,three.js提供了丰富的三维图形处理函数,可用于实现各类复杂的三维图形处理和功能交互,并且提供了相应的优化机制,能有效提高三维图形的处理效率。
2. 校园三维可视化系统功能
校园三维可视化系统的主要功能主要包含三维地理信息交互、校园三维实景展示、安保数据管理等三大模块。
2.1 三维地理信息交互
三维地理信息交互模块包括用户定位、地理信息查询、地理信息标注三个子功能模块,该模块以WebGL内置三维地理信息系统为核心,通过接口调用获取到校园三维空间构建所需的平面地理坐标信息,将其实时绘制并在浏览器中更新,在此基础上再通过调用用户手机定位接口,获取用户在校园地图上的位置,用户可以通过该模块进行地理位置的定点查询,也可以自定义标注地标信息。
2.2 校园三维实景展示
校园三维实景展示模块基于校园实景建模,实现了三维校园场景的虚拟展示,并提供了三种交互方式:场景漫游、场景切换、视角切换。场景漫游功能可以让用户基于摄像机视角在虚拟场景中进行移动、旋转等交互。场景切换是将校园分区域建立了不同的三维场景,用户通过场景切换功能可以选择不同的场景进行浏览。视角切换用于切换三维场景中的摄像机视角,该模块提供了两种交互视角:第一人称视角与第三人称视角。用户可以进行个性化选择。
2.3 安保数据管理
安保数据管理模块主要用于校园安保信息的采集与管理,包括监控点定位、监控数据查询、预警数据查询等功能。该模块需要以校园安防系统作为底层数据支持,在此基础上对安防数据的地理信息进行三维映射,以实现三维场景中的监控点定位和立体化的监控、预警数据查询。
校园三维可视化系统通过将整个校园在计算机上虚拟再现,为校园管理和服务提供一个科学简便、形象直观的可视化人机交互平台,为高校提升现代化管理水平和效率,实现信息和资源共享,树立学校品牌形象,扩大学校影响力提供了契机。