论文部分内容阅读
随着航运的需要与互联网技术的快速发展,Web电子海图随之应运而生。然而,随着用户对Web电子海图的使用和交互体验的要求越来越高,传统的Web电子海图技术已渐渐难以满足用户的需求。一方面,基于栅格数据的Web电子海图在海图信息分析和交互能力上存在明显的缺陷;另一方面,一些基于插件的Web矢量电子海图显示技术,又存在着需要下载安装、难以跨平台跨浏览器以及带来不安全隐患等问题。HTML5的出现为解决上述问题,构建矢量化、跨平台、跨浏览器的Web电子海图服务提供了一种新方法。本文针对传统Web电子海图服务存在的问题,结合HTML5的Canvas、 WebSocket等诸多新特性,对基于HTML5的矢量电子海图服务及相关应用进行了深入的研究,完成的主要工作如下:(1)Web矢量电子海图数据的组织比较分析了各种海图数据组织形式,选择Shapefile作为进行Web矢量海图服务的数据传输格式。研究了利用JavaScript读取Shapefile格式的海图数据的方法,以在线获取海图数据中的各种点、线以及面物标的地理空间信息和属性值。(2)基于HTML5Canvas的矢量电子海图绘制基于Shapefile数据,结合HTML5Canvas绘图机制和参照S-52/CJ-52海图显示规范,设计并实现了基于Canvas的海图点符号、线符号以及面符号的绘制与渲染。(3)基于HTML5WebSocket的船舶实时监控基于Node.js和PostgreSQL数据库设计并实现了矢量电子海图服务的HTTP服务器以及进行船舶动态监控应用的WebSocket服务器。利用HTML5支持的WebSocket接口实现了服务器端与Web客户端实时双向通信,在矢量电子海图显示的基础上实现了船舶动态的实时绘制。本文顺应Web技术发展的潮流和趋势,提出了一种新型的基于HTML5的Web电子海图服务方式,拓宽了Web电子海图服务研究的思路,对其实现更多的功能和更好的用户体验具有一定的理论意义和应用价值。