一种基于船位数据提取航次的方法 |
|||||||
申请号 | CN201410572613.2 | 申请日 | 2014-10-23 | 公开(公告)号 | CN104392632A | 公开(公告)日 | 2015-03-04 |
申请人 | 中国水产科学研究院东海水产研究所; | 发明人 | 张胜茂; 唐峰华; 杨胜龙; 张衡; 伍玉梅; 郑巧玲; 王晓璇; 樊伟; | ||||
摘要 | 本 发明 涉及一种基于船位数据提取航次的方法,包括以下步骤:对 船舶 出发与返回的港口,及港口所在的陆地和岛屿做向外缓冲,形成一个缓冲面;获取船舶的 位置 轨迹,船舶的位置轨迹与缓冲面相交产生的交点为船舶的出发或返回位置,两个交点之间的过程就是一个航次,根据时间顺序排序获得所有航次。本发明可实时、快速、大范围地自动提取船舶航次。 | ||||||
权利要求 | 1.一种基于船位数据提取航次的方法,其特征在于,包括以下步骤: |
||||||
说明书全文 | 一种基于船位数据提取航次的方法技术领域背景技术[0002] 船舶监测系统(VMS,Vessel Monitoring System)能够提供船舶时间、位置和动态信息,目前我国渔船安装船舶自动识别设备(AIS)近5万艘、北斗卫星船位监控近5万艘,CDMA公众移动通讯设备11万艘,初步实现对海洋渔船船位的实时联络及跟踪监控。现有的航次记录方法有多种,如:(1)调查过程中人工记录航次以及航次中的调查点;(2)航线规划中,根据最短距离、最佳路径等设计航次;(3)航次管理中通过计算机录入航次,管理航次。这些航次记录方法都是记录或管理一艘或几艘渔船,主要是依靠人工录入和判断。由于AIS、CDMA、北斗导航技术的应用,可以快速、大范围的获取船舶动态信息,如时间、位置、航速、航向、转向率等信息。特别是渔船北斗终端,传送的经纬度船位数据的时间分辨率为3分钟,空间分辨率约为10米,时空精度高,实时性强。已有的方法不适用于实时、快速、大范围、船舶航次自动提取,目前没有专门针船位数据自动提取航次的方法。 发明内容[0003] 本发明所要解决的技术问题是提供一种基于船位数据提取航次的方法,能够适用于通过空间关系从船位数据中提取船舶的航次。 [0004] 本发明解决其技术问题所采用的技术方案是:提供一种基于船位数据提取航次的方法,包括以下步骤: [0005] (1)对船舶出发与返回的港口,及港口所在的陆地和岛屿做向外缓冲,形成一个缓冲面; [0006] (2)获取船舶的位置轨迹,船舶的位置轨迹与缓冲面相交产生的交点为船舶出发或返回位置,两个交点之间的过程就是一个航次,根据时间顺序排序获得所有航次。 [0007] 所述步骤(2)中将船舶的位置轨迹与缓冲面相交产生交点简化为船位点与缓冲面的距离的变化,在船舶出海到返回的过程中,距离值从0开始,逐渐变大,然后变小,最后变为0,距离值由0变大又变小到0的变化过程作为一个航次,根据时间顺序排序,遍历距离数据获得所有航次。 [0008] 所述步骤(1)中在向外做缓冲时将小的岛屿合并在一起减少面的数量。 [0009] 所述步骤(2)中的船舶的位置轨迹的方向根据船位点的时间顺序进行判断。 [0010] 所述步骤(2)中的船舶的位置轨迹利用北斗船位数据获取。 [0011] 有益效果 [0012] 由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明对船舶出发与返回的港口,及港口所在的陆地或岛屿做向外缓冲形成面,利用北斗、AIS、CDMA等技术获得船舶的位置轨迹,船舶的位置轨迹与缓冲面相交产生的交点的就是船舶出发或返回位置,两个交点之间的过程就是一个航次,由此本发明可实时、快速、大范围地自动提取船舶航次。本发明将船舶的位置轨迹与缓冲面相交计算交点简化为船位点与缓冲面的距离的变化,方便了运算,提高了效率。附图说明 [0013] 图1是出发与返回港口相同的航次示意图; [0014] 图2是出发与返回港口相同两个航次的距离变化示意图; [0015] 图3是出发与返回港口不同,港口在同一直线岸线的航次示意图; [0016] 图4是出发与返回港口不同,港口在同一直线岸线,两个航次的距离变化示意图; [0017] 图5是出发与返回港口不同,港口不在同一直线岸线的航次示意图; [0018] 图6是出发与返回港口不同,港口不在同一直线岸线,两个航次的距离变化示意图; [0019] 图7是出发与返回港口相同实际渔船轨迹示意图; [0020] 图8是出发与返回港口相同经纬度随时间变化曲线图; [0021] 图9是出发与返回港口相同距离随时间变化曲线图; [0022] 图10是出发与返回港口不同实际渔船轨迹示意图; [0023] 图11是出发与返回港口不同经纬度随时间变化曲线图; [0024] 图12是出发与返回港口不同距离随时间变化曲线图。 具体实施方式[0025] 下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。 [0026] 本发明的实施方式涉及一种基于船位数据提取航次的方法,包括以下步骤:对船舶出发与返回的港口,及港口所在的陆地和岛屿做向外缓冲,形成一个缓冲面;获取船舶的位置轨迹,船舶的位置轨迹与缓冲面相交产生的交点为船舶出发或返回位置,两个交点之间的过程就是一个航次,根据时间顺序排序获得所有航次。 [0027] 下面以渔船为例来进一步说明本发明。 [0028] 1.制作多边形缓冲面 [0029] 多边形周边上分布着港口,制作多边形用于计算点到面的距离。图1、图3、图5中的面S就是多边形,面上有港口A~E。 [0030] 实际应用中一般沿海多岛屿与港口,渔船出海港口与返回港口数量多比较复杂,在制作多边形时向外做缓冲区,小的岛屿合并在一起,减少面的数量,提高距离计算时的速度。首先ArcGIS工具箱中的Buffer做缓冲,然后用Dissolve把沿海岛屿与大陆合并成一个多边形,再用Simplify Polygon减少多边形边缘点的数量,最后用Shape2Sql工具导入到SQL Server2008R2数据库,用geography数据类型存储,该类型为空间数据提供了一个由经度和纬度联合定义的存储结构。 [0031] 2.获取渔船船位点 [0032] 获取渔船的船位点,渔船船位点与出发与返回的港口有多种情况。出发与返回港口相同(图1),有14个船位点;出发与返回港口不同,港口在同一直线岸线(图3),有13个船位点,出发与返回港口不同,港口不在同一直线岸线(图4),有14个船位点,可以根据点记录的时间判断出渔船轨迹方向。 [0033] 以浙江象山的两艘渔船为例,出发返回港口相同图7,出发返回港口不同图10。2013年浙江象山功率350kW的渔船(B300497)有74380个船位点,在1月、4~6月、9~ 12月捕捞,进出海轨迹在一个象山县附近的港口。2013年江苏海头功率110kW的渔船(B302564)有51093个船位点,在1月8~11月捕捞,进出海轨迹在射阳县沿海一个港口、赣榆县沿海两个港口。图7和图10是用ArcGIS制作的两艘渔船2013年的作业轨迹示意图。 [0034] 黄海、东海在中国大陆以东,渔船出海作业经度变化大,渔船出海正东航程短,因此纬度变化较小,最小经度一般就是航次起止点,从经度变化上基本可以判断出航次数量。南海则纬度变化大,经度变化小,最大纬度一般就是航次起止点,根据纬度变化基本可以判断出航次数量。最简单的方式是从一个港口出发,返回同一个港口。有的渔船从一个港口出发,返回另一个港口,一年中变换多个港口,由于渔船航次起止港口不一定在同一港口,会出现经度(纬度)不是最低点(最高)也可能是航次起止点。图8是B300497船位点经纬度岁时间变化的曲线图。经度变化大,纬度变化小。2013年所有航次的起止点都是在象山附近的同一港口,因此经度最低点一致。图11是B302564船位点经纬度岁时间变化的曲线图,经度变化大,纬度变化小。2013年所有航次的起止点聚集在射阳县沿海1个港口、赣榆县沿海2个港口,因此经度最低点不一致,容易把经度较高的港口点看成海上作业。 [0035] 3.计算渔船船位点到多边形的距离 [0036] 船位到港口的距离,实际是船位到港口所在岸多边形边缘的距离,图2、图4、图6可以计算出点到多边形的距离,图中为了说明两个航次关系,画出了两个航次,后一个航次的是前一个轨迹相反。 [0037] 根据点与多边形距离计算方法,通过选用编程计算船位到多边形的距离,SQL的关键语句如下。 [0038] declare @g geography; [0039] select @g=geom from china; [0040] select lon,lat,sendtime,@g.STDistance(geography::Point(Lat,Lon,4326))as distance from BDChuanWei [0041] 第一行定义geography类型的变量“g”;第二行通过查询“china”表中的“geom”字段为变量“g”赋值;第三行查询北斗船位表(BDChuanWei)返回经度(lon)、纬度(lat)、时间(sendtime),以及通过STDistance方法返回距离(distance),其中的Point是geography的方法,把经纬度点转换成geography的WGS84(WGS84的geographySRID实例编号为4326)坐标点。当中国矢量面边缘点简化到436个点,运行在IBM System X3650 M3标准配置的服务器上,查询渔船B302564的51093条船位点经纬度、时间,并计算距离值耗时为41s,完全可以满足航次提取的需要,绘制的距离随时间变化图如图9和图12。 [0042] 4.根据距离变化提取航次 [0043] 计算出船位点到多边形的距离后,根据时间顺序排序,遍历距离数据。距离值从0开始,逐渐变大,然后变小,最后变为0,距离值由0变大又变小到0的变化的过程作为一个航次。当遍历到某船位点距离为0值时,该点后面的距离值大于0则为航次起始点,该点前面的距离值大于0则为航次终止点。 [0044] 通过计算船位点与中国矢量面的距离,可以获得渔船离岸的距离,因为距离是不是正东的距离,因此有的位置超过200nmi。2013年渔船B300497在1月份有半个航次,只有航次结束,12月份有半个航次只有开始,把半个航次也计算在内一共有14个航次。虽然各航次的起始港不一定相同,但通过计算渔船离岸的距离使其都在最低点上,2013年渔船B302564在1月初有半个航次,只有航次结束,8月份第一个航次是半个航次,只有航次结束,把半个航次也计算在内一共有9个航次。 [0045] 5.航次数据存储管理 [0046] 构建航次表保存航次记录,字段有北斗卡号、航次起止时间、起止经纬度。航次记录存在三种情况,一种是有航次开始和航次结束,这时保存一个完整的记录。两种是航次不完整,这是由于北斗数据由于信号干扰、信道占用、终端供电不足或断点等原因出现船位数据丢失,产生了不完整的航次,即只有航次开始或航次结束,这时航次开始或结束作为一条记录。 [0047] 表1 渔船B302564航次提取 [0048] [0049] 表2 渔船B300497航次提取 [0050] [0051] [0052] 使用程序提取的渔船B302564、B300497的航次如表,通过与渔船轨迹点和随时间变化曲线比较,说明提取航次是正确的。 [0053] 6.航次验证 [0054] 提取的渔船B302564、B300497的航次如表,通过与渔船轨迹点和随时间变化曲线比较,说明提取航次是正确的。下表是用浙象渔6艘出海调查船的43个航次进行验证。 [0055] 表3 航次验证 [0056] [0057] 不难发现,北斗提取的航次开始时间与调查船航次开始时间天数差值0天的占80.5%,差值在1天内的占92.7%,差值在2天内的占95.1%,2天以上的占4.9%;北斗提取的航次结束时间与调查船航次结束时间天数差值0天的占66.7%,差值在1天内的占 90.5%,差值在2天内的占95.2%,2天以上的占4.8%。差2天以上主要是由于船位点缺失出现的判断错误。调查船记录的航次与船长习惯有关,有的船长渔船离港(出港)作为航次的开始(结束),有的船长把渔船出港前的准备时间(加油、加水、加冰等)、返回港的卸鱼时间也计算在内,因此时间要长。程序提取的航次是以中国面多边形与轨迹点连线相交的作为航次的开始或结束,因此在航次起止定义上有些差别,出现时间上的差值,通过统计一般在2天内差值的航次都是正确的。而在两天内差值的比例都在95%以上,可以为渔业分析提供较为准确的参考。 |