三维智慧校园系统的研究与实现
2020-04-08黄伟航王星捷
黄伟航,王星捷
(成都理工大学 工程技术学院,四川 乐山 614007)
0 引 言
在当前的大数据环境下,随着智能化的数据处理技术不断发展,校园信息化的建设也逐渐日新月异趋向智能化、多样化。智慧校园的发展建设需要能够为校园提供一个更加快捷的信息交互平台,使教学、管理、生活充分融合,促进现代教育的发展。
智慧校园不仅只有数字校园建设基础平台,还应该具有人性化的管理。目前在智慧校园系统上的研究已经取得了诸多成果,如基于GIS通过三维建模应用于校园虚拟环境进行模拟[1],使得构建出的虚拟校园模型具有应用性;利用GIS系统实现校园内社团管理[2],实现数据在空间上的表达;利用WIFI无线通信技术对校内个人空间实现智能化管理[3],方便校内人员日常的简单需求;构建校园WIFI定位平台实现利用大数据进行多种平台服务[4]。类似的成果在智慧校园基础上延伸研究还有许多。
但是以上研究强调实现系统的某些功能,缺乏多维数据的融合,缺乏实际校园在虚拟上的映射[5-6],在作为学校整体化的智慧校园系统仍有一定不足。因此,文中在数据上融合了二维空间数据、三维空间数据[7]、时空数据[8-10]和关系数据,在系统上结合了GIS平台,虚拟技术平台[11-12]和C/S的模式实现了三维智慧校园[13-14]。
1 系统框架设计
系统基本构架体系按数据过程流分为基础环境层、数据资源层、核心逻辑层、应用表现层。其中基础环境层包括该系统所需的所有基础;数据资源层包括基本数据库与地理数据库;核心逻辑层通过系统划分的模块将数据层数据进行融合,实现模块对应的功能;应用表现层则将核心逻辑层最后的结果展现在系统平台上。系统框架结构如图1所示。
图1 系统架构
基础环境层为智慧校园实现的基础,服务端基础环境需依托校园网络服务器,该层包含校园网络设施、校园智能终端、校园基础物联网系统、设施维护系统4部分。对于现代化智能网络的需求,智慧校园系统利用校园内部网络高速传输的优势,将校园物联网系统与校园终端连接,实现精确的点对点信息传输,构建出透明的虚拟校园映射,为智慧校园系统作为智能化终端,为大数据处理、智能应用服务提供技术支持基础。使得后期在智能校园终端构建系统发展更加便捷、交互更加流畅。最后作为长期运行的系统还需构建出一个完善的运行管理制度,对服务器设备、数据库资源、系统传输信息、系统运行进行实时的监控管理,使智慧校园为学校实行高效稳定安全的服务管理。
数据资源层包括三种数据库的数据,分别为地理数据、校园基本数据、时空数据。地理数据库中储存用于显示地图与支持空间查询的地理数据,分为二维校园数据与三维校园数据:其中二维数据源于对校园矢量化得到,三维数据在二维数据的基础上,通过对建筑进行实际建模得到;地理属性通过实际采集导入。校园基本数据用于实现校园数据管理,根据对象分为人员数据库与建筑数据库;该类数据都同样源于实际数据导入。时空数据分为状态数据、时间段数据,状态数据与校园基本数据并列,储存人员、建筑信息的实时数据,时间段数据作为时间段对照,数据通过对校园一天的时间分布情况得到,状态数据由SQL语言进行处理。
核心逻辑层实现多种系统模块中的具体功能,所以该层具体的大小由系统模块的功能控制;目前该层已经实现所有功能,但由于智慧校园系统是一个不断发展的人性化系统,该层也将在未来添加更多与时俱进的实用功能。
应用表现层实现核心层与用户的交互,系统采用C/S的结构模式,目前已经实现在PC端上的使用。在PC端采用VS2013为开发工具,以C#为开发语言,在系统中基本数据库采用SQL server的API接口连接SQL数据库,地理信息系统采用MAPGIS数据库作为地理数据库并且使用API实现校园二三维地图相关功能。今后系统将在其他如Android、IOS、Web等常用平台开发上满足使用者在不同场合的使用。
2 系统数据库设计
(1)数据采集设计。
在系统中SQL数据库与空间数据的连接,实现查询建筑内部信息,需要对学校内部所有建筑系统数据的需求进行实际考察,当前系统包含教学楼系统、宿舍系统、图书馆系统,所以在考察过程中对每一间教室、寝室、办公室,每一本图书相关数据进行获取。为了后续数据的延伸和扩展,采用动态批量添加数据的方式,将数据表转为excel表并批量生成SQL语句在SQL server中运行录入,对于地理数据则直接通过MapGIS平台录入,最后将数据矢量化转化为要素类存入地理数据库中。
(2)空间数据库设计。
地理数据库中包括二维数据集、三维数据集、栅格数据。二维数据集包括背景矢量数据、建筑矢量数据、关键点、线数据:显示背景矢量要素通过对校园绿化、湖泊、道路、街道进行矢量得到;建筑数据由实际考察数据进行导入得到;寻路的点要素通过对道路分岔口进行标注,寻路线要素通过MapGIS高级拆分工具将点要素对道路线要素进行打断得到。三维数据集包含背景的三维模型与建筑模型,两种模型都通过实际参考进行建模,提高模型的真实度。通过对学校的遥感影像数据进行单元分割得到对应的栅格数据,该数据用于二维地图矢量数据的底图。
(3)导航图层地理数据设计。
导航路网实际由导航点要素集与导航线要素集构成,点要素通过链表连接相连的点;线要素通过链表连接线要素两端的点要素。点要素与线要素构建了校园道路网络,道路网络作为校园导航基础数据。
(4)关系数据库设计。
该数据库按照对象分为校内人员数据、建筑信息数据;人员数据包括学生数据与教师数据,所有数据通过目前校园管理系统数据表导入得到,建筑数据包括图书馆信息数据、教学楼信息数据、寝室楼信息数据、食堂信息数据,数据的结构及其之间的联系,根据各自信息数据的需求和特性进行设计,并设计了预留的数据接口,方便后续的信息扩展。
(5)时空数据库设计。
该数据库分为状态数据、时间段数据,状态数据为在SQL数据库上进行补充连接,状态存储即时状态代号,状态备注将根据状态不同存储对应的信息,表现该元数据的即时状态。时间段数据包括校园作息时间表和学生课表信息,作息时间表通过校园的作息时间信息获取,并转化为数据表的形式,作为系统时间状态对照基础;学生课表信息同样通过校园排课系统得到的电子版转换为数据表得到。具体设计如图2所示。
图2 时空数据设计
(6)系统数据库关系。
系统分为SQL数据与地理数据:SQL数据包含每一个建筑的数据,地理数据库包含对应建筑的代号,两种数据在这里连接,实现双向查询。以下将分别列举部分地理数据、SQL数据的几个重要连接字段,以及描述连接时字段的作用,便于空间查询和属性查询,如图3所示。
图3 系统数据库关系
空间查询结构:教学楼建筑数据包含每一间教室的数据,其中教学楼地理数据存放在地理数据库中,教室信息数据存放在SQL数据库中,在实现地图至SQL方向的空间查询中,将根据空间查询的结果获取教学楼的数据,再利用数据从SQL数据库中的教学楼属性表获取该教学楼的所有教室信息。
属性查询结构:学生的时空性查询利用学生属性表中的状态字段。在SQL数据库通过属性查询得到目标学生的信息,根据状态字段数据在地理数据库中进行空间查询得到实际的学生时空信息。
3 系统技术实现与实验分析
系统中的地理模块通过引入MapGIS 10.0 API接口服务实现,并作为地理数据库存储基础。该API作为国内主流地信系统API,系统框架的搭建比较全面,功能应用上也较为完善,在实现空间查询功能的过程中可对大数据批量操作并且具有时效快等优点,适用于当前PC端口的开发。
在智慧校园系统中利用此API作为地图服务基础,方便与其他数据结构的连接与空间查询位置的获取。以成都理工大学工程技术学院为例,该系统依据校园内教学楼、宿舍楼、图书馆、食堂分别制作出对应子系统,并在各个子系统实现与时空数据的连接,开发出获取实时建筑状态功能。
三维系统利用MapGIS 10.0 API开发,三维地图是在SketchUp 8三维建模软件中,在二维地图基础上导入现实建筑照片,对校园内所有建筑进行建模。人工建模先比直接拉伸得到三维地图观赏性更强,便于用户交互。
建模完毕后分别导出建筑模型文件与背景模型文件,在MapGIS中导入模型,利用工具转化为3D多面体图层,建立背景图层和建筑图层,之后对建筑图层录入数据,完成三维地图的制作。
图4 三维空间查询
具有属性的建筑模型图层可以在地图中实现三维空间查询,背景模型图层作为显示校园的背景,通过在校园内著名景点部署漫游路线实现对景点的自动漫游功能,如图4所示。
校园导航根据A*最短路径算法[15-16]的思想,同时加入计算路程损失度和路径人流量权重,根据人流情况,智能化地计算路径。
导航需要用到地理数据库中的导航点要素集与导航线要素集,计算路径需获取使用者输入的起始点与终点,两种点通过反向距离法在导航点要素集中找到最短的计算路线点。
寻路大体过程与A*思想相同,开始设置初始点作为当前点,对当前点在导航点要素集进行查询获取与其连接的点,接着对所有连接点计算至终点的损失,损失具体函数如下:
其中,Ep为终点,n为当前点,p为路段拥挤度。
比较所有连接点的损失值,找到最小损失点作为当前点继续循环,直到下一个连接点为终点。
导航在A*思想之上进行了改进,考虑到了在进入错误的岔路时算法将崩溃的情况。改进方法为在崩溃时反向遍历路径,找到最后一个有第二损失的路径点,以此点作为当前点继续计算路径。解决了导航进入错误路径而导致系统崩溃的情况。具体实现效果如图5所示。
图5 校园导航
时空查询在地理数据库与SQL数据库双向链接的基础上实现,分为从地理至SQL方向的空间查询与从SQL至地理方向的属性查询,得到的查询结果同时具有时间性与空间性。
在二维地图上右击获取背景坐标,通过地理转换得到在地图中的坐标,并在地理空间数据库中进行拓扑空间查询得到该建筑物并且在三维地图上定位到该建筑图元的三维信息。方便获取建筑图元属性表中的具体属性信息,根据属性自动关联的SQL属性表,根据属性表将数据具体实时信息显示在查询结果中。如:右击教学楼将显示该教学楼中所有教室的实时信息,右击寝室将查看该楼栋所有寝室实时情况,右击图书馆将查看实时图书馆人数情况,右击食堂将查看实时食堂中菜肴的信息。
属性查询实现对学生、教师、教室、寝室、图书的查询,查询结果包括基本数据、实时状态、当前位置。根据具体的时间进行属性查询,如查询某时段教室信息、寝室信息、学生信息、老师信息以及图书馆的流量信息,可以准确地反映出该时段具体的属性信息,同时对于所查询的信息能够进行空间定位,如教室、寝室这类房间信息还会获取该房间所在楼层的平面图,智能化地查找出所需要查找的学生、教师及行政人员等各种信息。对于某时段查询的学生、教师人员信息能显示该人员的课表信息,上课的教室位置信息,以及该人员的空余时间等智能化信息数据。具体效果如图6所示。
图6 时空信息查询
4 结束语
针对当前智慧校园系统在三维表达、时空性以及综合性方面的不足,研究和实现了三维智慧校园系统,结合三维空间数据库、关系数据库、时空数据库三种数据,采用了MapGIS10.0和SQL server平台对智慧校园系统的框架进行构建,实现了三维时空多维度展现的智慧校园系统,展现出如智慧查询、实时导航、时空查询服务等多种功能。从实验中可以看出,利用该系统取得了良好的效果,为将来三维智慧校园系统以及时空数据应用的发展提供了一定的技术参考。