2018作品展示

(一等奖)C1964海上丝绸之路·印度洋海运大数据平台

作品编号:C1964(一等奖)

作品名称:海上丝绸之路——印度洋海运大数据平台

作品单位:山东科技大学测绘科学与工程学院、青岛西海岸新区 第一高级中学

小组成员:谢延鑫、潘佳斌、王春迎、牟家睿

指导老师:牟乃夏、刘文宝


 
 

一、需求分析

 “21世纪海上丝绸之路”是我国国家主席习近平提出的重大战略,是全球政治、贸易格局不断变化形势下,中国连接世界的新型贸易之路。印度洋作为海上丝绸之路的战略枢纽,在全球贸易格局中具有举足轻重的地位。据统计全球每年约2/3的海上石油,1/2的海上集装箱,1/3的海上散货,以及中国80%的石油,50%的天然气和42.6%的进出口商品均途经于此。因此,合理规划印度洋沿岸港口投资建设及优化海洋运输资源配置,加快“一带一路”建设,已成为我国亟需解决的问题。
为此,我们以海上丝绸之路印度洋海域为重点研究区域、以港口为主体研究对象,整合AIS(Automatic Identification System,船舶识别系统)轨迹、交通路网、海运网络、气象、遥感影像以及国家、城市、港口、船舶信息等众源大数据,设计并开发了“海上丝绸之路·印度洋海运大数据平台”,旨在推进地理大数据分析技术在印度洋海域港口战略定位和运输航线网络布局优化的融合应用,为明确印度洋港口在不同时间尺度上的功能定位,促进港口投资布局方案优化,监测货物运输态势,促进运输网络优化提供科学依据。

二、平台架构设计

平台使用Maven工具管理,前端界面呈现使用流行的框架Bootstrap、JQuery、Dojo,功能模块、数据分析和可视化使用了ArcGIS API for JavaScript和开源可视化库ECharts。后台业务处理主要运用当前流行的SSM框架(Spring+SpringMVC+MyBatis),数据存储和查询主要使用MySQL和ArcGIS Server。平台架构图如图 1所示。

图 1  平台架构图
平台结构分别为:表现层,业务层,数据层。其中,表现层主要面向前端用户,包括各种Web服务、可视化界面、Map组件等;业务层主要是连接前端和后台,根据用户交互向数据层发送数据请求,并进行数据处理后以JSON形式返回到前端;数据层直接面向数据库(业务数据)或Server服务(空间数据)。逻辑结构图如图 2所示。
 

图 2  逻辑结构图

三、平台总体设计

平台界面主要包括地图视图,地图工具栏和功能菜单栏三个部分。平台首页和运行主界面如图 3所示:

图 3  平台首页和主界面
 

1数据库设计

建立B/S系统的平台,对“海上丝绸之路·印度洋海运大数据平台”数据进行管理、分析、可视化。数据库则用于满足前端交互、动态分析、可视化等数据需求。后台采用Java语言和模块化编程,便于平台功能的组合和与维护。

1.1外部设计

平台数据库软件名称:MySQL数据库,版本为mysql-installer-community-5.7.17.0
数据库名称:hy

图 4  MySQL数据库
所有的数据表名依据其关联的功能模块的英文命名,这样可以更好的规范数据表命名以及方便开发、测试人员后续修改和维护。

1.2结构设计

图 5  数据库概念设计E-R图
       实体:港口、国家、OD轨迹、船舶
       各类实体的属性:
       ⑴港口:港口索引号、港口名称(中英文)、经度、纬度、所属国家简称、港口规模、港口类型、航道;
       ⑵国家:名称(中英文)、代号简称、首都、首都经度、首都纬度;
       ⑶OD轨迹:船舶MMSI、O点港口、D点港口、O点停靠时间、D点停靠时间;
       ⑷船舶:MMSI、航向、航速、载重、经度、纬度。

2功能设计

平台功能包括基础功能和应用功能两大板块。其中应用功能可分为:数据管理、港口分析、国家分析和海运分析四大功能模块,其中高亮部分为平台特色功能。

图 6  平台功能结构图

图 7  主要功能

3关键技术

3.1Web GIS 开发技术

平台基于ESRI公司提供的ArcGIS API for JavaScript进行WebGIS相关功能的开发。ArcGIS API for JavaScript是根据JavaScript技术实现的调用ArcGIS Server REST API接口的一组脚本,编程人员可以将ArcGIS Server提供的地图资源和其它资源(ArcGIS Online等)嵌入到Web应用中,或是创建交互式的地图应用。

3.2Apache CXF技术

Apache CXF = Celtix + XFire,提供了对 JAX-WS 、 Binding 、Data Binding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先或者 WSDL 优先来轻松地实现 Web Services 的发布和使用。在本系统中,使用Apache CXF将后台数据发布为soap类型的服务,为本系统的船舶动态监控功能提供技术基础。

3.3MyBatis技术

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集,可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。在本系统中选择MyBatis作为系统的持久层框架,可以通过简单的xml配置实现数据库的切换。使用MyBatis框架,屏蔽了底层数据库的差异。

四、作品亮点

1技术亮点

1.1技术一

系统采用三层架构,并实现了层与层之间的解耦,实现了面向接口编程。在数据管理层使用MyBatis框架,屏蔽了底层数据库的差异,可以通过简单的配置实现数据库的切换,如将数据库从MySQL迁移到Oracle等。

1.2技术二

前端开发使用Boostrap,jQuery,ArcGIS API for JS编写页面,结合ECharts丰富图表、地图渲染、数据可视化展示效果,基于ArcGIS API for JS扩展了很多的对话框。此外,在JS中,基于AMD完全实现了模块化编程。

2功能亮点

       ⑴AIS船舶数据与交通路网、气象、海运网络、遥感影像等众源大数据的融合应用。
       ⑵轨迹热力图、港口吞吐量、国家贸易量等时空数据可视化。
       ⑶从科研视角出发,分别进行了港口区位优势评估、港口竞争力评价、国际油价波动与海运态势的相关性及滞后性探究以及海运网络拓扑结构及其空间分布特征的研究。