Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 计算机论文 > 正文

基于Flask的AIS大数据地理信息系统研究与开发论文

发布时间:2022-11-03 10:13:45 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):
 
  摘要:针对AIS大数据的信息挖掘及可视化等相关问题,研究并开发了一款前后端分离的大数据地理信息系统。本文对该系统的整体结构和技术方法进行了介绍,后端的数据和计算服务基于Flask框架,前端界面基于JavaScript语言进行开发,实现了地图基本功能、大数据统计查询可视化以及聚类分析等功能。系统运行结果表明,该系统对于进一步挖掘AIS大数据的内在时空信息及其数据内容提供了重要的保障和技术支持。
 
  关键词:AIS大数据;Flask;DBSCAN;大数据GIS
 
  Research and Development of AIS Big Data Geographic Information System Based on Flask
 
  WANG Fangxiong1,2,LIU Xinyu1,2,WANG Junfu1,2,LIANG Chaofan1,2
 
  (1.Liaoning Key Lab of Physical Geography and Geomatics,Liaoning Normal University,Dalian Liaoning 116029;2.School of Geographical Sciences,Liaoning Normal University,Dalian Liaoning 116029)
 
  【Abstract】:Aiming at the problems related to information mining and visualization of AIS big data,a big data geographic information system with front and back ends separated is researched and developed.This paper introduces the overall structure and technical methods of the system.The back-end data and computing services are based on the Flask framework,and the front-end interface is developed based on the JavaScript language,which realizes the basic functions of maps,big data statistical query visualization,and cluster analysis.The system operation results show that the system provides important guarantee and technical support for further mining the inherent spatiotemporal information and data content of AIS big data.
 
  【Key words】:AIS big data;Flask;DBSCAN;big data GIS
 
  0引言
 
  船舶自动识别系统简称AIS,是船舶上装置的一种利用无线通信技术进行导航、通讯的综合性系统,由该系统产生的数据称为AIS大数据。AIS大数据具有强时效性、大量级性、高精确度等特点,它是一种涵盖了船舶的经纬度、时间戳、航行速度、航行状态、吃水深度以及船舶种类等信息的时序点合集。每一时刻都存在着大量搭设AIS的船舶在世界各海域上行驶,产生了海量的航迹数据[1]。
 
  而目前对于AIS大数据的应用并未能更完善地发掘出其深层价值和进一步的研究意义。本文以前后端交互的形式,结合Flask等技术框架和现阶段应用于大数据领域主流的海量结构化日志的数据统计工具Hive[2],构建一款AIS大数据地理信息系统(以下简称AISGIS),通过设计开发各类分析及可视化功能,对于提高海运效率、获取船舶航道深层规律以及进一步保障航行安全方面有着天然的优势和可靠的参考价值[3]。

\
 
 
  1系统设计
 
  1.1结构设计
 
  AIS大数据地理信息系统采用B/S架构的设计模式,在交互设计层面由Web客户端与服务器端构成的Web应用程序,用户通过Web客户端发送请求,基于AJAX引擎将客户端与后台数据进行异步交互[4],结合Apache ECharts等第三方库对于数据的处理计算,实现船舶航行相关信息查询、聚类分析以及数据可视化分析等功能。在技术设计层面,前端采用超文本标记语言HTML编写界面框架,使用预处理器Less实现界面整体的样式设计,应用脚本语言JavaScript完成整个界面的动态呈现,通过调用OpenLayers所提供的API接口实现地图显示、地图基本交互、空间数据可视化渲染等相关功能[5]。
 
  服务器端使用开源的Ubuntu20.0.4操作系统,通过Sqoop工具将AIS大数据经过Hive持久化到开源的关联数据库管理系统MySQL中。基于前后端分离的思想,后端使用Werkzeug工具箱开发的Python Flask框架搭建[6],开发完成后将前端界面和后端服务分别部署到Nginx服务器上,访问端口使用8080,结构设计如图1所示。

\
 
 
  1.2功能设计
 
  AIS大数据地理信息系统的Web客户端提供基本地图功能、AIS大数据组合查询、聚类分析以及数据可视化分析等功能模块[7],如图2所示。(1)基本地图功能包括地图显示以及不同类型图层切换,地图平移缩放、地图标注、地理测量等基本GIS功能;(2)AIS大数据组合查询模块通过对于海域、地理范围、船舶类型、航行时段、船舶吃水、船舶吨位6种属性的要素值进行选择,将符合查询条件的数据以点要素的形式加载到地图上;(3)聚类分析模块分为查询结果聚类和选择时域聚类两部分,聚类结果将以点要素的形式加载在地图上,不同类型的簇将由不同颜色进行区分;(4)数据可视化功能将根据用户请求的各种条件进行计算,将结果以折线图、柱状图、南丁格尔图等来展示,用于进一步的数据分析。

\
 
  1.3界面设计
 
  界面设计包括主界面和数据可视化分析界面两部分,主界面由地图显示窗口、顶部菜单栏、左侧聚类分析栏、右侧查询表单栏四部分构成。地图作为底图平铺显示在浏览器的窗口,顶部菜单栏、左侧聚类分析栏、右侧查询表单栏以浮动的方式定位地图的上部,这种方式可以将显示范围最大化,视觉呈现更为舒适。左右侧边栏以及数据可视化分析界面通过jQuery函数库提供的Hide和Show方法可以由用户自行选择显示或隐藏,便于提供更加便捷的操作方式。
 
  1.4数据库设计
 
  在整体的系统架构和大数据的系统机制处理流程中,考虑到AIS大数据的字段属性和数据格式,综合分析实际生产环境中的需求,以及前后端交互存在的紧密联系,选择通过Sqoop工具将海量数据经过Hive持久化到MySQL中。MySQL是一个体量小、性能强的开源数据库系统,与其他类别的关系型数据库相比拥有更好的灵活性。Hive可以解决具有海量特点的AIS数据在存储中所产生的数据规模局限问题,对于真实生产环境中的海量AIS数据应用到地理信息系统领域有着重要的意义。将2019年7月至2020年7月共计12个月时间段内全球范围的AIS大数据预处理后,采用以月为单位的方式按照AIS大数据的对应属性进行存储,数据库内包含4张表:ship_nav tra_poi_info_a存储船舶航行轨迹点数据、ship_info_a存储船舶信息数据、port_info_a存储港口信息数据、nav_iden_info_a存储航行编号信息数据。
 
  4张表的字段名、字段类型以及说明如表1-表4所示。

\
 
 
  2系统开发
 
  2.1基本地图功能
 
  基本地图功能基于开源的OpenLayers框架进行设计开发,包括地图浏览、地图注记以及地理测量三类功能。(1)地图浏览功能可以实现基本的地图浏览、缩放、比例尺等基本功能,并提供了高德注记地图、高德矢量地图、高德影像地图三者的叠加及切换显示功能;(2)地图注记功能支持点、线、多边形、圆、正方形、长方形6种注记类型的添加;(3)地理测量功能支持长度以及面积的测量。
 
\
 
 
  2.2 AIS大数据查询功能
 
  AIS大数据查询功能将会对用户显式展现AIS大数据的重要信息,用户可以根据具体需求向服务器发送不同的要素属性值进行查询,其中“海域选择”与“海域范围”两属性在功能上互补,当将“海域选择”作为参数传递时,“海域范围”的参数将自动更改为与“海域选择”相对应海域的经纬度范围,当将“海域范围”中4个文本框的数值作为参数传递时,“海域选择”将为空值。将表单中海域选择、海域范围、船舶类型、航行时段、船舶吨位、吃水深度6类属性对应的值作为参数,结合jQuery提供的ajax()方法向服务器端发送POST类型的请求,服务器端根据请求参数从数据库中的ship_ nav tra_poi_info a表中获取MMSI、seaArea、lon、lat、unixTime等字段信息,从ship_info_a表中获取MMSI、shipName、shipType、draught、tonnag等字段信息,从nav_iden_info_a表中获取id、ETA等字段信息,将上述信息组织成JSON类型的对象,通过服务器端响应返回至浏览器端,查询得到的数据将可视化至地图界面中,实例如图3所示。
 
  \
 
  2.3 AIS大数据聚类分析功能
 
  AIS大数据聚类分析功能划分为查询结果聚类和选择时域聚类两个模块,查询结果聚类是应用组合查询功能中所得到的合法结果作为数据集,选择时域聚类是用户自主选择对应目标区域及目标时间中的船舶航行信息作为数据集,通过输入合理的搜索半径以及最小个数的两个参数数值,点击计算按钮进行聚类计算;以计算结果为依据,分析目标时域内的船舶行迹范围,为进一步的航线规划提供参考分析的有力支撑。聚类分析功能的整体实现是通过在服务器端调用DBSCAN聚类算法函数来计算完成的。
 
  DBSCAN算法是最典型的一种基于密度的聚类算法,点对象为主要对象,检索区域是以核心对象为圆心,以eps为半径,密度阈值为minPts的圆心区域[8],当使用该方法进行聚类计算时通常需要预先设定eps和minPts两个参数。DBSCAN聚类算法需要遍历数据集中的每一个点作为核心对象,检查其eps邻域来搜索簇,如果检索区域内的点的数量大于minPts,则创建该核心对象的簇,重复上述计算过程遍历此邻域中的其他点对象,直至建立成一个类,如果不存在新的点对象添加进任何簇,计算结束[9]。不属于任何簇的点对象将被定义为噪声点,计算的聚类结果1是各个簇的集合。
 
  DBSCAN函数需要传递搜索半径eps、最小个数minPts、距离函数以及数据集4个参数进行调用。搜索半径以及最小个数参数通过对应文本框的值进行获取并传递;距离函数由传递的两组经纬度坐标进行计算,并返回两坐标间的距离数据。DBSCAN函数返回的结果为JSON数据,簇为键,点数据的经纬度数组为值,并利用Openlayers的接口以及颜色生成函数getColor(num)对DBSCAN函数返回的JSON数据进行可视化,如图4所示。
 
 \
 
 
  2.4数据可视化分析功能
 
  数据可视化分析功能是基于ECharts实现的,ECharts是一个底层依赖较为轻量级的Canvas类库ZRender,它提供了一种更直观、简洁、可交互、可进行个性化定制的数据可视化图表[10]。该功能共划分为船舶类型占比、船舶聚类计算、船舶异常状态、船舶吃水等级四大模块,共7张图表,根据用户的查询操作获取目标航行时间段,以时间为约束进而请求得到与可视化分析功能相关的其他数据,通过服务器端的算法代码计算并返回JSON类型的结果数据,并结合ECharts使返回的JSON数据以图表的形式进行展示分析[11],当未进行船舶聚类计算时,对应模块隐藏。
 
  3结语
 
  AIS大数据地理信息系统采用B/S架构的设计模式,通过前后端分离的方式进行设计开发。浏览器端通过HTML、Less实现整体系统的界面搭建,使用JavaScript语言结合OpenLayers所提供的API实现了地图显示以及基本的地图工具应用;服务器端以Ubuntu系统作为载体,通过Flask框架搭建后台,并利用MySQL数据库存放数据,基于AJAX引擎实现了大数据查询功能,通过DBSCAN聚类函数实现了对AIS大数据的进一步分析和使用,并结合了ECharts将数据以图表的形式显示。AIS大数据地理信息系统的发展将进一步提升AIS大数据在航运方面的潜在能力,并为航运规划管理、海洋生态保护和海事监管等领域提供强大的技术支持和理论依据。
 
  参考文献
 
  [1]杨博辰.基于AIS的船舶轨迹分析的研究与应用[D].武汉:华中科技大学,2012.
 
  [2]王有为,王伟平,孟丹.基于统计方法的Hive数据仓库查询优化实现[J].计算机研究与发展,2015,52(6):1452-1462.
 
  [3]胡晶.基于AIS的船舶轨迹分析与应用系统的设计与实现[D].武汉:华中师范大学,2016.
 
  [4]黄浩,赵英辽,苏程,等.基于AJAX技术的WebGIS系统设计[J].杭州电子科技大学学报,2011,6(31):87-90.
 
  [5]刘又嘉.基于AIS的船舶轨迹航路提取方法及系统实现[D].大连:辽宁师范大学,2021.
 
  [6]任丹,侯英姿,王方雄,等.基于Flask和Vue的AIS大数据分析系统设计与开发[J].软件,2019,10(40):111-114.
 
  [7]屈欣宇,侯英姿,王方雄.城市管网WebGIS客户端的设计与开发[J].国土与自然资源研究,2016(5):42-43.
 
  [8]肖潇,邵哲平,潘家财,等.基于AIS信息的船舶轨迹聚类模型及应用[J].中国航海,2015,38(2):82-86.
 
  [9]郭乃琨,陈明剑,陈锐.一种顾及时间特征的船舶轨迹DBSCAN聚类算法[J].测绘工程,2021,30(3):51-58.
 
  [10]王子毅,张春海.基于ECharts的数据可视化分析组件设计实现[J].微型机与应用,2016,35(14):46-48+51.
 
  [11]郑幸源,洪亲,蔡坚勇,等.基于AJAX异步传输技术与Echarts技术的动态数据绘图实现[J].软件导刊,2017,16(3):143-145.
 
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
 

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/45688.html

相关内容

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml