一种基于船位数据的船舶进出港判断方法与流程

文档序号:15217917发布日期:2018-08-21 17:04阅读:584来源:国知局
本发明涉及船舶船位数据应用
技术领域
,特别是涉及一种基于船位数据的船舶进出港判断方法。
背景技术
:航次是渔业生产管理中常用的统计量,可用于渔业生产的经济效益计算、渔业资源分布调查等,现有的航次记录方法多种多样,如调查过程中人工记录进出港以及调查中的点,渔船管理中通过计算机录入进出港记录等。这些方法只记录或管理少量渔船,主要依靠人工录入和判断,我国近海机动捕捞渔船超过19万艘,人工处理方式难以获取每艘渔船的进出港记录。20世纪90年代欧洲委员会为了加强渔船管理,开始用基于ais(automaticidentificationsystem)技术的vms(vesselmonitoringsystem)监控渔船,由于vms记录的船位数据具有时空特性,近年来出现用vms数据推算捕捞努力量、渔业资源评估等研究。基于北斗船位数据可以快速、大范围地获取船舶动态信息,目前没有专门针对船位数据自动判断渔船进出港的方法。船舶进出港状况,是渔船监控、管理、导航等系统的重要服务内容,快速判断船舶进出港状况,是各系统非常关注的技术内容。目前船舶定位手段已经比较成熟,从技术手段来看,主流的定位方式主要有沿海cdma网络定位、卫星定位船舶、ais定位船舶。获取大量船位数据后,怎样快速分析判提取出船舶进出港记录是提供信息服务的关键。技术实现要素:本发明所要解决的技术问题是提供一种基于船位数据的船舶进出港判断方法,可以直观地了解渔船每年的出海捕捞情况,可为渔业管理部门提供管理依据。本发明解决其技术问题所采用的技术方案是:提供一种基于船位数据的船舶进出港判断方法,包括以下步骤:(1)确定格网和港口格网;(2)寻找船舶进出的港口格网;(3)筛选渔船进出港口数据。所述步骤(1)具体为:划出包含海岸线的范围,在这个范围内划分成相同大小的格网,把海岸线图层与格网图层叠加,提取出两者的相交区域,得到港口格网。所述步骤(2)具体为:船舶航行进入格网区域,按照一定的行驶时间,记录若干个时间点,判断进入和离开格网区域的点,记录进入格网前第一个点、进入格网后第一个点、出格网前第一个点和出格网后第一个点,分别计算格网区域进入格网后第一个点与出格网后第一个点之间的时间差,根据船舶进出港所用时间明显大于出港远行所用时间,区分出船舶进出的港口格网。所述步骤(2)寻找船舶进出的港口格网时,采用多进程渔船进出港口格网提取,具体为:根据服务器性能设置进程数量,根据进程数量创建进程list泛类型,再从数据库读取没有处理的全部船舶,然后通过循环程序判断进程数量是否到达到设置的进程数,如果没有达到就新建处理船舶数据的进程,接着判断已有进程是否结束,如果结束就从list中去除。所述步骤(2)中还包括通过设置每个格网为1°×1°,格网宽度小于1mi,当船舶航速都大于1kn/h且船舶经过格网的时间小于1h,通过离开港口格网的时间与进格网的时间差来计算出海作业的时间,判断格网是否为渔船进出港口的格网。所述步骤(3)具体为:将船舶进入港口格网前第一个点时间为t1、进入港口格网后第一个点时间为t2、出港口格网前最后一个点时间为t3、出港口格网后第一个点时间为t4,一艘船一年的轨迹点,在经过港口格网提取后,再按t2-t3、t1-t3、t2-t4、t1-t4计算时间,当进入港口格网点与出港口格网点的时间差大于预设时间,筛选出船舶进出港口格网的次数。所述步骤(1)中格网的大小是0.1°×0.1°。有益效果由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明将复杂、繁琐的船舶进出港数据筛选变的简单化,且可以使用相对应的自动化程式软件进行数据库数据的筛选,可以直观地了解渔船每年的出海捕捞情况,可为渔业管理部门提供管理依据。附图说明图1是海岸线图层与格网图层叠加后,提取出两者的相交的港口格网图;图2是选择一艘渔船部分轨迹,按时间先后排序,轨迹鱼格网的关系图;图3是提取单艘渔船进出港口格网的过程图;图4是多进程渔船进出港口格网提取的过程图;图5是港口格网与渔船轨迹图;图6是渔船进出港口格网筛选图。图7是渔船进出港口格网图。具体实施方式下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本发明的实施方式涉及一种基于船位数据的船舶进出港判断方法,包括以下步骤:确定格网和港口格网:划出包含海岸线的范围,在这个范围内划分成相同大小的格网,把海岸线图层与格网图层叠加,提取出两者的相交区域,得到港口格网;寻找船舶进出的港口格网:船舶航行进入格网区域,按照一定的行驶时间,记录若干个时间点,判断进入和离开格网区域的点,记录进入格网前第一个点、进入格网后第一个点、出格网前第一个点和出格网后第一个点,分别计算格网区域进入格网后第一个点与出格网后第一个点之间的时间差,根据船舶进出港所用时间明显大于出港远行所用时间,区分出船舶进出的港口格网;筛选渔船进出港口数据:将船舶进入港口格网前第一个点时间为t1、进入港口格网后第一个点时间为t2、出港口格网前最后一个点时间为t3、出港口格网后第一个点时间为t4,一艘船一年的轨迹点,在经过港口格网提取后,再按t2-t3、t1-t3、t2-t4、t1-t4计算时间,当进入港口格网点与出港口格网点的时间差大于1h,筛选出船舶进出港口格网的次数。大型航运船舶航线固定,进出的港口是规模较大的港口。小型船舶如渔船,大小差异大,进出港不一定在有一定规模的港口,沿岸各处小港和小型码头都可能停靠,因此给进出港判断带来困难。并且渔船的船位数据比较密集,一般3min一个点,因此每天480个点,一年十多万个点,数据点过多影响计算速度。本实施方式以渔船为例说明进出港的提取方法,该方法也适用于其他船舶。1.请参阅图1和表1所示,定义港口格网,在包含海岸线的区域范围内划分0.1°×0.1°格网,然后把海岸线图层与格网图层叠加,提取出两者的相交的港口格网(图1),提取出港口格网的中心点经度和纬度,其次把省、地区、县行政区划与港口格网中心点叠加,离中心点最近的行政区划作为格网所属的行政区划。构建港口格网数据表(表1),包括格网中心点经纬度,以及港口格网中心点所属的省、地区、县。表1港口格网数据表字段名英文名类型说明序号id整型自增编号gridid整型港口格网编号经度longitude浮点格网的中心点经度纬度latitude浮点格网的中心点的纬度所属省sheng字符港口格网中心所属的省所属地区diqu字符港口格网中心所属的地区所属县xian字符港口格网中心所属的县2.请参阅图2和表2所示,确定格网与渔船轨迹点相交关系,渔船一般3min一个点,记录的数据包括船名、经度、纬度、时间、航速、航向,根据船名可以获取一段时间的渔船轨迹点(表2)。表2渔船船位数据表字段名英文名类型说明编号shipid渔船的编号船名shipname渔船的名称经度longitude浮点渔船所在位置的经度纬度latitude浮点渔船所在位置的纬度时间postime日期渔船所在位置的时间航速speed浮点渔船航行的实时速度航向direction整型渔船航行的实时航向选择一艘渔船部分轨迹,按时间排序,分析轨迹与格网的关系。假设渔船轨迹点由a、b、c、d、e5段组成(图2),其中a、c、e3段与格网相交。每条相交线提取出进入格网前第一个点,如a段的a1点、c段的c1点、e段的e1点;进入格网后第一个点,如a段的a2点、c段的c2点、e段的e2点;出格网前第一个点,如a段的a3点、c段的c3点、e段的e3点;出格网后第一各点,如a段的a4点、c段的c4点、e段的e4点。3.请参阅图3和表3、表4所示,进行单艘渔船进出港口格网提取单艘渔船从数据库中读取出一段时间船位点,然后在开始处理的渔船数据表中记录这艘准备处理的渔船,判断进入和离开港口格网的点,记录进入格网前第一个点、进入格网后第一个点、出格网前第一个点、出格网后第一个点,数据全部处理完成后,把该渔船的船名写入处理完成的渔船船名表,记录开始处理和处理完成的渔船,是为了确保每艘渔船数据全部被处理,如果处理过程中程序异常退出,程序重新启动,会检查这两个表,对没有处理完成的渔船重新处理,具体流程如下。(1)读取数据库中一艘渔船一段时间的船位轨迹准备做进出港提取,把这艘渔船的船名写入开始处理的渔船数据表(表3)。定义位置1、位置2、位置3、位置4的时间与经纬度变量,分别对应渔船轨迹与格网关系4个点,即进入格网前第一个点、进入格网后第一个点、出格网前第一个点、出格网后第一个点;(2)遍历渔船轨迹点,判断轨迹记录是否遍历结束,如果有轨迹点,执行(3),如果结束执行(8);(3)如果是第一条记录时,记录位置2的时间和经纬度位置,并记录格网中心点经纬度,如果不是则执行(4);(4)判断船位点是否在同一格网内,如果在同一个格网内则记录位置3的时间和经纬度位置,格网点数量加1,然后执行(2),如果不在同一格网内则执行(5);(5)记录位置4的时间和经纬度位置;(6)判断格网是否为港口的格网(搜索表1,查询是否存在),如果是港口格网则执行(7),如果不是则忽略;(7)格网中心点经纬度、格网内船位点数量、船名,位置1到4的时间和经纬度位置写入渔船进出港口格网数据表(表4)。位置3的时间和经纬度位置变量赋值给位置1的变量,位置4的时间和经纬度变量赋值给位置2的变量,记录中心点经纬度,格网点数赋值1,然后执行(2);(8)通过查找港口格网表(表1),判断格网是否为港口格网,如果不是则忽略,如果是则格网中心点经纬度、格网内船位点数量、船名,以及位置1到4的时间和经纬度位置写入渔船进出港口格网数据表(表4),把这艘渔船的船名写入处理成功的渔船数据表(表3),完成一艘渔船的进出港口信息提取。表3渔船开始处理表和渔船处理成功表(两个不同的表,内容相同)字段名英文名类型说明序号id整型序号自增编号shipid字符渔船的编号船名shipname浮点渔船的名称表4渔船进出港口格网数据表4.请参阅图4所示,进行多线程渔船进出港口格网提取,为了提高数据处理速度,采用多进程方式处理,首先根据服务器性能设置进程数量,按照进程数量创建进程list泛类型,再从数据库读取没有处理的全部渔船,其次通过循环程序判断进程数量是否到达到设置的进程数,如果没有达到就新建处理渔船数据的进程,接着判断已有进程是否结束,如果结束就从list中去除,具体流程如下(图4)。(1)根据服务器性能设置进程数量,按照进程数量定义进程list泛类型,查询渔船开始处理表和渔船处理成功表,删除掉没有处理成功的渔船记录;(2)读取全部渔船格网数据,存储到内存列表,再读取全部没有处理的渔船;(3)遍历渔船数据,判断是否有未处理的渔船,如果有则执行(4);(4)判断进程数量是否小于设置的进程数,如果已经达到设置的进程数据则忽略,如果小于则执行(5);(5)创建单艘渔船船位进出港判断进程,进程数量+1;(6)遍历list判断是否有进程,如果没有则忽略,如果有则执行(7);(7)判断进程是否结束,如果结束则在list中移除该结束的进程,如果没有则忽略。5.请参阅图5和图7所示,进行渔船进出港口格网筛选,利用海岸线与港口格网相交关系,会得到多个港口格网,如图5中的格网a、格网b。一艘渔船的先后轨迹线m和n,完成两次进港与出港。m轨迹是渔船完成海上捕捞作业后,先经过港口格网b,然后经过am1、am2进入港口格网a,再经过卸载与补给又经过am3、am4离开港口格网a;n轨迹是渔船在海上经过一段时间捕捞作业后返回,先经过港口格网b,然后经过an1、an2进入港口格网a,再次卸载与补给后,经过an3、an4离开港口格网a。因此格网a是渔船进出港的实际格网,格网b是渔船到格网a经过的格网。每个格网为1°×1°,格网宽度小于1mi,渔船航速都大于1kn/h渔船经过格网的时间远远小于1h,而渔船进港卸载与补给时间都大于1个小时,因此本实施方式用渔船进入格网点与出格网点的时间差大于1h,筛选渔船进出的港口格网。根据渔船轨迹与格网相交关系,提取到每个格网的4个点,如轨迹m进入格网b前第一个点bm1、进入格网后第一个点bm2、出格网前最后一个点bm3、出格网后第一个点bm4;进入格网a前第一个点am1、进入格网后第一个点am2、出格网前最后一个点am3、出格网后第一个点am4;轨迹n进入格网b前第一个点b1n1、进入格网后第一个点b1n2、出格网前最后一个点b1n3、出格网后第一个点b1n4,进入格网a前第一个点an1、进入格网后第一个点an2、出格网前最后一个点an3、出格网后第一个点an4,进入格网b前第一个点b2n1、进入格网后第一个点b2n2、出格网前最后一个点b2n3、出格网后第一个点b2n4。在轨迹m上,由bm1到am4;在轨迹n上,由b1n1到b2n4,再到是按时间先后顺序排列的。在图5港口格网a中,计算am3与am2、an3与an2的时间差,在港口格网b中,计算b1n3与b1n2、b2n3与b2n2、bm3与bm2的时间差,由于在港口格网a中有卸载与补给的时间,因此时间差会大于1小时,在港口格网b中是经过的格网,因此时间差会小于1小时,这样就排除了港口格网b。设进入港口格网前第一个点时间为t1、进入格网后第一个点时间为t2、出格网前最后一个点时间为t3、出格网后第一个点时间为t4。一艘船一年的轨迹点,在经过港口格网提取后,再按t2-t3、t1-t3、t2-t4、t1-t4计算时间,结果如图6,进入格网点与出格网点的时间差大于1h,能筛选出渔船10次进出港口格网,通过对比4种时间差值计算方法,本实施方式选用渔船进入格网点后第一个点与出格网前第一个点的时间差为判断是否为渔船进出港口的格网。6.请参阅图6所示,进行渔船出进港口数据提取,经过“渔船进出港口格网筛选”,有些非渔船进出港口的格网可能没有被去掉,需要做进一步的筛选处理。渔船出港后,然后在海上作业,再进港,完成一次完整的作业过程,渔船出海作业一般都在0.5天上,每个格网为0.1°×0.1°,格网宽度小于1mi,近海渔船一般不作业,渔船航速都大于1kn/h渔船经过格网的时间小于1h,通过离开港口格网的时间与进港口的时间差来计算出海作业的时间,来判断格网是否为渔船进出港口的格网。如图7中的格网a、格网b、格网c,假设格网b经“渔船进出港口格网筛选”被排除,而格网c没有被筛选出。在每个格网中都会提取到一条进格网和出格网的记录,而格网a中的进出格网是渔船作业实际的出港与返港。通过离开港口格网的时间与进港口的时间差来计算出海作业的时间,即可以通过t1-t3、t1-t4、t2-t3、t2-t4来计算,本实施方式通过t2-t4来计算,时间差大于0.5天,作为一次出港和进港。格网a中用t2-t4,格网c中用ct2-ct4,通过计算排除格网c。把进出港口格网信息,包括船名、出格网中心点经度、出格网中心点纬度、出格网时间、出格网经度、出格网纬度、进格网时间、进格网中心点经度、进格网中心点纬度、进格网经度、进格网纬度、出海作业天数写入渔船出入港口格网数据表(表5)。表5渔船出入港口格网数据表当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1