一种带洞多边形在电子地图中的无损压缩存储方法和装置与流程

文档序号:18889112发布日期:2019-10-15 21:26阅读:186来源:国知局
一种带洞多边形在电子地图中的无损压缩存储方法和装置与流程

本发明实施例涉图片数据处理技术领域,更具体地,涉及一种带洞多边形在电子地图中的无损压缩存储方法和装置。



背景技术:

在现代信息化发展的过程中,电子地图已经深入人们生活的方方面面。在大比例尺的电子地图中,多边形面要素的形状点越多,能显示出多边形面要素的细节也越丰富。足够多的形状点,能够更好的表达多边形面要素的局部细节特征,更丰富的展示地图中多边形面要素的细节,给用户以更多的信息量。

目前国内外常见的地图绘制工具中,通常主要采用了定点符号法,线状符号法,范围法、节点编辑法等,基于地图api多边形覆盖物绘制是在地图上描绘3个或以上数量的点,点与点直接自动通过直线相连,形成一个首尾相连的闭合多边形。然而这些绘制不可避免地存在一些缺点,如绘制单个多边形覆盖物时,遇到像河流、山脉、自然村、不规则道路等表达较模糊的自然边界时,需要将地图级别放到到很高级别,同时要添加多点才能将边界描绘完成;绘制多个相邻多边形覆盖物时,相邻边界容易产生重叠、不重合现象,绘制精确度不高。

电子地图在各类终端上绘制时通常采用opengl硬绘制加速,当存在复杂多边形时(凹多边形),其要求将复杂多边形剖分为多个三角形,如果将多边形全部切割为三角形存储无疑将增大电子地图的数据量,因此三角剖分通常在终端上进行,电子地图数据中仍存储原始多边形。如果原始多边形带洞,三角剖分将造成较多的碎小图形,在高比例尺时造成电子地图显示时卡顿,影响用户体验。



技术实现要素:

本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的一种带洞多边形在电子地图中的无损压缩存储方法和装置,减少数据量,相较于传统方式简化了切洞过程,节约了处理时间,优化了数据量及用户体验。

第一方面,本发明实施例提供一种带洞多边形在电子地图中的无损压缩存储方法,包括:

步骤s1、提取电子地图中带洞多边形的内环图形和外环图形,将所述外环图形进行填充,得到多个简单多边形;

步骤s2、标记多个所述简单多边形的压盖关系,基于所述压盖关系存储多个所述简单多边形。

作为优选的,所述步骤s1中,提取电子地图中带洞多边形的内环图形和外环图形前,还包括:

判断电子地图中的多边形是否为带洞多边形;若是则提取所述带洞多边形的内环图形;若否则按多边形的压盖关系存储所述多边形。

作为优选的,还包括:

若判断获知所述内环图形为带洞多边形,则重复步骤s1,直至所有内环图形均提取完成。

作为优选的,所述步骤s2中,标记多个所述简单多边形的压盖关系时,内环图形叠加在外环图形上。

作为优选的,所述步骤s2中,标记多个所述简单多边形的压盖关系后,还包括:

将电子地图网格内同类型图形合并,并按照电子地图中每个比例尺寸中网格大小对带洞多边形的外环图形进行空间判断;

若判断获知带洞多边形的外环图形包含整个网格,则删除带洞多边形的外环图形的形状点,将带洞多边形的外环图形在本网格内的坐标直接替换为网格的顶点坐标。

作为优选的,所述步骤s2中,还包括:

若判断获知带洞多边形的外环图形不包含整个网格,则将网格内多个简单多边形进行合并,并再次判断合并后的多边形是否包含整个网格;

若合并后的多边形包含整个网格,则删除合并后的多边形的形状点,将并后的多边形在本网格内的坐标直接替换为网格的顶点坐标;

若合并后的多边形不包含整个网格,则按压盖关系存储带洞多边形。

作为优选的,若判断获知简单多边形包含整个网格后,还包括:

按压盖关系存储所述带洞多边形,由最底层向上层依次写入各简单多边形。

第二方面,本发明实施例提供一种带洞多边形在电子地图中的无损压缩存储装置,包括多边形提取模块和多边形存储模块;

所述多边形提取模块,用于提取电子地图中带洞多边形的内环图形和外环图形,将所述外环图形进行填充,得到多个简单多边形;

所述多边形存储模块,用于标记多个所述简单多边形的压盖关系,基于所述压盖关系存储多个所述简单多边形。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。

本发明实施例提出了一种带洞多边形在电子地图中的无损压缩存储方法和装置,通过改进带洞多边形的处理方式,将带洞多边形转化为简单多边形进行处理,通过压盖绘制,在视觉上还原带洞效果,并根据电子地图分网格存储的特点,对合并后充满网格的多边形进行进一步精化表达,明显减少数据量,相较于传统方式简化了切洞过程,节约了处理时间,优化了数据量及用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例的带洞多边形在电子地图中的无损压缩存储方法流程框图;

图2为根据本发明实施例的带洞多边形示意图;

图3为根据本发明实施例的带洞多边形在电子地图中的无损压缩存储方法具体流程示意图;

图4为现有技术中的带洞多边形处理方式;

图5为根据本发明实施例的带洞多边形拆分示意图;

图6为根据本发明实施例的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

电子地图在各类终端上绘制时通常采用opengl硬绘制加速,当存在复杂多边形时(凹多边形),其要求将复杂多边形剖分为多个三角形,如果将多边形全部切割为三角形存储无疑将增大电子地图的数据量,因此三角剖分通常在终端上进行,电子地图数据中仍存储原始多边形。如果原始多边形带洞,三角剖分将造成较多的碎小图形,在高比例尺时造成电子地图显示时卡顿,影响用户体验。因此,本发明各实施例通过改进带洞多边形的处理方式,将带洞多边形转化为简单多边形进行处理,通过压盖绘制,在视觉上还原带洞效果,并根据电子地图分网格存储的特点,对合并后充满网格的多边形进行进一步精化表达,明显减少数据量,相较于传统方式简化了切洞过程,节约了处理时间,优化了数据量及用户体验。以下将通过多个实施例进行展开说明和介绍。

图1为本发明实施例提供的一种带洞多边形在电子地图中的无损压缩存储方法,包括:

步骤s1、提取电子地图中带洞多边形的内环图形和外环图形,将所述外环图形进行填充,得到多个简单多边形;

步骤s2、标记多个所述简单多边形的压盖关系,基于所述压盖关系存储多个所述简单多边形。

在本实施例中,将带洞多边形的内外环分别拆分为简单多边形(参见附图2),图2中,通过椭圆表示外环图形,椭圆中的矩形表示内环图形,外环图形变为填充完整的简单多边形,内环图形也变为简单多边形,默认内环图形叠加在外环图形上;通过采用独特的带洞多边形存储方式,避免电子地图生产过程中对原始带洞多边形进行剖分(把洞切开)的工作,同时也减少了因为对图形进行切割,造成的形状点增加,数据量变大的问题,并结合电子地图按网格(图幅)划分的特点,进一步优化了存储多边形的数据量,并保证了无损压缩。

在本实施例中,以带动多边形作为复杂多边图形,不带洞的多边形称为简单多边形。

在本市实例中,进一步的,作为一种优选的实施方式,将带洞多边形中全部拆分为不带洞的简单多边形,通过绘制顺序来表达,后绘制的图形压盖在先绘制的图形之上,避免了必须对原图形进行切洞操作的过程,高层水系面积大,加之岛屿众多(洞非常多),切洞操作费时费力,还增加了数据量(切割出来新的形状点),并且将带洞图形填充后,整个图形更加完整,便于将完整包含网格的图形简化表达,进一步优化了数据量。

在上述实施例的基础上,所述步骤s1中,提取电子地图中带洞多边形的内环图形和外环图形前,还包括:

判断电子地图中的多边形是否为带洞多边形;若是则提取所述带洞多边形的内环图形;若否则按多边形的压盖关系存储所述多边形,最底层的图形先写入,上层的图形后写入存储。

在上述各实施例的基础上,还包括:

若判断获知所述内环图形为带洞多边形,则重复步骤s1,直至所有内环图形均提取完成。

在本实施例中,内环提取完后,就变成了”不带洞”的普通外环图形,即简单多边形,如果洞中还带洞,重复同样操作,直到把所有内环图形全部提取完。

在上述各实施例的基础上,所述步骤s2中,标记多个所述简单多边形的压盖关系时,内环图形叠加在外环图形上。

在本实施例中,将带洞多边形的内外环分别拆分为简单多边形,外环图形变为填充完整的简单多边形,内环图形也变为简单多边形,默认内环图形叠加在外环图形上

在上述各实施例的基础上,如图3中所示,所述步骤s2中,标记多个所述简单多边形的压盖关系后,还包括:

将电子地图网格内同类型图形合并,并按照电子地图中每个比例尺寸中网格大小对带洞多边形的外环图形进行空间判断;将原外环图形所在的外环多边形与网格边线进行切割,判断该外环多边形是否包含整个网格;

若判断获知带洞多边形的外环图形包含整个网格,则删除带洞多边形的外环图形的形状点,将带洞多边形的外环图形在本网格内的坐标直接替换为网格的顶点坐标。

在上述各实施例的基础上,所述步骤s2中,还包括:

若判断获知简单多边形不包含整个网格,则将网格内多个简单多边形进行合并,并再次判断合并后的多边形是否包含整个网格;

若判断获知带洞多边形的外环图形不包含整个网格,则将网格内多个简单多边形进行合并,并再次判断合并后的多边形是否包含整个网格;

若合并后的多边形包含整个网格,则删除合并后的多边形的形状点,将并后的多边形在本网格内的坐标直接替换为网格的顶点坐标;

若合并后的多边形不包含整个网格,则按压盖关系存储带洞多边形。

图4为现有技术中的带洞多边形处理方式,通过将带洞多边形切开,变成不带洞的多边形,生成上下两个部分,两个图形。

在本市实例中,如图5中所示,先将网格内同类型图形合并后(如水系与水系合并,绿地与绿地合并),再按照电子地图每个比例尺中的网格大小,对多边形进行空间判断,如果多边形(单个或合并后的)包含整个网格,刚将多边形在本网格内的坐标直接替换为网格四个顶点坐标(通常网格为矩形),而不用存储原始图形在网格内坐标。

在上述各实施例的基础上,若判断获知简单多边形包含整个网格后,还包括:

按压盖关系存储带洞多边形,由最底层向上层依次写入各简单多边形。

在本实施例中,根据压盖清单(部分特殊情况,如岛屿压盖在水系空洞内,需要手动调整压盖关系),局部调整优化压盖关系,位于底层的在电子地图中先存储,位于上层的后存储;导航电子地图绘制时依照数据存储顺序,顺序绘制,原来为洞的多边形用白色填充,即可还原带洞的情况。

本发明实施例还提供一种带洞多边形在电子地图中的无损压缩存储装置,基于上述各实施例中的方法,包括多边形提取模块和多边形存储模块;

所述多边形提取模块,用于提取电子地图中带洞多边形的内环图形和外环图形,将所述外环图形进行填充,得到多个简单多边形;

所述多边形存储模块,用于标记多个所述简单多边形的压盖关系,基于所述压盖关系存储多个所述简单多边形。

图6为本发明实施例提供的电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)810、通信接口(communicationsinterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储在存储器830上并可在处理器810上运行的计算机程序,以执行上述各实施例提供的带洞多边形在电子地图中的无损压缩存储方法,例如包括:

步骤s1、提取电子地图中带洞多边形的内环图形和外环图形,将所述外环图形进行填充,得到多个简单多边形;

步骤s2、标记多个所述简单多边形的压盖关系,基于所述压盖关系存储多个所述简单多边形。

此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的带洞多边形在电子地图中的无损压缩存储方法,例如包括:

步骤s1、提取电子地图中带洞多边形的内环图形和外环图形,将所述外环图形进行填充,得到多个简单多边形;

步骤s2、标记多个所述简单多边形的压盖关系,基于所述压盖关系存储多个所述简单多边形。

本发明实施例还提供本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行如上述的带洞多边形在电子地图中的无损压缩存储方法,例如包括:

步骤s1、提取电子地图中带洞多边形的内环图形和外环图形,将所述外环图形进行填充,得到多个简单多边形;

步骤s2、标记多个所述简单多边形的压盖关系,基于所述压盖关系存储多个所述简单多边形。

综上所述,本发明实施例提出了一种带洞多边形在电子地图中的无损压缩存储方法和装置,通过改进带洞多边形的处理方式,将带洞多边形转化为简单多边形进行处理,通过压盖绘制,在视觉上还原带洞效果,并根据电子地图分网格存储的特点,对合并后充满网格的多边形进行进一步精化表达,明显减少数据量,相较于传统方式简化了切洞过程,节约了处理时间,优化了数据量及用户体验。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1