案例分享丨如何设计校园导航系统?

在此背景下,西安交通大学积极响应国家创新驱动的号召,建设了中国西部科技创新港——智慧学镇(简称“创新港”)。

西安交通大学图源官博

随着创新港的投入使用,如何更好地提升校园服务水平也成了学校越来越关心的问题。现有的虚拟校园应用主要针对兴庆校区、曲江校区和雁塔校区,有2.5维和3维场景,对各个校区的主要建筑和景观进行了全局性的展示。

该虚拟校园应用存在以下不足:

第一,三维场景存在浏览器壁垒,部分浏览器不支持此项业务,增加了广大师生的使用困难;

第二,功能较为单一,缺少校园导航功能和VR全景功能,缺乏浸入式体验感;

第四,目前没有对创新港进行全覆盖,无法满足师生对创新港所有建筑和景观了解的需求。

该系统实现了创新港校区全方位导航、室内室外无感切换、提供VR全景校园体验、提升了浸入式体验感,满足了在校师生对创新港的了解,更方便地为全校师生提供了路线规划及路线导航服务。

尤其是在抗击新冠肺炎疫情期间,针对广大师生出行不便的问题,利用小程序承载信息应用服务是高校信息部门的主要方法,同时也是广大师生乐于接受的应用服务途径。

系统设计

1.校园导航系统功能设计

校园导航系统由“创新港导览”小程序和后台管理系统两部分组成。

因此,我们选用小程序作为用户服务端,后台管理系统则采用常用的B/S架构,进行数据分析管理。

用户服务端包括创新港校区建筑道路地图展示、创新港校区室外地图导航服务、创新港校区室内建筑各个楼层平面图展示、创新港校区室内地图导航服务、创新港校区VR全景导览。

后台管理端包括室外楼宇命名、室外停车场管理、室内房间分类命名、室内学院命名等功能。具体描述见表1。

表1校园导航系统主要功能及其描述

2.校园导航系统总体架构设计

“创新港导览”小程序和后台管理系统选择采用基于MVC三层架构的微服务形式进行开发(图1)。

图1校园导航系统体系结构

MVC三层架构分离模式实现展示层、服务层、数据层三层分离,前后端分离、数据层和逻辑层进行分离,采用微服务形式进行业务开发实现各个服务相互解耦、各自独立,方便维护升级,也方便后续的系统扩展。

“创新港导览”小程序系统各层之间通过接口形式传递数据。

服务层主要是对外提供基础功能服务,包含小程序业务子系统、室外地图子系统、室内地图子系统、VR全景子系统、后台管理子系统五个子系统模块。

3.校园导航系统总体功能流程设计

校园导航系统总体功能流程主要分为以下五种:室外导航流程、室内导航流程、室外室内混合导航流程、扫码定位流程、VR导览流程。具体功能描述见表2。

表2校园导航系统总体功能流程及其描述

4.校园导航系统数据库设计

校园导航系统的数据采用双层数据库设计的方法(图2)。

图2校园导航系统数据库设计

底层采用MySQL关系型数据库和MongoDB非关系型数据库合作构建永久存储层,MySQL存储楼宇、道路、楼层、标记物等地图元素主体,以及他们之间的拓扑标注,MongoDB存储各种图层的矢量图片。

上层在内存中构建内存临时数据库,实现持久层数据在内存中的缓存映射,同时在内存数据库中结合不同的元素主题和拓扑关系生成所有的路线路网,数据请求时会在内存中进行节点映射,找到对应线路,然后进行渲染输出。

系统实现

校园导航系统采用C++语言和MySQL数据库、MongoDB数据库,结合MVVM模式,采用了独特的四层架构设计,将前端界面、业务逻辑、内存数据库、永久存储数据库进行分离。

1.前端界面

前端界面采用了MVVM框架进行开发,采用ModelView概念实现了视图和视图数据模型的分离,同时引入观察者模式实现有效的数据监听和数据订阅,开发了基于小程序端和PC的前端界面。

2.业务逻辑层

业务逻辑层处理核心的业务逻辑和数据计算任务,包含路径选择、位置坐标转换等,其封装了对数据库的所有操作。

3.内存数据库缓存层

内存数据库采用具有自定义的内存模型数据库,将地图拓扑数据在内存中进行全量重建,实现对数据库数据的缓存,保证系统的快速响应。

4.用户数据库存储层

采用MySQL和MongoDB结合的方式,存储结构化数据和非结构化数据。

在系统的安全和性能指标上,做了如下处理:

第一,前端服务器对外只开放80端口,并且采用防火墙和反向代理技术,隔离前端请求和业务服务器,同时业务服务器和数据库服务器实现分离,数据库服务器部署在内网,采用master-slave备份机制;

校园导航系统(图3)根据创新港校区的实际环境实现了室内、室外自定义地图展示,对创新港校区所有路网、建筑物室内、外地图的全覆盖,通过系统可以了解创新港校区内所有建筑物以及景观。

图3校园导航系统室内外导航界面

系统还具有室外路径实时导航、室内路径导览、校园VR全景地图(图4)以及会议导航等功能,极大地丰富了校园地图系统功能的多样性,能够满足不同用户的不同需求。

图4VR全景校园界面

通过小程序的承载克服了系统在浏览器上不兼容的问题,用户只需通过小程序端或者“西安交通大学App”就可进入校园导航系统,随时随地使用。

THE END
1.学习数据库最重要的应用之一数据库设计案例后来从需求文档开始开发一个项目,我也是懵懵懂懂,由于队友提前把数据库建好了,我并没有学到建立数据库的知识。 也是某次契机,面试时面试官询问:你如何设计这个数据库的? 于是回去我恶补了一下,花了半个星期,终于把我学过的知识联系起来。 数据库设计:是比使用SQL语句更重要的知识,因为使用SQL语句的基础,先是有https://blog.csdn.net/weixin_62411896/article/details/139304680
2.mysql数据库设计案例,MySQL数据库设计案例分析通过以上的数据库设计案例分析,我们可以看到,在进行MySQL数据库设计时,需要考虑到需求分析、概念设计、逻辑设计、物理设计、性能优化、安全设计、数据备份与恢复等方面。只有综合考虑到这些方面,才能设计出高效、安全、可靠的数据库系统。MySQL数据库设计是一个复杂而又有挑战性的工作,需要设计人员具备扎实的数据库知识和丰https://www.nzw6.com/23096.html
3.DBA之路之数据库设计案例51CTO博客DBA之路之数据库设计案例 此处引用某老师的案例给大家说明,还有就是希望大家看此篇文章前先看前面的两篇不然会有些懵哈:http://linuxclub.info/category/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86/ 教学管理 1.基本需求 某学校设计学生教学管理系统,学生实体包括学号、姓名、性别、生日、名族、https://blog.51cto.com/lirenpgood/1830586
4.案例数据库设计9篇(全文)案例数据库设计 第1篇 为方便下面结合案例讲述数据库设计的相关问题,先简要阐述下“基于SNS的学习社区平台”的最基本的用户需求:SNS即Social Networking Services,专指旨在帮助人们建立社会性网络学习平台的互联网应用服务。所面向的对象主要是各校学生及教师等。公共社区里,学生可以获取老师提供的学习资源和教学资料,可以https://www.99xueshu.com/w/ikey3pf3ms57.html
5.数据库设计案例:电商系统数据库设计实践简介: 数据库设计案例:电商系统数据库设计实践 随着互联网的迅猛发展,电商行业成为了经济发展的重要驱动力。在电商系统的建设中,数据库设计是核心环节之一。本文将通过一个电商系统的数据库设计案例,深入探讨数据库设计的思路、方法和实践,并附有相关代码和实例表格。 一、电商系统概述 假设我们要设计一个简单的电商https://developer.aliyun.com/article/1489705
6.MySQL之权限以及设计数据库案例讲解Mysql这篇文章主要介绍了MySQL之权限以及设计数据库案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!【 如果你想靠AI翻身,你先需要一个靠谱的工具!】 权限及设计数据库 用户管理 使用SQLyog 创建用户,并授予权限https://www.jb51.net/article/219116.htm
7.数据库设计大作业案例.doc数据库数据库设计大作业案例.doc 13页内容提供方:xinshengwencai 大小:307.5 KB 字数:约4.91千字 发布时间:2016-08-06发布于江西 浏览人气:6003 下载次数:仅上传者可见 收藏次数:10 需要金币:*** 金币 (10金币=人民币1元)数据库设计大作业案例.doc 关闭预览 想预览更多内容,点击免费在线预览全文 https://max.book118.com/html/2016/0806/50539797.shtm
8.典型案例数据库设计文档类码农集市专业分享IT编程学习资源1.5.4数据流图 7 1.5.5实体与数据 7 1.5.6联系与数据 7 1.5.7数据字典 8 2概念设计 14 2.1实体图 14 2.2 多个实体间的联系图 16 2.3总体ER图 18 3逻辑设计 19 3.1关系设计 19 3.2关系优化 20 3.3约束的说明 22 3.4基本表 23 4物理设计 25 4.1确定数据库的存储结构 25 4.2确定数据库的存取方法 26https://www.coder100.com/index/index/content/id/1098775
9.数据库复习笔记(全覆盖,包括往年部分真题)腾讯云开发者社区**6、数据库设计(复习数据库设计案例)** 6.1数据库设计的基本过程及每阶段的主要任务 数据库设计通常分为6个阶段 1、需求分析:分析用户的需求,包括数据、功能和性能需求; 分析方法常用SA(Structured Analysis) 结构化分析方法,SA方法从最上层的系统组织结构入手,采用自顶向下,逐层分解的方式分析系统。 数据流图表https://cloud.tencent.com/developer/article/2055640
10.数据库设计案例一个好的数据库设计方案,可以提高信息的存储和检索效率,减少数据冗余和错误,提高数据的安全性和可靠性。 一个典型的数据库设计案例包括以下步骤: 1.需求分析:确定数据库系统的需求和目标,包括数据类型、数据量、数据流向等。 2.数据库设计:根据需求分析结果,设计数据库结构,包括实体、关系、属性、主键、外键等。 3https://wenku.baidu.com/view/79b89f700366f5335a8102d276a20029bd6463ee.html
11.Java架构设计之总体设计案例高性能高并发微服务架构设计2.4 数据库(database) 可能被采用的数据库有Oracle、MySQL,使用Mysql的好处有: l 源免费数据库,使用较新稳定版本5.5 l 功能强大,稳定; l 经历过有广泛的成熟的应用实践考验; l 使用经验比较丰富,容易上手,使用简单; l 视用户量情况考虑,前期小规模的时候采用Master-Slave主从模式备份。后期逐步考虑:实现数据库https://www.soft1188.com/javabk/2974.html
12.空间数据库课程实践教学设计及案例展示期刊摘要:空间数据库课程的实践教学环节在整个课程教学中至关重要,理论的教学也是围绕实践应用服务.本文就目前较为薄弱的实践环节教学设计进行初步探讨,研究在空间数据库设计、建立、应用分析和系统开发的GIS相关专业课教学过程中,本课程的侧重点及起到的衔接作用,结合案例对空间数据库的实践教学具体实施过程进行展示.注重在空https://d.wanfangdata.com.cn/Periodical/dbch201512003
13.“新城建”优秀案例:珠江设计全建制BIM正向设计关键技术与实施充分应用BIM通过可视化三维设计协同,碰撞检测、管线优化协调、平台信息化管理等等,进行提前分析及判断,带来大幅的工程成本节约。 3. 积累户型数据库 通过本项目积累了多个户型库、多个数据积累家具库及构件数据族库,形成了后期集团类似住宅项目可重复利用的宝贵资源。 https://zfcj.gz.gov.cn/zjyw/xxhgz/xxhgz/content/post_8824957.html
14.数据库课程之分布式数据库设计(二)这篇文章将主要是记录分布式数据库系统的设计课程总结,也就是该门课程的第二章。该门课程主要分为三个部分,第一部分主要介绍一些基础概念(也就是第一篇文章),第二部分主要是讲分布式数据库系统的设计(也就是该篇文章,实际课程中只占据一个章节),第三部分主要讲数据库管理系统中的一些技术实现要点。第三部分是该https://www.jianshu.com/p/4054536be05f
15.ER图深度剖析:数据库设计与数据关系呈现的专业指南(3)丰富的模板资源:boardmix的社区板块内置丰富的ER图案例模板,可以免费套用,帮助你快速完成制作! 以上就是有关ER图的全部内容了。ER图在数据库设计和数据关系呈现中具有重要的作用和优势。它通过可视化数据模型、清晰的数据关系表示帮助人们更好地理解和管理数据库系统。 https://boardmix.cn/article/what-is-entity-relationship-diagram/
16.电子商务网站建设第7章 网络数据库设计 7.1Web数据库概述 7.2 建立ODBC数据文件 7.3数据库服务器与Web服务器连接 第8章ASP编程实现 8.1 ASP一般规则 8.2 ASP对象模型 8.3 ASP NET环境应用 习题 第9章 网站管理与维护 9.1 网站管理的基础知识 9.2 网站管理的内容 9.3网站测试及性能优化 习题 第10章 电子商务网站案例 10.1 中小https://baike.sogou.com/v5852534.htm
17.实体关系数据建模案例CDGP可参考数据建模是数据库设计的基础。 数据建模是数据工程中的一个关键过程,涉及创建可视化数据库表示。此流程定义并分析支持组织中业务发展所需的数据需求。存在多种数据建模,例如实体关系(ER)、关系、层次、维度等。在本文中,重点关注 ER 数据建模。在深入研究主题 ER 数据建模之前,让我们先了解一下为什么需要数据建模。 https://36kr.com/p/2622172083853699