基于HTML5和GPS北斗定位技术的船位动态显示系统开发毕业论文
2021-03-29 22:17:24
摘 要
水上交通调度管理中,船舶位置对数据的时效性要求很高。更新不及时的数据不仅给使用者带来不友好的用户体验,还可能把错误的位置信息展示给指挥人员,对水上船舶航行安全性造成威胁。
本文分长连接和短连接两类介绍了当下几种流行的实现Web实时应用的技术方案,并对这些技术方案做了详细的比较,分析了这些技术的优势与不足。
本文介绍了HTML5新提出的WebSocket标准,解析了GPS、北斗定位系统协议,结合网络通信、串口通信、WebGIS等技术,借助ASP.NET SignalR库,设计并实现了基于HTML5和GPS北斗定位技术的船位动态显示系统,提供船舶实时定位、历史记录查询、轨迹回放、距离测量、卫星云图回放等功能。
本文还对WebSocket技术和长轮询技术进行了对比实验,从实践上证明了长轮询方式对资源的浪费和WebSocket传输方式的高效。
关键词:WebGIS;HTML5;WebSocket;GPS;SignalR;实时Web功能
Abstract
In the water traffic dispatching management, the ship position is very demanding on the timeliness of the data. Not updated data not only bring an unfriendly user experience to the user, but also the wrong location information displayed to the command staff threats the safety of marine ship navigation.
This paper introduces the popular technical solutions of real-time Web application, and makes a detailed comparison of these technical solutions, and analyzes the advantages and disadvantages of these technologies.
This paper introduces the new WebSocket standard proposed by HTML5, analyzes the GPS and Beidou positioning system protocol, combines the network communication, serial communication, WebGIS and other technologies, with the help of ASP.NET SignalR library, designs and implements Ship Position Dynamic Display System based on HTML5,GPS and Beidou Location Technology, providing real-time positioning of ships, historical records, track playback, distance measurement, satellite video playback and other functions.
This paper also makes a comparative experiment on WebSocket technology and long polling technology. It proves that the long poll mode causes more resource waste than WebSocket transmission does.
Key Words: WebGIS; HTML5; WebSocket; GPS; SignalR; Real-time Web
目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1 研究的背景及意义 1
1.2 国内外研究现状 1
1.3 本文研究的内容 2
1.4 本文结构 2
第二章 实时Web应用技术 4
2.1 基于短连接的技术方案 4
2.1.1 轮询方式 4
2.1.2 基于AJAX的长轮询方式 5
2.2 基于长连接的技术方案 6
2.2.1 基于Iframe的流方式 6
2.2.2 基于浏览器插件的技术方案 7
2.2.3 基于WebSocket的技术方案 7
2.3 不同Web技术比较 9
2.4 WebSocket简介 10
2.4.1 WebSocket数据帧 10
2.4.2 WebSocket工作过程 11
2.5 本章小结 12
第三章 系统设计 13
3.1 系统功能设计 13
3.2 系统体系结构 16
3.3 本章小结 16
第四章 系统实现与评价 17
4.1 WebSocket连接的建立与关闭 17
4.2 GPS信息读取的实现 19
4.2.1串口读取 19
4.2.2 网络读取 19
4.2.3 GPS北斗定位信息解析 20
4.3 业务逻辑层的实现 20
4.4 地图显示及相关功能的实现 22
4.4.1 实时船舶显示 22
4.4.2 历史轨迹显示 23
4.4.3 云图播放模块 23
4.5 系统分析 24
4.5.1 系统界面展示 24
4.5.2 WebSocket性能分析 26
4.6 本章小结 28
第五章 结语 29
5.1 工作总结 29
5.2 工作展望 30
参考文献 31
致 谢 33
第一章 绪论
1.1 研究的背景及意义
在迈入工业4.0的时代,船舶的数字化、网络化、智能化技术变革,顺应着时代的需要。用户期望获得船舶的实时位置信息以掌握船舶动向,船舶公司期望通过实时监控船舶位置实现对水上交通的调度与管理,能够远程办公,增加办公效率。水上交通运输安全也对船舶位置的信息化提出了更高的要求。因此,建立一个船位动态显示系统以实现对船舶的实时监控与管理显得至关重要。船位动态显示系统的设计要求保证高效性、稳定性以及实时性,这就要求系统能够不断获取船舶位置信息并即时转发,将信息实时地动态地传递到监控中心,以供工作人员使用。
要保证整个系统的即时性,主要从以下两个方面减小时间损耗:服务器通过串口对接收的GPS信息的读取速度;服务器和客户端的通信方式。前者已经有很好的解决方案并且已得到广泛使用,比如基于事件驱动方式的高速串口通信方案。因此,提高系统的实时性关键就是要在服务器和客户端之间的通信上做改进。
传统的实时Web网站技术客户端一般通过不断发送Request请求来轮询服务端数据。在服务器和客户端交流频繁并且数据量偏小的应用场景下,这种发送 AJAX请求给服务器的方式给服务器带来很大的压力,而且定时刷新基本难以满足船舶位置监控对实时性的高要求。这些不足制约着船位动态显示系统的性能。目前需要一种更能保证系统时效性的方案,更好地解决当前动态船位显示系统中所存在的利用率低、跨平台支持性差等缺点,以改进实时Web应用。
1.2 国内外研究现状
WebGIS结合了GIS技术和Internet技术,使得GIS不再仅仅作为一种计算机处理地理信息的系统工具,能够让地理信息愈加容易实现资源共享,使人们能够更容易使用。WebGIS实现的手段主要是基于Web 技术的多级B/S体系结构,即浏览器、GIS服务器、数据库等。B/S模式的构架简化了客户端系统的部署,降低了用户使用难度,同也极大提高了系统的可维护性。对于WebGIS的架构研究,以前主要是对服务器端技术的改进,如使用CGI、Server API等服务端技术,但是这些技术对于服务器及网络的要求较高[1]。传统的WebGIS应用中,基于客户端请求、服务器端响应的工作模式正在被广泛使用,其使用的HTTP协议是一种单向的网络协议,在建立连接后,它只允许Browser/UA(UserAgent)向WebServer发出请求资源后,WebServer才能返回相应的数据[2]。在客户端发展的过程中也出现了很多技术试图改进,插件技术、AJAX技术等都为人熟知。在这些技术中,基于浏览器插件的技术需要安装浏览器插件,这不仅显得麻烦,还给客户端带来了极大的安全隐患。