周蓉 徐海东 马强 李光正 王鸿鹏
摘要
本文通过介绍Google Maps的功能及使用方法,以威海港及周边港口为例,设计基于Google Maps的溢油点与应急设备间的行程导航,实时显示溢油点与周围调集的应急设备行程状况,为及时调集溢油应急设备提供导航,并进行应急设备达到时间的估算,最终为溢油应急处理决策的制定提供及时有效的信息。
【关键词】溢油 Google Maps 导航
1 引言
随着航运事业的蓬勃发展,中国近海溢油事故在近几十年中不断发生,在发生事故以后,如何以最大限度减少海上溢油造成的污染,保护海洋生态环境,已经成为日益迫切的社会问题。随着国内外科研院所及各港口对溢油事故及应急反应的不断重视,溢油相关软件的设计和开发不断成熟,目前已经研究成型的绝大部分溢油软件系统主要以模拟溢油行为、归宿为主,技术较为成熟,模拟结果的精度和可信度较高,但针对溢油应急设备的配优化、溢油应急处理所需设备调集预测和行程导航设计等还缺少实质性研究。
本文研究立足于威海辖区的海上溢油和岸线保护,其中包括威海港、石岛港、烟台港等周边港口,设计基于Google Maps实时显示溢油点与周围调集的应急设备行程状况,为及时调集溢油应急设备提供导航,并进行应急设备到达时间及距离的估算,为溢油应急处理决策的制定提供及时有效的信息。
2 Google Maps简介
Google Maps是Google公司提供的电子地图服务,该地图服务根据用户需求可提供三种不同形式的地图:矢量地图、卫星照片和地形视图。通过对地图进行编辑,可以进行商户查找、地图查看、公交查询和驾车导航等,从而帮助开发者打造个性化的地图应用站点。图1为Google Maps矢量地图和卫星地图地图示例。
Google Maps为代表的地图服务的推出开创了全球地理信息服务新的开端,其具有操作简单、地图预生成、分析功能强大、开发成本低、数据及时更新等特点。2005年Google对外提供了便于二次开发的开放式地图服务应用程序接口(Google Maps API),使Google Maps的地圖服务更好的服务于不同领域用户,使用过程中开发者通过在Google地图服务基础上使用Java Script脚本语言调用这些API将Google方便嵌入到Web、Android和iOS应用中,并进行应用开发拓展,如给地图添加相应标注、覆盖物及路径,响应用户的点击动作等,以达到满足各行业及个人具体需求的目的。
3 系统设计
基于Google Maps的溢油点与应急设备间的行程导航设计是基于GIS与Google Maps的溢油应急设备智能系统的一部分,也是基于GIS与物联网的船舶海上溢油污染智能检测与控制系统的基础性工作。主要以威海港及周边港口为研究对象,在发生溢油事故时,能够通过系统显示溢油海域周边港口应急设备到溢油港口行程及导航时间,通过与溢油设备智能知识库相结合,形成较完善的溢油智能应急系统,为溢油污染处理提供知识策略,为整个系统的运行提供支持和保障。研究内容在整个系统设计功能中的作用如图2所示。
本文利用Google Maps的地理信息服务功能,在记事本环境或者Dream weaver环境中,采用Java Script语言添加相应用户程序,创建自己需要的用户界面,然后通过内部网络或广域网进行操作,客户端浏览器通过HTTP协议发送请求,服务器接受请求后,执行Java Script脚本语言,最后将后台数据结果返回给客户端浏览器上的用户界面,用户可以在相应界而中进行操作,以满足实时需求。
主要利用Google Maps API的叠加、事件控制和控件集来实现溢油应急设备调集行程导航:
(1)叠加:地图上有经纬坐标的对象集合,会随鼠标拖动或缩放地图而移动;
(2)事件:使用onChangeHandler()事件处理程序来注册事件的监听,当指定的事件发生时,函数将被调用;
(3)控件集:根据开发者需求利用默认控件和添加控件实现对地图的操作。
4 功能实现
4.1 注册API密钥
我们要想利用Google Maps API功能,首先需要注册以获取API密钥,注册时需要提供网站的URL,每一个不同的URL都必须申请一个专门的API密钥。当申请到API密钥之后,在相应的Java Script脚本语句中添加自己的密钥,就可以将Google Maps嵌入到网页中,便可对其进行开发拓展。
4.2 初始化地图
本文主要以威海港及周边港口作为研究对象,因此需要将地图进行定位并缩放,以便能够较清楚显示区域信息,所以将烕海港定位为地图中心点:既可以采用地理位置名称(烕海港)进行定位也可以采用该地理位置的经纬度(37.442768,122.19937)进行定位,本文采用经纬度进行定位。地图缩放等级选择为5-8,选择标准:每个缩放比例下会看到的大致细节级别为:1:世界;5:大陆/洲;10:城市;15:街道;20:建筑物。本文选为8。效果如图3所示。
初始化地图对象:
4.3 添加应用程序
成功创建一副地图后,若想要实现不同功能,需要在地图上添加一些控件,也可以创建自己的控件以处理与用户的交互操作,如路线导航功能需要选择不同港口,通过“onChangeHandler”事件,调用directionsService.route功能,计算所选设备库所在港口到溢油应急点之间的行程导航时间与距离:
4.4 显示选择窗口
港口发生溢油事故时可从不同应急设备库调集应急物资,因此需要在地图上方浮动选择窗口,通过鼠标点击选择,后台程序通过监听器调用路径计算程序,从而在页面显示相应信息提示框,表示相应的时间、距离、路线信息。
溢油应急点选择、周边溢油设备港口选择及信息显示框如图4所示。
整体效果如图5。
假如溢油港口为威海港,想从周围港口调集应急设备,为保证及时处理溢油污染,需要权衡各设备库到溢油港口距离及时间问题,为溢油事故的处理提供及时有效的基础保障。图4为从石岛港调集溢油应急设备时,此段行程具体路线、时间及距离。
5 总结
基于Google Maps实时显示溢油点与周围调集的应急设备行程状况,利用Google Maps对溢油点到各应急设备库的行程进行实时显示,并能自动计算调集应急设备所能到达的时间及距离,为溢油事故的处理提供及时有效的基础保障。该系统与基于GIS的应急设备库智能管理系统相结合,能为溢油应急决策提供有效的支持和保障。
参考文献
[1]张志斌,徐敏,卢金树,李玉乐,朱发新.双壳油船液货泄漏机理及预防措施探究[J].机电设备,2013(03):81-84.
[2]赵文朋.船舶溢油应急决策系统的研究与开发[D].上海海事大学,2007.
[3]王志红,胡川.基于Google Maps API的网络地图服务系统的研究与应用[J].测绘标化,2010:26(02).
[4]戴兵.基于Google Maps API的校园地图设计[J].电脑知识与技术,2008(S2):184-185.
[5]耿庆斋,繆纶,段媛媛,李江华.基于Google Maps API的Web地图服务系统研究及应用[J].中国水利水电科学研究院学报,2009,3(01).