CN105389167A - 一种Web端实时船舶目标显示方法 - Google Patents
一种Web端实时船舶目标显示方法 Download PDFInfo
- Publication number
- CN105389167A CN105389167A CN201510734450.8A CN201510734450A CN105389167A CN 105389167 A CN105389167 A CN 105389167A CN 201510734450 A CN201510734450 A CN 201510734450A CN 105389167 A CN105389167 A CN 105389167A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- ship target
- html5
- openlayers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
Abstract
本发明公开了一种Web端实时船舶目标显示方法,包括如下步骤:步骤1,接收信息处理模块数据形成船舶目标数据集;步骤2,定时请求服务器数据,形成前端缓存;步骤3,将HTML5绘制层的屏幕位置与OpenLayers显示窗口重合;步骤4,通过HTML5Canvas绘制船舶目标;步骤5,调用Canvas接口绘制辅助内容本方法建立了四叉树索引,在每一个地图索引方格内存储了相应的目标数据,使得在10000批目标情况下,对于某一给定范围内点信息的快速增、删、改、查操作由几十秒缩减到ms级别,大大提高了服务端处理数据的速度。
Description
技术领域
本发明属于一种B/S(Browser/Server浏览器/服务器)架构下的实时图像处理方法,特别是应用于船舶交通管理系统的船舶目标动态绘制的一种基于雷达、AIS融合的Web端实时船舶目标显示方法。
背景技术
船舶交通管理系统是指在一定水域内用以保证船行船舶安全的效率的管理系统。目前船舶交通管理显示系统主要是基于C/S的体系架构,需要在客户端安装并维护相关软件,因此存在着系统部署较为困难、难以升级维护以及多操作系统环境下难以兼容等问题。随着现代信息技术向着分散化、网络化、智能化的纵深领域发展,对今后的可视化系统提出了新的要求和挑战。基于B/S架构的系统利用Internet把数据和分析工具部署在服务端上,不需要在本地计算机上安装数据和应用程序,只需要把请求发送给服务器,服务器就会把数据和分析的结果传送给用户。只要服务端发生改变,客户端将得到即时更新,时刻保证数据的一致性。并且对任何计算机和操作系统都没有限制,真正实现跨平台的操作和应用。此外,还具有操作方便、配置使用简单、系统开发成本低、易于维护和升级等优点。
船舶交通管理系统关注的重点是船舶目标本身。港口内存在大量渔船以及未按要求加装AIS的船只,而船舶的航速、航向等信息都属于动态信息,随时会发生变化,因此需要在基于浏览器的web地图上显示10000批以上的实时刷新的目标。第三方平台提供了基于OpenLayers的开发接口,OpenLayers是目前最主流的web地图前端开发库,拥有众多商业和个人用户,被作为web地图开发的首选。但受制于web平台本身的瓶颈,其性能虽一直在改进却一直没有得到质的提升。经测试,在保证操作流畅的前提下,其最多只能支持1000批左右的目标,与需求差距较大。图形绘制一直是web的瓶颈,除了OpenLayers正在开发的HTML5版本外,目前国内外还没有使用HTML5技术的web地图开发库。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种Web端实时船舶目标显示方法。
为了解决上述技术问题,本发明公开了一种Web端实时船舶目标显示方法,包括以下步骤:
步骤1,接收信息处理模块数据形成船舶目标数据集;
步骤2,定时请求服务器数据,形成前端缓存;
步骤3,将HTML5绘制层的屏幕位置与OpenLayers显示窗口重合;
步骤4,通过HTML5Canvas绘制船舶目标;
步骤5,调用Canvas接口绘制辅助内容。
本发明步骤1包括:
步骤1a,JavaWeb服务端程序启动线程接收由信息处理模块发送的目标报文,建立船舶目标静态信息和船舶目标动态信息两个实体类结构来存放船舶目标信息,解析成目标静态信息和动态信息,进行过滤并存储;
步骤1b,建立船舶目标树管理类,在接收存储报文数据的同时,根据经纬度的地理范围对地图建立四叉树索引,在每一地图索引方格内存储了相应的目标数据,以提供对应的目标管理服务。
本发明步骤2中在浏览器端设置定时器,每隔2秒通过Ajax方式向服务器端请求船舶目标数据生成缓存,包括:
步骤2a,获取当前屏幕所表示的经纬度范围;
步骤2b,通过Ajax方式向服务器端请求屏幕范围内的目标数据;
步骤2c,根据返回的数据更新目标前端缓存;
步骤2d,将屏幕进行网格划分,根据目标数据的经纬度将其分组,形成前端目标数据缓存,用于事件处理使用。
本发明步骤3中,将HTML5绘制层的屏幕位置与OpenLayers显示窗口重合,用Openlayers做绘制的底图,在Openlayers的显示窗口上铺上HTML5的绘制层,两者共享屏幕位置;
在运行过程中,动态获取OpenLayers窗口的大小及位置,计算出其在浏览器中的绝对位置,然后初始化HTML5的Canvas画布对象,使其重合。
本发明步骤4包括:
步骤4a,遍历前端缓存,获取目标数据的实际经纬度坐标,将船舶目标的实际经纬度坐标与屏幕位置进行坐标转换;
步骤4b,获取当前海图的缩放比例,结合目标的真实船长宽数据,确定绘制方式;
获取目标的航行状态;
调用HTML5的Canvas画布对象接口绘制船舶目标符号。
本发明基于B/S的体系架构,借助HTML5在图形绘制方面的优势来改进OpenLayers的性能的思路。
本发明与现有技术相比,其优势体现在:
1)在服务器端接收数据,对于大批量的目标数据来说,查找给定某一范围的目标数据,普通情况下处理效率较低,影响后台的性能。本方法建立了四叉树索引,在每一个地图索引方格内存储了相应的目标数据,使得在10000批目标情况下,对于某一给定范围内点信息的快速增、删、改、查操作由几十秒缩减到ms级别,大大提高了服务端处理数据的速度。
2)采用普通的HTML在前台显示渲染大批量的目标需要耗费大量的前台性能,极其影响前台页面的流畅度及响应时间,通常只能实时显示几百批的目标。本方法采用了HTML5Canvas技术,并且对屏幕进行了分块,在此基础上生成前台缓存,使屏幕的渲染与数据的获取分离,减少了数据传输的带宽,获得了良好的性能,大大缩短了页面的响应时间,可以支持十万级别的点目标。本方法的这种数据与展示解耦的架构具备良好的可扩展性。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为实施例方案图;
图2为绘制方法总流程图;
图3为绘制算法流程图。
具体实施方式
本发明公开了一种Web端实时船舶目标显示方法,包括以下步骤:
步骤1,接收信息处理模块数据形成船舶目标数据集;
步骤2,定时请求服务器数据,形成前端缓存;
步骤3,将HTML5绘制层的屏幕位置与OpenLayers显示窗口重合;
步骤4,通过HTML5Canvas绘制船舶目标;
步骤5,调用Canvas接口绘制辅助内容。
本发明步骤1包括:
步骤1a,JavaWeb服务端程序启动线程接收由信息处理模块发送的目标报文,建立船舶目标静态信息和船舶目标动态信息两个实体类结构来存放船舶目标信息,解析成目标静态信息和动态信息,进行过滤并存储;
步骤1b,建立船舶目标树管理类,在接收存储报文数据的同时,根据经纬度的地理范围对地图建立四叉树索引,在每一地图索引方格内存储了相应的目标数据,以提供对应的目标管理服务。
本发明步骤2中在浏览器端设置定时器,每隔2秒通过Ajax方式向服务器端请求船舶目标数据生成缓存,包括:
步骤2a,获取当前屏幕所表示的经纬度范围;
步骤2b,通过Ajax方式向服务器端请求屏幕范围内的目标数据;
步骤2c,根据返回的数据更新目标前端缓存;
步骤2d,将屏幕进行网格划分,根据目标数据的经纬度将其分组,形成前端目标数据缓存,用于事件处理使用。
本发明步骤3中,将HTML5绘制层的屏幕位置与OpenLayers显示窗口重合,用Openlayers做绘制的底图,在Openlayers的显示窗口上铺上HTML5的绘制层,两者共享屏幕位置;
在运行过程中,动态获取OpenLayers窗口的大小及位置,计算出其在浏览器中的绝对位置,然后初始化HTML5的Canvas画布对象,使其重合。
本发明步骤4包括:
步骤4a,遍历前端缓存,获取目标数据的实际经纬度坐标,将船舶目标的实际经纬度坐标与屏幕位置进行坐标转换;
步骤4b,获取当前海图的缩放比例,结合目标的真实船长宽数据,确定绘制方式;
获取目标的航行状态;
调用HTML5的Canvas画布对象接口绘制船舶目标符号。
本发明基于B/S的体系架构,借助HTML5在图形绘制方面的优势来改进OpenLayers的性能的思路。
实施例
本实施例的目标是借助HTML5在图形绘制方面的优势来改进OpenLayers的性能来进行大批量船舶目标的动态绘制。本实施例的核心思想是用OpenLayers做绘制的底层,完成地图及地理相关的操作,包括地图的拼接、显示、缩放、漫游、测量等等,然后在OpenLayers的显示窗口上再铺上HTML5的绘制层,也就是canvas2D绘图窗口,两个窗口严格重合,并且HTML5绘制层背景设置为透明,两者共享屏幕位置,屏幕位置是二者最重要的连结点。
结合图1技术方案图,图1中中间的HTML5目标目标绘制部分是本方法进行的扩充,替代了下部分中的Openlayers的目标绘制功能,位置信息和事件调度模块是OpenLayers扩展的连结点。
结合图2方法总流程图,方法步骤如下:
第一步,接收信息处理模块数据形成船舶目标数据集。
1)JavaWeb服务端程序启动线程接收由信息处理模块发送的目标报文,建立船舶目标静态信息和船舶目标动态信息两个实体类结构来存放船舶目标信息,解析成目标静态信息和动态信息,进行过滤并存储;
2)建立船舶目标树管理类,在接收存储报文数据的同时,根据经纬度的地理范围对地图建立四叉树索引,在每一地图索引方格内存储了相应的目标数据,以提供相关的目标管理服务。
第二步,定时请求服务器数据,形成前端缓存。
在浏览器端设置定时器,每隔2秒通过Ajax方式向服务器端请求船舶目标数据生成缓存。具体过程如下:
1)获取当前屏幕范围所表示的经纬度范围;
2)通过Ajax方式向服务器端请求屏幕范围内的目标数据;
3)根据返回的数据更新目标前端缓存;
4)将屏幕进行网格划分,根据目标数据的经纬度将其分组,形成前端目标数据缓存,用于事件处理使用。
第三步,将HTML5绘制层的屏幕位置与OpenLayers显示窗口重合,用Openlayers做绘制的底图,在Openlayers的显示窗口上铺上HTML5的绘制层,两者共享屏幕位置。
使用CSS样式表确定OpenLayers窗口的大小和位置,然后在运行过程中,通过JS动态获取OpenLayers窗口的大小及位置(DIV的相对位置),计算出其在浏览器中的绝对位置,然后根据这些信息初始化HTML5的Canvas画布对象,使其重合。
第四步,通过HTML5Canvas绘制船舶目标。
遍历前端目标数据缓存,根据船舶目标的相关信息,进行目标符号的绘制。结合图3绘制算法流程图,具体过程如下:
1)遍历前端缓存,获取目标数据的实际经纬度坐标,将船舶目标的实际经纬度坐标与屏幕位置进行坐标转换,将其转换为对应的屏幕坐标;
2)获取当前海图的缩放比例,结合目标的真实船长和船宽数据,确定绘制方式;
共有3种绘制级别:目标显示为点(大比例尺);目标显示为三角符号(中等比例尺);目标显示为真实轮廓(小比例尺,同时目标的屏幕显示长宽达到一定的阀值)
3)获取目标的航行状态:静止/锚泊、在航、转向;
4)调用Canvas接口绘制船舶目标符号;
第五步,绘制辅助内容.
获取配置参数状态,包括标牌是否显隐、是否有目标被选中、方向矢量线等;根据参数状态,调用Canvas相关接口绘制辅助内容。
本发明提供了一种Web端实时船舶目标显示方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (5)
1.一种Web端实时船舶目标显示方法,其特征在于,包括如下步骤:
步骤1,接收信息处理模块数据形成船舶目标数据集;
步骤2,定时请求服务器数据,形成前端缓存;
步骤3,将HTML5绘制层的屏幕位置与OpenLayers显示窗口重合;
步骤4,通过HTML5Canvas绘制船舶目标;
步骤5,调用Canvas接口绘制辅助内容。
2.根据权利要求1所述的一种Web端实时船舶目标显示方法,其特征在于,
步骤1包括:
步骤1a,JavaWeb服务端程序启动线程接收由信息处理模块发送的目标报文,建立船舶目标静态信息和船舶目标动态信息两个实体类结构来存放船舶目标信息,解析成目标静态信息和动态信息,进行过滤并存储;
步骤1b,建立船舶目标树管理类,在接收存储报文数据的同时,根据经纬度的地理范围对电子地图建立四叉树地图索引,在每一地图索引方格内存储了相应的目标数据,以提供对应的目标管理服务。
3.根据权利要求1所述的一种Web端实时船舶目标显示方法,其特征在于,步骤2中在浏览器端设置定时器,每隔2秒通过Ajax方式向服务器端请求船舶目标数据生成缓存,包括:
步骤2a,获取当前屏幕所表示的经纬度范围;
步骤2b,通过Ajax方式向服务器端请求屏幕范围内的目标数据;
步骤2c,根据返回的数据更新目标前端缓存;
步骤2d,将屏幕进行网格划分,根据目标数据的经纬度将其分组,形成前端目标数据缓存,用于事件处理使用。
4.根据权利要求1所述的一种Web端实时船舶目标显示方法,其特征在于,步骤3中,将HTML5绘制层的屏幕位置与OpenLayers显示窗口重合,用Openlayers做绘制的底图,在Openlayers的显示窗口上铺上HTML5的绘制层,两者共享屏幕位置;
在运行过程中,动态获取OpenLayers窗口的大小及位置,计算出其在浏览器中的绝对位置,然后初始化HTML5的Canvas画布对象,使其重合。
5.根据权利要求3所述的一种Web端实时船舶目标显示方法,其特征在于,步骤4包括:
步骤4a,遍历前端缓存,获取目标数据的实际经纬度坐标,将船舶目标的实际经纬度坐标与屏幕位置进行坐标转换;
步骤4b,获取当前海图的缩放比例,结合目标的真实船长宽数据,确定绘制方式;
获取目标的航行状态;
调用HTML5的Canvas画布对象接口绘制船舶目标符号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510734450.8A CN105389167A (zh) | 2015-11-02 | 2015-11-02 | 一种Web端实时船舶目标显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510734450.8A CN105389167A (zh) | 2015-11-02 | 2015-11-02 | 一种Web端实时船舶目标显示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105389167A true CN105389167A (zh) | 2016-03-09 |
Family
ID=55421474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510734450.8A Pending CN105389167A (zh) | 2015-11-02 | 2015-11-02 | 一种Web端实时船舶目标显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389167A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021555A (zh) * | 2016-05-27 | 2016-10-12 | 电子科技大学 | 一种基于星载ads-b的航迹显示方法 |
CN108228632A (zh) * | 2016-12-15 | 2018-06-29 | 方正国际软件(北京)有限公司 | 一种终端轨迹绘制方法及装置 |
CN108776669A (zh) * | 2018-05-07 | 2018-11-09 | 平安科技(深圳)有限公司 | 地图显示方法、装置、计算机设备和存储介质 |
CN108874938A (zh) * | 2018-06-01 | 2018-11-23 | 深圳乐信软件技术有限公司 | 数据滚动方法、装置、前端设备、后台服务器和介质 |
WO2020173047A1 (zh) * | 2019-02-26 | 2020-09-03 | 紫光云数科技有限公司 | 一种高级地图符号化处理中的颜色填充方法 |
CN113449354A (zh) * | 2021-06-25 | 2021-09-28 | 中国舰船研究设计中心 | 一种基于ipde的船舶产品三维模型数据可视化构建方法 |
-
2015
- 2015-11-02 CN CN201510734450.8A patent/CN105389167A/zh active Pending
Non-Patent Citations (6)
Title |
---|
BAILET A.HANSON: "Mapping APIs:Google Maps APIv3-Getting Started", 《IOWA STATE UNIVERSITY EXTENSION AND OUTREACH》 * |
李超等: "基于Android的移动AIS数据显示系统", 《大连海事大学学报》 * |
淡嘉: "雷达图在WEBGIS上的叠加和应用", 《通信与信息技术》 * |
赵慧芬: "基于MapServe和Openlayer的WebGIS开发", 《测绘与空间地理信息》 * |
闵东龙: "基于HTML5的矢量电子海图服务研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
陈辉: "Web方式下电子海图的显示技术研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021555A (zh) * | 2016-05-27 | 2016-10-12 | 电子科技大学 | 一种基于星载ads-b的航迹显示方法 |
CN108228632A (zh) * | 2016-12-15 | 2018-06-29 | 方正国际软件(北京)有限公司 | 一种终端轨迹绘制方法及装置 |
CN108776669A (zh) * | 2018-05-07 | 2018-11-09 | 平安科技(深圳)有限公司 | 地图显示方法、装置、计算机设备和存储介质 |
CN108776669B (zh) * | 2018-05-07 | 2024-01-09 | 平安科技(深圳)有限公司 | 地图显示方法、装置、计算机设备和存储介质 |
CN108874938A (zh) * | 2018-06-01 | 2018-11-23 | 深圳乐信软件技术有限公司 | 数据滚动方法、装置、前端设备、后台服务器和介质 |
CN108874938B (zh) * | 2018-06-01 | 2021-07-27 | 深圳乐信软件技术有限公司 | 数据滚动方法、装置、前端设备、后台服务器和介质 |
WO2020173047A1 (zh) * | 2019-02-26 | 2020-09-03 | 紫光云数科技有限公司 | 一种高级地图符号化处理中的颜色填充方法 |
CN113449354A (zh) * | 2021-06-25 | 2021-09-28 | 中国舰船研究设计中心 | 一种基于ipde的船舶产品三维模型数据可视化构建方法 |
CN113449354B (zh) * | 2021-06-25 | 2022-03-01 | 中国舰船研究设计中心 | 一种基于ipde的船舶产品三维模型数据可视化构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389167A (zh) | 一种Web端实时船舶目标显示方法 | |
AU2017251816B2 (en) | Rendering map images using modifications of non-raster map data | |
US10533871B2 (en) | Rendering a map using style identifiers | |
CN105516311A (zh) | 一种电子地图全景图获取方法及系统 | |
AU2012316226A1 (en) | Managing map elements using aggregate feature identifiers | |
CN111080782A (zh) | 基于实景三维地理信息系统的可视化系统 | |
CN101908202A (zh) | 一种电子海图的快速显示方法 | |
CN102230968A (zh) | 一种动态物标位置实时更新及显示系统和方法 | |
CN103714213B (zh) | 一种复杂地理信息的并行绘制方法 | |
CN114862999A (zh) | 一种打点渲染方法、装置、设备及存储介质 | |
CN104182498B (zh) | Android平台下电子海图引擎及无时延显示方法 | |
US20230392945A1 (en) | Route plotting method and apparatus, computer device, storage medium and program product | |
CN113495933A (zh) | 一种矢量瓦片显示方法及系统 | |
CN103675763B (zh) | 一种基于硬件加速的矢量化vts系统雷达视频绘制方法 | |
CN114564268A (zh) | 一种设备管理方法、装置、电子设备和存储介质 | |
CN114328769A (zh) | 基于WebGL的北斗网格绘制方法及装置 | |
CN116302579B (zh) | 面向Web端的时空大数据高效加载渲染方法及系统 | |
CN115131472B (zh) | 一种全景切换的过渡处理的方法、装置、设备及介质 | |
CN116912395B (zh) | 基于OpenGL的图形混合渲染方法、装置及存储介质 | |
Hu et al. | Bringing live AIS information on the web sea charts by using ajax | |
US20230140759A1 (en) | Generating a representation of a spherical image | |
Li et al. | The Research and Implementation of Urban Pollution Sources Information Management System Based on ArcGIS Server Web ADF | |
CN108537866B (zh) | 数据处理方法、装置及可读存储介质 | |
Peng et al. | Designing, Analysis and Implementation of Open-source Visualization System for High-Definition Remote Sensing Data Processing | |
CN105320692B (zh) | 一种呈现海量数据的方法、设备和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160309 |