CN108346170B - 电子地图的缝隙填充方法及装置 - Google Patents
电子地图的缝隙填充方法及装置 Download PDFInfo
- Publication number
- CN108346170B CN108346170B CN201710047316.XA CN201710047316A CN108346170B CN 108346170 B CN108346170 B CN 108346170B CN 201710047316 A CN201710047316 A CN 201710047316A CN 108346170 B CN108346170 B CN 108346170B
- Authority
- CN
- China
- Prior art keywords
- target
- gap
- effective
- area
- filling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种电子地图的缝隙填充方法,包括:确定目标填充区域,获取所述目标填充区域中的有效面的集合;迭代执行:依次将所述有效面的集合中的目标有效面逐一膨胀目标步长,所述目标步长为预设的第一步长;移除膨胀后的目标有效面中与相邻的有效面的交集部分;将所述目标填充区域减去所述膨胀后的有效面的集合得到缝隙面;在所述缝隙面的面积小于第一阈值时,结束迭代,输出所述目标填充区域。此外,本发明实施例还公开了一种电子地图的缝隙填充装置。采用本发明,可提高电子地图中缝隙填充的准确性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种电子地图的缝隙填充方法及装置。
背景技术
电子地图会使用各种面数据,比如楼快,小区,河流等。其中有些面数据需要无缝拼接,比如行政区划数据,每个地方必须属于某个行政区。以往这种数据可能需要实地测量,人工编辑,耗时比较久。以往的缝隙填充技术是多边形去缝,常见的技术有点吸附模型,从点的层面出发,去除产生缝隙的点,达到去缝隙的效果。原理是寻找一个点周围一定范围内其他点,然后将这一组点合并为一个点,达到让原来不贴合的边界重叠。
这种方法实现简单,但是吸附模型碰到一些复杂的情况时,就会产生奇怪的结果,如图1,多边形A和B,a1,a2与b1,b2小于阈值,这四个点聚成一个点之后就产生了图2。问题有两类:1产生了无效的边,即a1a3和a3a2,因为点吸附时,没有考虑和自身其他点的关系;2有一类缝隙去不掉,点和线关系产生的缝隙。点吸附模型的去缝隙方法之所以存在诸多问题,是它从点的关系出发,而不是从面本身,这样就使的通过计算机自动填充缝隙的方法得到的填充结果的准确度不高。
发明内容
基于此,为解决传统技术中的通过计算机自动填充缝隙的方法得到的填充结果的准确度不高的技术问题,特提出了一种电子地图的缝隙填充方法。
一种电子地图的缝隙填充方法,包括:
确定目标填充区域,获取所述目标填充区域中的有效面的集合;
迭代执行:
依次将所述有效面的集合中的目标有效面逐一膨胀目标步长,所述目标步长为预设的第一步长;
移除膨胀后的目标有效面中与相邻的有效面的交集部分;
将所述目标填充区域减去所述膨胀后的有效面的集合得到缝隙面;
在所述缝隙面的面积小于第一阈值时,结束迭代,输出所述目标填充区域。
可选的,在其中一个实施例中,所述依次将所述有效面的集合中的目标有效面逐一膨胀预设第一步长之前还包括:检测迭代次数,在所述迭代次数大于或等于第二阈值时,执行所述结束迭代,输出所述目标填充区域。
可选的,在其中一个实施例中,所述方法还包括:在所述缝隙面的面积小于第三阈值时,将所述目标步长设置为第二步长,所述第二步长小于所述第一步长。
可选的,在其中一个实施例中,所述输出所述目标填充区域之前还包括:
获取所述目标填充区域中的缝隙面,将所述缝隙面切割为至少一个缝隙块,且所述缝隙块最多与两个有效面相邻;将所述缝隙块合并到与所述缝隙块相邻的有效面中。
可选的,在其中一个实施例中,所述依次将所述有效面的集合中的目标有效面逐一膨胀目标步长为:通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长;
所述移除膨胀后的目标有效面中与相邻的有效面的交集部分为:通过调用所述shapely库中的交集函数得到膨胀后的目标有效面与相邻的有效面的交集部分;通过调用所述shapely库中的做差函数在所述膨胀后的目标有效面中移除所述交集部分。
所述移除膨胀后的目标有效面中与相邻的有效面的交集部分之后还包括:
在移除交集部分的所述目标有效面的大小相对于膨胀前的所述目标有效面没有发生变化时,将所述目标有效面标记为膨胀完成状态;
所述依次将所述有效面的集合中的目标有效面逐一膨胀目标步长还包括:
跳过所述有效面的集合中被标记为膨胀完成状态的有效面。
此外,为解决传统技术中的通过计算机自动填充缝隙的方法得到的填充结果的准确度不高的技术问题,特提出了一种电子地图的缝隙填充装置。
一种电子地图的缝隙填充装置,包括:
有效面确定模块,用于确定目标填充区域,获取所述目标填充区域中的有效面的集合;
目标有效面膨胀模块,用于依次将所述有效面的集合中的目标有效面逐一膨胀目标步长,所述目标步长为预设的第一步长;
交集移除模块,用于移除膨胀后的目标有效面中与相邻的有效面的交集部分;
缝隙面确定模块,用于将所述目标填充区域减去所述膨胀后的有效面的集合得到缝隙面;
目标填充区域输出模块,用于在所述缝隙面的面积小于第一阈值时,结束迭代,输出所述目标填充区域。
可选的,在其中一个实施例中,所述装置还包括迭代次数检测模块,用于检测迭代次数,在所述迭代次数大于或等于第二阈值时,调用所述目标填充区域输出模块。
可选的,在其中一个实施例中,所述装置还包括步长设置模块,用于在所述缝隙面的面积小于第三阈值时,将所述目标步长设置为第二步长,所述第二步长小于所述第一步长。
可选的,在其中一个实施例中,所述装置还包括缝隙块合并模块,用于获取所述目标填充区域中的缝隙面,将所述缝隙面切割为至少一个缝隙块,且所述缝隙块最多与两个有效面相邻;将所述缝隙块合并到与所述缝隙块相邻的有效面中。
可选的,在其中一个实施例中,所述目标有效面膨胀模块还用于通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长;所述交集移除模块还用于通过调用所述shapely库中的交集函数得到膨胀后的目标有效面与相邻的有效面的交集部分;通过调用所述shapely库中的做差函数在所述膨胀后的目标有效面中移除所述交集部分。
可选的,在其中一个实施例中,所述交集移除模块还用于在移除交集部分的所述目标有效面的大小相对于膨胀前的所述目标有效面没有发生变化时,将所述目标有效面标记为膨胀完成状态;所述目标有效面膨胀模块还用于跳过所述有效面的集合中被标记为膨胀完成状态的有效面。
实施本发明实施例,将具有如下有益效果:
采用了上述电子地图的缝隙填充方法及装置之后,通过迭代的方式,从目标填充区域中的有效面出发,通过将有效面逐渐膨胀来“侵蚀”目标填充区域中的缝隙面,最终可在迭代一定次数之后将缝隙面完全填充,相比于传统的点吸附模型,对于极端的情况,仍然保留了有效面之间本身的邻接关系,而不会出现点吸附模型中产生的无效边,也不会出现填充不了的缝隙面,经过有限次的迭代终究可以将残余的缝隙面移除,这就使得缝隙填充的效果更佳准确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中一种目标填充区域内有效面的邻接关系示意图;
图2为一个实施例中填充目标填充区域后先无效边的错误填充效果示意图;
图3为一个实施例中一种电子地图的缝隙填充方法的流程示意图;
图4为一个实施例中一种目标填充区域内填充前有效面的邻接关系示意图;
图5为一个实施例中一种目标填充区域内填充前缝隙面的示意图;
图6为一个实施例中一种迭代填充过程中有效面膨胀过程的示意图;
图7为一个实施例中一种迭代填充过程中有效面之间产生交集的示意图;
图8为一个实施例中一种迭代填充过程中移除与其他有效面之间交集的示意图;
图9为一个实施例中一种迭代填充过程中缝隙面大小变化的示意图;
图10为一个实施例中一种迭代填充完成后将缝隙面切割为缝隙块的示意图;
图11为一个实施例中一种电子地图的缝隙填充装置的结构示意图;
图12为一个实施例中运行前述电子地图的缝隙填充方法的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决传统技术中的通过计算机自动填充缝隙的方法得到的填充结果的准确度不高的技术问题,在本实施例中,特提出了一种电子地图的缝隙填充方法,该方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机系统之上,该计算机程序可以是电子地图的应用程序或基于电子地图、LBS的应用程序。该计算机系统可以是运行上述计算机程序的例如智能手机、平板电脑、个人电脑等服务器或终端。
在本发明实施例的应用场景为电子地图的数据处理场景。在电子地图应用中,电子地图会使用各种面数据,比如楼块,小区,河流等。而对于某些面数据,需要将其进行无缝拼接,比如行政区划数据,电子地图上的每个位置点必须属于某个行政区,并且需要忽略道路的宽度所造成缝隙。以往这种数据可能需要实地测量,人工编辑,耗时比较久。
本发明实施例在电子地图的数据处理应用场景下,可生成无缝拼的面数据,对电子地图中的面数据进行自动化处理,填充缝隙,降低人工编辑成本,提高工作效率。并且,本发明实施例可利用图形学常用的膨胀方法,对原始面轮廓进行适当膨胀,填充缝隙,可以保证填充缝隙后的多边形仍是有效多边形,而且轮廓的外形变化更小。
需要说明的是,下述实施例中的电子地图的缝隙填充方法的执行,可依赖于shapely库,shapely库是一个开源的地理空间几何库,基于python语言编写,并提供了多边形数据的膨胀、腐蚀、求交集的库函数。通过加载shapely库,并调用相应的膨胀、腐蚀、求交集的库函数,即可实现上述电子地图的缝隙填充方法。
具体的,如图3所示,上述电子地图的缝隙填充方法包括:
步骤S102:确定目标填充区域,获取所述目标填充区域中的有效面的集合。
目标填充区域即为需要填充缝隙空间的区域。在一个实施例中,如图4所示,某市的地理勘测图包括A县、B县和C县,且A县、B县和C县被在该市内流经且交汇的D河与E江划分。若现在要通过该地理勘测图得到该市的行政区划图,就需要先根据该地理勘测图确定该市的范围的多边形,该多边形即为确定的需要进行缝隙填充的目标填充区域。
再参考图4和5所示,在通过缝隙填充构建行政区规划图时,需要保留的是图4中的A县、B县和C县的部分,而需要填充的缝隙部分为图5中的与行政区划无关的D河和E江部分。因此,A县、B县和C县在地理勘测图上对应的多边形构成的面即为有效面,该市对应的目标填充区域包含的有效面的集合即为图4中A县、B县和C县所在区域的多边形区域的集合。
在确定了目标填充区域以及目标填充区域中的有效面之后,即可通过迭代地方式,依次膨胀有效面,最终将缝隙填充,具体的,可迭代执行:
步骤S104:依次将所述有效面的集合中的目标有效面逐一膨胀目标步长,所述目标步长为预设的第一步长。
在一次迭代过程中,可依次将A、B、C三个有效面进行膨胀。如图6所示,可先将A面进行膨胀,膨胀的大小即为第一步长。在本实施例中,通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长。可调用前述的shapely库的膨胀函数将A面进行膨胀,并将预设的第一步长作为参数传递给膨胀函数即可。在电子地图应用中,第一步长的大小可设置为10米为单位,当设置过大时,迭代较少次数即可完成填充,但得到的地图精度较低;当设置较小时,地图精度较高,但需要迭代较多的次数,从而造成较大的数据计算量。在本实施例中,可在A有效面膨胀后,再膨胀B有效面,再膨胀C有效面。C有效面膨胀结束后,则本次迭代结束,进入下一次迭代。
需要说明的是,在本实施例中,在一次迭代过程中,膨胀有效面的先后顺序并不限定于先将A有效面膨胀后,再膨胀B有效面,再膨胀C有效面,可以任何顺序进行。在其他实施例中,还可根据一定算法来确定有效面的膨胀顺序,使得缝隙填充后的目标填充区域中各个有效面之间的衔接更加平滑。
同时,在本实施例中的膨胀过程中,也可通过预设的配置选定部分有效面不膨胀。例如,若上例中,A有效面的大小已经足够大,而B有效面和C有效面的大小相对较小,则可优先选择膨胀B有效面和C有效面,或者指定A有效面不膨胀,仅膨胀B有效面和C有效面,从而使得最终缝隙填充后的目标填充区域中各个有效面大小较均衡。
步骤S106:移除膨胀后的目标有效面中与相邻的有效面的交集部分。
参考图7所示,若在经过n次迭代之后,A有效面膨胀后大小过大,与C有效面发生了重叠,重叠部分即为膨胀后的A有效面与相邻的有效面C的交集部分(如图7中斜线部分)。对于该交集部分,参考图8所示,需要从膨胀后的A有效面中将其移除,也就是说,A有效面在膨胀后大小变化导致侵占的C有效面的行政区划部分,仍然需要划归给C有效面。
在本实施例中,如前所述,可通过shapely库的接口函数来实现这一方案。可通过调用shapely库中的交集函数得到膨胀后的目标有效面与相邻的有效面的交集部分。在上例中,即得到膨胀后的A有效面和与其相邻的C有效面的交集部分。然后通过调用shapely库中的做差函数在膨胀后的目标有效面中移除交集部分。即将膨胀后的A有效面减去该交集部分的数据。
此时A有效面的膨胀结束,可继续膨胀B有效面,同样的,在膨胀后的B有效面于A有效面和C有效面发生重叠产生交集部分的数据时,也通过移除膨胀后的B有效面中与相邻的有效面的交集部分来完成B有效面的膨胀。
也就是说,在一次迭代过程中,依次对目标填充区域中的有效面进行膨胀,并移除“侵占”其他有效面的交集部分;而在多次迭代过程中,则循环执行这一过程,在C有效面膨胀完成,并移除了“侵占”其他有效面的交集部分后,进入下一次迭代,继续对A有效面进行膨胀。而对于迭代过程的停止,则可在每次迭代过程中,通过对剩余的未填充区域进行判断来确定是否结束迭代,或者通过预设一个迭代次数来确定是否结束迭代。
具体的,步骤S108:将目标填充区域减去膨胀后的有效面的集合得到缝隙面。
步骤S110:判断所述缝隙面的面积是否小于预设的第一阈值,若否,则迭代执行所述步骤S104-步骤S110;若是,则执行步骤S112:输出所述目标填充区域。
如图5和9所示,在膨胀前,目标填充区域减去有效面的集合得到的缝隙面即为D河与E江的区域(如图5所示)。而经过迭代多次后,如图9所示,A有效面的膨胀已经对C有效面实现了侵占,从而得到的缝隙面变小。
也就是说,随着上述迭代进程的演进,每次迭代后计算得到的缝隙面总是减小的趋势。可通过前述的shaplely库函数计算缝隙面的大小,若缝隙面的大小小于阈值,则可结束迭代,输出目标填充区域。
在另一个实施例中,还可检测迭代次数,在所述迭代次数大于或等于第二阈值时,执行所述结束迭代,输出所述目标填充区域。例如,可根据执行本方法的计算机的性能设置一个合理的迭代次数的第二阈值N,当计算机性能强劲时,N可设置稍大,计算机性能较弱时,N可设置的较小。计算机在进行迭代时,设置一个计数器,没迭代一次则计数器加1,计数器的数值即为迭代的次数,当计数器的数值n大于或等于N时,则判定迭代结束,输出目标填充区域。
需要说明的是,上述通过缝隙面的大小来确定是否结束迭代的方案和根据迭代次数来确定是否结束迭代的方案并不冲突,在一个实施例中可同时使用。迭代次数的第二阈值可作为一个保险机制,防止计算机耗费过多运算能力。当第一阈值或第二阈值的条件中任何一个满足时,均可结束迭代。
进一步的,在前述方案中,若地图形状不规则程度较严重,或者若N值设置的不合理而偏小时,输出的目标填充区域中可能仍然包含一些零星的碎片化的缝隙面。
在这种情况下,可在输出目标填充区域之前对目标填充区域中的有效面和缝隙面进行进一步的处理,可获取目标填充区域中的缝隙面,将缝隙面切割为至少一个缝隙块,且缝隙块最多与两个有效面相邻;将缝隙块合并到与缝隙块相邻的有效面中。
如图10所示,经过多次迭代并结束迭代之后,A面与C面之间的缝隙已经填充,B面与C面之间的缝隙也已完全填充,但A面与B面之间仍然存在缝隙,但该缝隙面的大小较小,已经低于了第一阈值,使得迭代过程已经结束,无法继续通过迭代来填充该缝隙面。
在这种情况下,可将该缝隙面切割为一个或一个以上的,且最多与两个有效面相邻缝隙块(如图10中A有效面和B有效面所夹持的缝隙块),然后将该缝隙块合并到A有效面或B有效面中。需要说明的是,在本实施例中,并不限定该缝隙块优先合并到A有效面还是B有效面,而在其他实施例中,也可根据缝隙块相邻的有效面的大小来确定优先合并到哪个相邻的有效面。例如,若A有效面的大小显著大于B有效面的大小(差值大于一个预设值),则可优先选择B有效面,将该缝隙块合并到B有效面中,这样可使得得到的电子地图更加平滑。
进一步的,为了在保证提高电子地图的制作精度的情况下,减少处理时计算量的复杂度,还可检测目标填充区域中缝隙面大小的变化,在缝隙面的面积小于第三阈值时,将目标步长设置为第二步长,所述第二步长小于第一步长。
也就是说,在迭代初期,由于缝隙面较大,因此可采用较大的第一步长作为目标步长膨胀上述A、B、C有效面,这样可以使得在每次迭代填充的缝隙面较多,从而减少迭代的次数。而在经过多次迭代之后,缝隙面减小到一定程度(小于第三阈值)后,为了提高电子地图的精度,可将目标步长设置为较小的第二步长,这样就使得缝隙面所占据的部分可被均匀的划分到相邻的有效面上,从而使得最终得到的目标填充区域中的有效面的拼接更加平滑和精确。
进一步的,为了在保证提高电子地图的制作精度的情况下,减少处理时计算量的复杂度,还可在移除膨胀后的目标有效面中与相邻的有效面的交集部分之后执行:
在移除交集部分的所述目标有效面的大小相对于膨胀前的所述目标有效面没有发生变化时,将所述目标有效面标记为膨胀完成状态;
而在迭代过程中依次将所述有效面的集合中的目标有效面逐一膨胀目标步长时,跳过所述有效面的集合中被标记为膨胀完成状态的有效面。
也就是说,当迭代到一定次数,目标填充区域中的A、B、C有效面如图10所示时,A有效面和B有效面之间仍然夹持着缝隙面,但A有效面和C有效面之间已经没有缝隙面。在一次迭代中,将C有效面进行膨胀,若C有效面在移除与A有效面和B有效面的交集部分后,C有效面的大小没有产生变化,则可将C有效面标记为膨胀完成状态的有效面,这样在下次迭代以及后续的迭代中,都不会对C有效面进行膨胀和计算交集,移除交集的操作,从而减少了计算量。
进一步的,在检测到没有缝隙面与目标有效面相邻时,将所述目标有效面标记为膨胀完成状态,
也就是说,当迭代到一定次数,目标填充区域中的A、B、C有效面如图10所示时,A有效面和B有效面之间仍然夹持着缝隙面,但A有效面和C有效面之间已经没有缝隙面,B有效面和C有效面之间也没有缝隙面之后,即可将C有效面标记为膨胀完成状态的有效面,即,即使在本次迭代中,将C有效面进行膨胀,也不会对C有效面的大小产生变化,因此,可将C有效面标记为膨胀完成状态的有效面,这样在下次迭代以及后续的迭代中,都不会对C有效面进行膨胀和计算交集,移除交集的操作,从而减少了计算量。
此外,为解决传统技术中的通过计算机自动填充缝隙的方法得到的填充结果的准确度不高的技术问题,在一个实施例中,如图11所示,还提出了一种电子地图的缝隙填充装置,包括有效面确定模块102、目标有效面膨胀模块104、交集移除模块106、缝隙面确定模块108、目标填充区域输出模块110,其中:
有效面确定模块102,用于确定目标填充区域,获取所述目标填充区域中的有效面的集合;
目标有效面膨胀模块104,用于依次将所述有效面的集合中的目标有效面逐一膨胀目标步长,所述目标步长为预设的第一步长;
交集移除模块106,用于移除膨胀后的目标有效面中与相邻的有效面的交集部分;
缝隙面确定模块108,用于将所述目标填充区域减去所述膨胀后的有效面的集合得到缝隙面;
目标填充区域输出模块110,用于在所述缝隙面的面积小于第一阈值时,结束迭代,输出所述目标填充区域。
可选的,如图11所示,上述装置还包括迭代次数检测模块112,用于检测迭代次数,在所述迭代次数大于或等于第二阈值时,调用所述目标填充区域输出模块110。
可选的,如图11所示,上述装置还包括步长设置模块114,用于在所述缝隙面的面积小于第三阈值时,将所述目标步长设置为第二步长,所述第二步长小于所述第一步长。
可选的,如图11所示,上述装置还包括缝隙块合并模块116,用于获取所述目标填充区域中的缝隙面,将所述缝隙面切割为至少一个缝隙块,且所述缝隙块最多与两个有效面相邻;将所述缝隙块合并到与所述缝隙块相邻的有效面中。
可选的,在一个实施例中,目标有效面膨胀模块104还用于通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长;所述交集移除模块106还用于通过调用所述shapely库中的交集函数得到膨胀后的目标有效面与相邻的有效面的交集部分;通过调用所述shapely库中的做差函数在所述膨胀后的目标有效面中移除所述交集部分。
可选的,在其中一个实施例中,所述交集移除模块106还用于在移除交集部分的所述目标有效面的大小相对于膨胀前的所述目标有效面没有发生变化时,将所述目标有效面标记为膨胀完成状态;所述目标有效面膨胀模块104还用于跳过所述有效面的集合中被标记为膨胀完成状态的有效面。
实施本发明实施例,将具有如下有益效果:
采用了上述电子地图的缝隙填充方法及装置之后,通过迭代的方式,从目标填充区域中的有效面出发,通过将有效面逐渐膨胀来“侵蚀”目标填充区域中的缝隙面,最终可在迭代一定次数之后将缝隙面完全填充,相比于传统的点吸附模型,对于极端的情况,仍然保留了有效面之间本身的邻接关系,而不会出现点吸附模型中产生的无效边,也不会出现填充不了的缝隙面,经过有限次的迭代终究可以将残余的缝隙面移除,这就使得缝隙填充的效果更佳准确。
在一个实施例中,如图12所示,图12展示了一种运行上述电子地图的缝隙填充方法的基于冯诺依曼体系的计算机系统的终端。该计算机系统可以是智能手机、平板电脑、掌上电脑、笔记本电脑或个人电脑等终端设备。具体的,可包括通过系统总线连接的外部输入接口1001、处理器1002、存储器1003和输出接口1004。其中,外部输入接口1001可选的可至少包括网络接口10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可至少包括显示屏10042等设备。
在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统中形成逻辑上的有效面确定模块102、目标有效面膨胀模块104、交集移除模块106、缝隙面确定模块108、目标填充区域输出模块110、迭代次数检测模块112、步长设置模块114以及缝隙块合并模块116。且在上述电子地图的缝隙填充方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
具体的,处理器1002用于执行如下操作:
确定目标填充区域,获取所述目标填充区域中的有效面的集合;
并迭代执行:
依次将所述有效面的集合中的目标有效面逐一膨胀目标步长,所述目标步长为预设的第一步长;
移除膨胀后的目标有效面中与相邻的有效面的交集部分;
将所述目标填充区域减去所述膨胀后的有效面的集合得到缝隙面;
在所述缝隙面的面积小于第一阈值时,结束迭代,输出所述目标填充区域。
可选的,在一个实施例中,处理器1002还用于执行检测迭代次数,在所述迭代次数大于或等于第二阈值时,执行所述结束迭代,输出所述目标填充区域。
可选的,在一个实施例中,处理器1002还用于执行在所述缝隙面的面积小于第三阈值时,将所述目标步长设置为第二步长,所述第二步长小于所述第一步长。
可选的,在一个实施例中,处理器1002还用于执行获取所述目标填充区域中的缝隙面,将所述缝隙面切割为至少一个缝隙块,且所述缝隙块最多与两个有效面相邻;将所述缝隙块合并到与所述缝隙块相邻的有效面中。
可选的,在一个实施例中,处理器1002还用于执行通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长;通过调用所述shapely库中的交集函数得到膨胀后的目标有效面与相邻的有效面的交集部分;通过调用所述shapely库中的做差函数在所述膨胀后的目标有效面中移除所述交集部分。
可选的,在一个实施例中,处理器1002还用于在移除交集部分的所述目标有效面的大小相对于膨胀前的所述目标有效面没有发生变化时,将所述目标有效面标记为膨胀完成状态;跳过所述有效面的集合中被标记为膨胀完成状态的有效面。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种电子地图的缝隙填充方法,其特征在于,包括:
在电子地图中确定需要填充缝隙空间的区域,将所述区域范围的多边形确定为目标填充区域,获取所述目标填充区域中需要保留的区域,将需要保留的区域在所述电子地图上对应的多边形区域的集合确定为有效面的集合;
迭代执行:
通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长;所述目标步长为预设的第一步长;
通过调用所述shapely库中的交集函数得到膨胀后的目标有效面与相邻的有效面的交集部分;
通过调用所述shapely库中的做差函数在所述膨胀后的目标有效面中移除所述交集部分;
将所述目标填充区域减去所述膨胀后的有效面的集合得到缝隙面;
在所述缝隙面的面积小于第一阈值时,结束迭代,输出所述目标填充区域。
2.根据权利要求1所述的电子地图的缝隙填充方法,其特征在于,所述通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长之前还包括:
检测迭代次数,在所述迭代次数大于或等于第二阈值时,执行所述结束迭代,输出所述目标填充区域。
3.根据权利要求1所述的电子地图的缝隙填充方法,其特征在于,所述方法还包括:
在所述缝隙面的面积小于第三阈值时,将所述目标步长设置为第二步长,所述第二步长小于所述第一步长。
4.根据权利要求1所述的电子地图的缝隙填充方法,其特征在于,所述输出所述目标填充区域之前还包括:
获取所述目标填充区域中的缝隙面,将所述缝隙面切割为至少一个缝隙块,且所述缝隙块最多与两个有效面相邻;
将所述缝隙块合并到与所述缝隙块相邻的有效面中。
5.根据权利要求1所述的电子地图的缝隙填充方法,其特征在于,所述通过调用所述shapely库中的做差函数在所述膨胀后的目标有效面中移除所述交集部分之后还包括:
在移除交集部分的所述目标有效面的大小相对于膨胀前的所述目标有效面没有发生变化时,将所述目标有效面标记为膨胀完成状态;
所述通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长还包括:
跳过所述有效面的集合中被标记为膨胀完成状态的有效面。
6.一种电子地图的缝隙填充装置,其特征在于,包括:
有效面确定模块,用于在电子地图中确定需要填充缝隙空间的区域,将所述区域范围的多边形确定为目标填充区域,获取所述目标填充区域中需要保留的区域,将需要保留的区域在所述电子地图上对应的多边形区域的集合确定为有效面的集合;
目标有效面膨胀模块,用于依次将所述有效面的集合中的目标有效面逐一膨胀目标步长,所述目标步长为预设的第一步长;
交集移除模块,用于移除膨胀后的目标有效面中与相邻的有效面的交集部分;
缝隙面确定模块,用于将所述目标填充区域减去所述膨胀后的有效面的集合得到缝隙面;
目标填充区域输出模块,用于在所述缝隙面的面积小于第一阈值时,结束迭代,输出所述目标填充区域;
其中,所述目标有效面膨胀模块还用于通过调用shapely库中的膨胀函数将所述有效面的集合中的目标有效面逐一膨胀目标步长;
所述交集移除模块还用于通过调用所述shapely库中的交集函数得到膨胀后的目标有效面与相邻的有效面的交集部分;通过调用所述shapely库中的做差函数在所述膨胀后的目标有效面中移除所述交集部分。
7.根据权利要求6所述的电子地图的缝隙填充装置,其特征在于,所述装置还包括迭代次数检测模块,用于检测迭代次数,在所述迭代次数大于或等于第二阈值时,调用所述目标填充区域输出模块。
8.根据权利要求6所述的电子地图的缝隙填充装置,其特征在于,所述装置还包括步长设置模块,用于在所述缝隙面的面积小于第三阈值时,将所述目标步长设置为第二步长,所述第二步长小于所述第一步长。
9.根据权利要求6所述的电子地图的缝隙填充装置,其特征在于,所述装置还包括缝隙块合并模块,用于获取所述目标填充区域中的缝隙面,将所述缝隙面切割为至少一个缝隙块,且所述缝隙块最多与两个有效面相邻;将所述缝隙块合并到与所述缝隙块相邻的有效面中。
10.根据权利要求6所述的电子地图的缝隙填充装置,其特征在于,所述交集移除模块还用于在移除交集部分的所述目标有效面的大小相对于膨胀前的所述目标有效面没有发生变化时,将所述目标有效面标记为膨胀完成状态;
所述目标有效面膨胀模块还用于跳过所述有效面的集合中被标记为膨胀完成状态的有效面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710047316.XA CN108346170B (zh) | 2017-01-22 | 2017-01-22 | 电子地图的缝隙填充方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710047316.XA CN108346170B (zh) | 2017-01-22 | 2017-01-22 | 电子地图的缝隙填充方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108346170A CN108346170A (zh) | 2018-07-31 |
CN108346170B true CN108346170B (zh) | 2022-08-12 |
Family
ID=62974672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710047316.XA Active CN108346170B (zh) | 2017-01-22 | 2017-01-22 | 电子地图的缝隙填充方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108346170B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704561B (zh) * | 2019-09-24 | 2022-04-22 | 武汉汉达瑞科技有限公司 | 一种地图贴边方法、终端装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213524A (ja) * | 2006-02-13 | 2007-08-23 | Kimoto & Co Ltd | 地図処理システム |
CN101295300A (zh) * | 2007-04-28 | 2008-10-29 | 上海梦擎信息科技有限公司 | 一种地图无缝连接方法 |
CN101388157A (zh) * | 2008-09-25 | 2009-03-18 | 炬力集成电路设计有限公司 | 一种电子地图显示方法、装置及设备 |
CN101408989A (zh) * | 2008-10-17 | 2009-04-15 | 北大方正集团有限公司 | 基于图集拼接的图元填充方法及装置 |
CN103425801A (zh) * | 2013-09-04 | 2013-12-04 | 中测新图(北京)遥感技术有限责任公司 | 一种面向数字地球的数据融合方法和装置 |
CN104463948A (zh) * | 2014-09-22 | 2015-03-25 | 北京大学 | 三维虚拟现实系统与地理信息系统的无缝可视化方法 |
CN105761309A (zh) * | 2014-12-16 | 2016-07-13 | 高德软件有限公司 | 一种处理数字地面模型接缝的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060352B2 (en) * | 2007-10-18 | 2011-11-15 | Harris Corporation | Geospatial modeling system using void filling and related methods |
-
2017
- 2017-01-22 CN CN201710047316.XA patent/CN108346170B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213524A (ja) * | 2006-02-13 | 2007-08-23 | Kimoto & Co Ltd | 地図処理システム |
CN101295300A (zh) * | 2007-04-28 | 2008-10-29 | 上海梦擎信息科技有限公司 | 一种地图无缝连接方法 |
CN101388157A (zh) * | 2008-09-25 | 2009-03-18 | 炬力集成电路设计有限公司 | 一种电子地图显示方法、装置及设备 |
CN101408989A (zh) * | 2008-10-17 | 2009-04-15 | 北大方正集团有限公司 | 基于图集拼接的图元填充方法及装置 |
CN103425801A (zh) * | 2013-09-04 | 2013-12-04 | 中测新图(北京)遥感技术有限责任公司 | 一种面向数字地球的数据融合方法和装置 |
CN104463948A (zh) * | 2014-09-22 | 2015-03-25 | 北京大学 | 三维虚拟现实系统与地理信息系统的无缝可视化方法 |
CN105761309A (zh) * | 2014-12-16 | 2016-07-13 | 高德软件有限公司 | 一种处理数字地面模型接缝的方法及装置 |
Non-Patent Citations (1)
Title |
---|
数字海洋地图无缝拼接的研究;李晓欢等;《地理空间信息》;20081231;第6卷(第6期);58-61 * |
Also Published As
Publication number | Publication date |
---|---|
CN108346170A (zh) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210232120A1 (en) | Conversion of generative design geometry to editable and watertight boundary representation in computer aided design | |
EP2400410A1 (en) | Computing of a resulting closed triangulated polyhedral surface from a first and a second modeled object | |
EP4116935B1 (en) | High-definition map creation method and device, and electronic device | |
CN116522544B (zh) | 修边分段确定方法、装置、设备及计算机可读存储介质 | |
CN112199751B (zh) | 一种墙体模型的生成方法、装置、电子设备及存储介质 | |
Canann et al. | Automatic 3D surface meshing to address today's industrial needs | |
CN108346170B (zh) | 电子地图的缝隙填充方法及装置 | |
CN109949421B (zh) | 三角网切割方法及装置 | |
CN110555910A (zh) | 一种网格切割方法、装置、终端及存储介质 | |
CN113870403B (zh) | 用于图像渲染的信息处理方法及装置 | |
CN116129136A (zh) | 矿山勘查剖面线提取方法、装置、计算机设备及存储介质 | |
US20040111243A1 (en) | Analytical model conversion method | |
CN116385415A (zh) | 一种边缘缺陷检测方法、装置、设备及存储介质 | |
Kim et al. | An extension of polygon clipping to resolve degenerate cases | |
Zhang et al. | A method for deformation detection and reconstruction of shield tunnel based on point cloud | |
CN114092932A (zh) | 倒角面的识别方法、装置、电子设备及存储介质 | |
US10572612B1 (en) | Converting finite element models to CAD models using feature recognition | |
US6690385B1 (en) | Robust boolean operations in design rule checking | |
CN108038863B (zh) | 图像分割方法及装置 | |
Lai et al. | Repairing triangular meshes for reverse engineering applications | |
US20230185275A1 (en) | 3d axis machining design | |
US8514223B2 (en) | Apparatus and method for generating three-dimensional model data | |
CN116091365B (zh) | 基于三角面的三维模型缺口修复方法、装置、设备及介质 | |
CN112634421B (zh) | 建筑模型的处理方法及装置、非易失性存储介质 | |
CN110704897A (zh) | 墙龙骨模型和底导梁模型之间的连接节点放置方法和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |