一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于S101标准的电子海图面要素标识方法及装置

2023-01-15 08:23:38 来源:中国专利 TAG:

基于s101标准的电子海图面要素标识方法及装置
技术领域
1.本发明涉及海图制图技术领域,尤其涉及一种基于s101标准的 电子海图面要素标识方法及装置。


背景技术:

2.电子海图显示与信息系统是现代化船桥系统中强制要求安装的 重要导航设备,可以为智能避碰系统提供丰富和精确的环境信息,理 想的智能航行环境模型应与电子海图中的数据结构相适应。
3.电子海图中存在多种多样的面图形,而面图形通过绘制电子海图 面要素来实现,在绘制面要素的过程中,需要通过标识符来对目标面 图形的位置以及属性进行标识。s101标准定义了标识符在面要素上 的显示方式,在基于s101标准绘制电子海图的过程中,由于在电子 海图中存在着各种各样形状的面要素,而且很多时候可以人为地将目 标面图形划定为若干个区域并分别进行标识,因此,在标识的过程中, 容易出现同一个目标面图形,需要多个位置进行标识,然而,目前标 准中没有明确的方法获取这些位置,因此,使得标识符在目标面图形 上的分布不够均匀,甚至有些位置出现标识符缺失或者重叠的现象, 从而导致电子海图的使用出现不便。


技术实现要素:

4.本发明提供一种基于s101标准的电子海图面要素标识方法及装 置,用以解决现有技术中电子海图的面图形中标识符重叠的缺陷,实 现电子海图的使用便捷。
5.本发明提供一种基于s101标准的电子海图面要素标识方法,包 括:
6.获取待标识的目标面图形;
7.确定所述目标面图形是否为环形,在所述目标面图形为非环形的 情况下,进一步确定所述目标面图形是凸多边形还是凹多边形;
8.在所述目标面图形为凸多边形的情况下,确定所述凸多边形的中 心位置,以所述中心位置作为所述目标面图形的标识符的标识坐标。
9.根据本发明提供的一种基于s101标准的电子海图面要素标识方 法,在所述目标面图形为环形的情况下,将所述目标面图形分割为至 少两个非三角形多边形,并进一步确定所述非三角形多边形是凸多边 形还是凹多边形。
10.根据本发明提供的一种基于s101标准的电子海图面要素标识方 法,在所述目标面图形为凹多边形的情况下,将所述凹多边形分割为 多个凸多边形;
11.分别确定所述多个凸多边形的中心位置,分别得到多个凸多边形 对应的多个中心位置;
12.以所述多个中心位置分别作为所述目标面图形的标识符的标识 坐标。
13.根据本发明提供的一种基于s101标准的电子海图面要素标识方 法,所述将所述凹多边形分割为多个凸多边形包括:
14.获取所述目标面图形的顶点;
15.根据所述目标面图形的顶点的存储顺序,以相邻的两个顶点构造 边向量;
16.根据所述边向量确定相邻的两个边向量的叉积值;
17.在相邻的两个所述边向量的叉积值与其他相邻的两个所述边向 量的叉积值的符号相反的情况下,将所述相邻的两个边向量作为凹多 边形的两个凹边;
18.以所述相邻的两个边向量中任一一个边向量所在的边的一个端 点为基础,延长该端点至与所述凹多边形的另一个边相交,得到一个 交点;
19.根据所述交点将所述凹多边切割为两个多边形,并进一步对切割 后的所述两个多边形进行切割,直到被切割后的多边形为凸多边形。
20.根据本发明提供的一种基于s101标准的电子海图面要素标识方 法,在所述多个中心位置之间的距离小于某一预设值的情况下,保留 其中一个中心位置作为目标面图形的标识符的标识坐标。
21.根据本发明提供的一种基于s101标准的电子海图面要素标识方 法,所述在所述目标面图形为环形的情况下,将所述目标面图形分割 为至少两个非三角形多边形包括:
22.获取目标面图形的外环s1和内环s2;其中,外环s1的顶点包 括:{p1,p2,p3,p4,p5,p6},内环s2的顶点包括:{q1,q2,q3, q4},外环s1的顶点按照顺时针方向存储,内环s2的顶点按照逆时 针方向存储;
23.随机选取内环s2上一点qi,选取外环s1上距离所述qi最近点 pj,在内环s2上再随机选取一点qii,并使用同样方法选取点pjj;
24.从所述点qi出发,沿所述内环s2的边界按照逆时针方向进行遍 历,直到寻找到所述点qii,从所述点qii跳到所述点pjj然后沿所述 外环s1的边界按照顺时针方向进行遍历,直到寻找到所述点pj,点 pj跳到点qi,以此形成第一闭合区域;同理以所述点qii为起点,沿 所述内环s2的边界按照逆时针方向查找,直到寻找到点qi,从所述 点qi跳到所述点pj然后沿所述外环s1的边界按照顺时针方向寻找, 直到寻找到点pjj,所述点pjj跳到点qii,以此形成第二闭合区域;
25.分别确定所述第一闭合区域和所述第二闭合区域是否为环形,在 所述第一闭合区域和或所述第二闭合区域为环形的情况下,继续在所 述第一闭合区域和或所述第二闭合区域内随机选取点并按照预定方 向遍历,直到最终形成的闭合区域为非环形多边形。
26.本发明还提供一种基于s101标准的电子海图面要素标识装置, 包括:获取单元,用于获取待标识的目标面图形;
27.确定单元,用于确定所述目标面图形是否为环形,在所述目标面 图形为非环形的情况下,进一步确定所述目标面图形是凸多边形还是 凹多边形;
28.所述确定单元,还用于在所述目标面图形为凸多边形的情况下, 确定所述凸多边形的中心位置,以所述中心位置作为目标面图形的标 识符的标识坐标。
29.本发明还提供一种电子设备,包括存储器、处理器及存储在存储 器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时 实现如上述任一种所述基于s101标准的电子海图面要素标识方法。
30.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算 机程序,该计算机程序被处理器执行时实现如上述任一种所述基于 s101标准的电子海图面要素标识方
法。
31.本发明还提供一种计算机程序产品,包括计算机程序,所述计算 机程序被处理器执行时实现如上述任一种所述基于s101标准的电子 海图面要素标识方法。
32.本发明提供的基于s101标准的电子海图面要素标识方法及装置, 通过在所述目标面图形为凸多边形的情况下,将所述凸多边形的中心 位置作为目标面图形的标识符的标识坐标,从而使得标识符可以更加 均匀的分布在面图形上,使得电子海图的使用更加便捷。
附图说明
33.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见 地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术 人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得 其他的附图。
34.图1为本发明提供的基于s101标准的电子海图面要素标识方法 流程图之一;
35.图2为在目标面图形为凹多边形的情况下其顶点的分布图;
36.图3为某环形面s结构示意图;
37.图4为将环形面s分割后的结构示意图;
38.图5为本发明提供的基于s101标准的电子海图面要素标识方法 流程图之二;
39.图6为本发明基于s101标准的电子海图面要素标识装置结构示 意图;图7是本发明提供的电子设备的结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发 明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然, 所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例,都属于本发明保护的范围。
41.图1为本发明提供的基于s101标准的电子海图面要素标识方法 流程图之一,如图1所示,该方法包括:
42.步骤101:获取待标识的目标面图形。
43.具体地,对于电子海图面要素的相关symbol绘制,s101标准设 置了属性areasymbolplacement(9-12.3.1.6),这个属性定义了标识在 面要素上的显示方式,且该属性可以设置为两个值:visibleparts和 geographic。当areasymbolplacement被设置为visibleparts时表示特 征标识应该在每个表面的可见部分的代表性位置。因此在绘制电子海 图的过程中,就需要考虑将这个标准融合进去进行绘制。
44.然而,由于电子海图中存在多种多样的面图形,例如岛屿周围的 水域,是一个环形图的形状,假设待标识的目标面图形为该岛屿周围 的水域,由于标识的时候不能将标识符标识在该岛屿上,因此,首先 需要判断待标识的目标面图形是否为环形,如果是环形,需要对该环 形做进一步的处理才能进行标识,以避免将标识符标识在岛屿上。而 如果不是环形,则需要进一步判断是否为凹多边形,因为如果是凹多 边形,标识符有可能标识在该
凹多边形的凹陷处,从而导致标识符标 空,同样没有标识到目标面图形上。
45.步骤102:确定所述目标面图形是否为环形,在所述目标面图形 为非环形的情况下,进一步确定所述目标面图形是凸多边形还是凹多 边形。
46.下面对如何确定定所述目标面图形是凸多边形还是凹多边形的 实现过程进行详细的说明:
47.首先,获取所述目标面图形的顶点;其次,根据所述目标面图形 的顶点的存储顺序,以相邻的两个顶点构造边向量,并根据所述边向 量确定相邻的两个边向量的叉积值;在相邻的两个边向量的叉积值与 其他相邻的两个边向量的叉积值的符号相反的情况下,则代表该多边 形有凹边。
48.具体地,图2为在目标面图形为凹多边形的情况下其顶点的分布 图,如图2所示,该凹多边形的顶点的集合s={p0,p1,p2,p3,p4}, 相邻两个顶点p0、p1构成边向量u,相邻两个顶点p1、p2构成边向 量v,相邻两个顶点p2、p3构成边向量w,相邻两个顶点p3、p4构 成边向量a,相邻两个顶点p4、p5构成边向量b。
49.则该凹多边形的边向量叉积情况如下:
[0050][0051][0052][0053][0054]
的结果是大于0的,其余都是小于0。顶点p0、p1和 顶点p1、p2的边向量叉积结果是这里唯一异号的。假设组成该凹多 边形的点是按照顺时针排列的,那么如果边向量叉积中出现大于0的 情况,则可以判断这两条边是凹进去的位置。即p0p1边是开始凹进 去的位置,记录这条边的位置,接着对这条边进行下一步的处理。如 果组成凹多边形的点是按照逆时针排列的,在按顺序计算的边向量的 结果中,应该是以小于0的叉积结果作为判断依据。
[0055]
步骤103:在所述目标面图形为凸多边形的情况下,确定所述凸 多边形的中心位置,以所述中心位置作为目标面图形的标识符的标识 坐标。
[0056]
本发明提供的基于s101标准的电子海图面要素标识方法,通过 在所述目标面图形为凸多边形的情况下,将所述凸多边形的中心位置 作为目标面图形的标识符的标识坐标,从而使得标识符可以更加均匀 的分布在面图形上,使得电子海图的使用更加便捷。
[0057]
进一步地,在所述目标面图形是环形的情况下,将所述目标面图 形分割为至少两个非三角形多边形;并进一步确定所述非三角形多边 形是凸多边形还是凹多边形。
[0058]
具体地,为了避免面图形上的标识符标空,在目标面图形是环形 的情况下,首先需要将目标面图形分割为至少两个非三角形多边形, 并以该至少两个非三角形多边形作为标识符标识的对象,如此,就可 以避免标识符标空的现象,从而提高了电子海图标识的精确度。
[0059]
下面对如何将目标面图形分割为至少两个非三角形多边形的实 现过程进行详细说明:
[0060]
图3为某环形面s结构示意图,该环形面s由外环s1和内环s2 组成,其中外环为s1
={(x11,y11),(x12,y12)

(x1m,y1m),2《m《∞}, 内环s2={(x21,y21),(x22,y22)

(x2n,y2n),2《n《∞},根据海图面边 界点的存储规则,s1是按照顺时针方向存储,s2是按照逆时针方向 存储(电子海图s-100标准《s-100_ed 4.0.0_clean_17122018》中7-4.3.2 对此做出了规定)。所述外环的顶点包括{p1,p2,p3,p4,p5,p6}, 顺序为顺时针存储;内环s2的顶点包括{q1,q2,q3,q4},顺序 为逆时针顺序。
[0061]
将该环形面s分别的过程为:
[0062]
(1)随机选取内环s2上一点qi,选取外环s1上距离所述点 qi最近点pj,有distance(qi,pj)=min(q,p);在内环s2上再随机选 取一点qii,使用同样方法选取点pjj,有distance(qii,pjj)=min(qii,pjj);
[0063]
(2)从点qi出发,沿内环s2的边界按照存储顺序(逆时针方 向)查找,直到点qii,从点qii跳到点pjj然后沿外环s1的边界按 照存储顺序(顺时针方向)寻找,直到点pj,点pj跳到点qi,则形 成一个点数据集path1;同理以点qii为起点,沿内环s2的边界按照 存储顺序(逆时针方向)查找,直到点qi,从点qi跳到点pj然后沿 外环s1的边界按照存储顺序(顺时针方向)寻找,直到点pjj,点 pjj跳到点qii,则形成另一个点数据集path2。path1和path2则分别 为两个闭合序列,即两个多边形。这两个多边形拥有共同的顶点qi, qii,pj,pjj。
[0064]
(3)针对path1和path2进行处理。如果path1和path2依然是 环形,则按照步骤(1)(2)继续处理,直至形成非环形多边形。
[0065]
图4为将环形面s分割后的结构示意图,如图4所示,其分割过 程为:
[0066]
在内环s2上随机选取两点分别为q1、q2,从外环s1上找到距 离点q1、q2最近的两点p1、p5;由点q1点出发,按照存储顺序进 行遍历,到点q2点,点q2点跳转到点p5,点p5按照存储顺序继 续经过点p6点到达点p1点,点p1点跳转到点q1,这样组成了闭合 区域path1{q1,q2,p5,p6,p1};由点q2点出发,按照存储顺序遍 历经过点q3、点q4到达点q1,从点q1跳转到点p1点,按照存储 顺序遍历,经过点p2、p3、p4点,到点p5,点p5跳转到点q2,组 成闭合区域path2{q2,q3,q4,q1,p1,p2,p3,p4,p5},这样原有 的环形区域就自然的划分成了path1,path2两个多边形无内环的区 域。
[0067]
本发明提供的基于s101标准的电子海图面要素标识方法,通过 将环形的目标面图形是分割为至少两个非三角形多边形,并以该至少 两个非三角形多边形作为标识符标识的对象,如此,就可以避免标识 符标空的现象,从而提高了电子海图标识的精确度。
[0068]
进一步地,在所述目标面图形为凹多边形的情况下,将所述凹多 边形分割为多个凸多边形;分别确定所述多个凸多边形的中心位置, 得到多个凸多边形分别对应的多个中心位置;以所述多个中心位置分 别作为所述目标面图形的标识符的标识坐标。
[0069]
具体地,本发明将凹多边形的目标面图形分割为多个凸多边形, 并分别以多个凸多边形的中心位置作为所述目标面图形的标识符的 标识坐标,如此一个目标面图形被分割为多少个凸多边形,就会有多 少个标识符,而且这些标识符分别对应一个被分割的凸多边形,因此, 标识符的分布会更加均匀,避免了标识符堆积在某一个区域的现象。
[0070]
本发明提供的基于s101标准的电子海图面要素标识方法,通过 将凹多边形的目标面图形分割为多个凸多边形,并分别以多个凸多边 形的中心位置作为所述目标面图形的标识符的标识坐标,使得电子海 图上的面图形的标识符分布更加均匀,从而提高了电子
海图的精确度 和使用便捷性。
[0071]
进一步地,在所述多个中心位置之间的距离小于某一预设值的情 况下,保留其中一个中心位置作为目标面图形的标识符的标识坐标。
[0072]
具体地,由于当被分割的多个凸多边形面积较小,那么其对应的 中心位置可能就会很近。由于标识符是用于标示面图形的属性的,而 中心位置作为标识符所在的坐标位置,那么当两个中心位置的距离小 于某一预设值的时候,标识的属性的内容就会在面图形上重叠,从而 影响电子海图的使用。
[0073]
本发明提供的基于s101标准的电子海图面要素标识方法,通过 在所述多个中心位置之间的距离小于某一预设值的情况下,删除其他 多余的中心位置坐标点,仅保留其中一个中心位置作为目标面图形的 标识符的标识坐标,避免了最终绘制的电子海图标识符重叠的现象, 提高了电子海图的使用便捷性。
[0074]
进一步地,所述将所述凹多边形分割为多个凸多边形包括:
[0075]
首先,确定凹多边形的凹边位置,然后以其中一个凹边的端点作 为起始点,延长该端点至跟多边形的另一条边相交为止,得到一个交 点;根据所述交点将所述凹多边切割为两个多边形,并进一步对所述 两个多边形进行切割,直到被切割后的多边形为凸多边形。
[0076]
具体地,如图2所示,下面对如何将凹多边形分割为多个凸多边 形的实现过程进行说明:
[0077]
将p0p1边延长,延长至跟多边形的一条边相交为止,从图中可 以看到,p0p1延长线相交于p2p3上的一点a。这条延长线就是凹多 边形的切割线,它把该凹多边形切割成{p1,p2,a}和{p0,a,p3,p4} 两个多边形。
[0078]
接着判断切割后的两个多边形是否仍存在凹多边形,发现并没有, 则该凹多边形切割完成,否则按照上述步骤继续进行切割,直至无凹 边形存在。
[0079]
最后计算每个多边形的中点,即使用横坐标和纵坐标的平均值作 为标识符的坐标位置。
[0080]
图5为本发明提供的基于s101标准的电子海图面要素标识方法 流程图之二,如图5所示,该方法包括:
[0081]
步骤1:首先判断目标面图形是否为环形,在所述目标面图形为 环形的情况下,进入步骤2;在所述目标面图形为非环形的情况下, 进入步骤3;
[0082]
步骤2:对环形的所述目标面图形进行分割,形成至少两个非三 角形多边形,并进入步骤3;
[0083]
步骤3:判断非环形的所述目标面图形是否为凹多边形,在所述 非环形的目标面图形为凸多边形的情况下,进入步骤5;在所述非环 形的目标面图形为凹多边形的情况下,进入步骤6;
[0084]
步骤5:确定凸多边形的中心位置;
[0085]
步骤6:将所述凹多边形的目标面图形分割成多个凸多边形;
[0086]
步骤7:计算各凸多边形的中心点;
[0087]
步骤8:将多个中心点集合作为排布坐标的集合。
[0088]
下面对本发明提供的基于s101标准的电子海图面要素标识装置 进行描述,下文
描述的基于s101标准的电子海图面要素标识装置与 上文描述的基于s101标准的电子海图面要素标识方法可相互对应参 照。
[0089]
图6为本发明基于s101标准的电子海图面要素标识装置结构示 意图,如图6所示,该装置包括:
[0090]
获取单元601,用于获取待标识的目标面图形;
[0091]
确定单元602,用于确定所述目标面图形是否为环形,在所述目 标面图形不是环形的情况下,进一步确定所述目标面图形是凸多边形 还是凹多边形;
[0092]
所述确定单元502,还用于在所述目标面图形为凸多边形的情况 下,确定所述凸多边形的中心位置,以所述中心位置作为目标面图形 的标识符的标识坐标。
[0093]
图7示例了一种电子设备的实体结构示意图,如图7所示,该电 子设备可以包括:处理器(processor)710、通信接口(communicationsinterface)720、存储器(memory)630和通信总线740, 其中,处理器710,通信接口720,存储器730通过通信总线740完 成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以 执行基于s101标准的电子海图面要素标识方法,该方法包括:
[0094]
获取待标识的目标面图形;
[0095]
确定所述目标面图形是否为环形,在所述目标面图形不是环形的 情况下,进一步确定所述目标面图形是凸多边形还是凹多边形;
[0096]
在所述目标面图形为凸多边形的情况下,确定所述凸多边形的中 心位置,以所述中心位置作为目标面图形的标识符的标识坐标。
[0097]
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的 形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可 读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说 对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品 的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者 网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而 前述的存储介质包括:u盘、移动硬盘、只读存储器(rom, read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、 磁碟或者光盘等各种可以存储程序代码的介质。
[0098]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序 产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介 质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法 所提供的基于s101标准的电子海图面要素标识方法。
[0099]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上 存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各 方法提供的基于s101标准的电子海图面要素标识方法。
[0100]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部 件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也 可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付 出创造性的劳动的情况下,即可以理解并实施。
[0101]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解 到各实施方式
可借助软件加必需的通用硬件平台的方式来实现,当然 也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现 有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软 件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光 盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所 述的方法。
[0102]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而 非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领 域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技 术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修 改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方 案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献