CN108170807B - 地图数据的处理、地图绘制方法、装置、设备及存储介质 - Google Patents
地图数据的处理、地图绘制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN108170807B CN108170807B CN201711464861.5A CN201711464861A CN108170807B CN 108170807 B CN108170807 B CN 108170807B CN 201711464861 A CN201711464861 A CN 201711464861A CN 108170807 B CN108170807 B CN 108170807B
- Authority
- CN
- China
- Prior art keywords
- polygon
- target
- polygons
- map data
- outsourcing
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种地图数据的处理、地图绘制方法、装置、设备及存储介质,所述方法包括:在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形;将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形,以实现在保持现有数据源不变的前提下,缩减需要处理的数据量,降低绘制孔洞多边形数据所需要的时间,从而提升地图数据的绘制速度。
Description
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种地图数据的处理、地图绘制方法、装置、设备及存储介质。
背景技术
目前,地图的绘制是按照不同的地图图层进行的。例如,湖泊和湖泊上的岛分别属于两个图层,如果岛上还有餐厅或公园等其他场景,则餐厅或公园等其他场景所在的图层也是不同于湖泊和岛所在的图层。在绘制地图时,对于“湖心岛”这类的地形,通常采用的方法为:通过人工处理将外侧的多边形(即湖面)进行剖分获取两个多边形,剖分的两个多边形围成一个孔洞,在进行数据采集时,需要采集剖分形成的多边形的数据,并通过绘制一个不同颜色的多边形(岛)来填充孔洞,进而完成整个孔洞多边形的绘制。
现有的孔洞多边形的数据处理方式由于涉及到大量的形状点,因此需要相应处理大量的数据,不仅容易遗漏出错、绘制效率较低,而且当客户端需要对地图数据进行频繁绘制或者更新时,还会降低地图数据的绘制或者更新速度。
发明内容
本发明实施例提供一种地图数据的处理、地图绘制方法、装置、设备及存储介质,以有效提升地图的绘制效率。
第一方面,本发明实施例提供了一种地图数据的处理方法,包括:
在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形;
将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形;
根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据。
第二方面,本发明实施例还提供了一种地图绘制方法,包括:
根据地图绘制请求,获取与所述地图绘制请求匹配的绘制地图数据;
其中,在所述绘制地图数据中,孔洞多边形通过整合外包多边形以及与所述整合外包多边形匹配的内接多边形构成,且所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前;
使用所述绘制地图数据,绘制地图进行显示。
第三方面,本发明实施例还提供了一种地图数据的处理装置,包括:
多边形查找模块,用于在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形;
多边形整合模块,用于将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形;
数据更新模块,用于根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据。
第四方面,本发明实施例还提供了一种地图绘制装置,包括:
数据获取模块,用于根据地图绘制请求,获取与所述地图绘制请求匹配的绘制地图数据;
其中,在所述绘制地图数据中,孔洞多边形通过整合外包多边形以及与所述整合外包多边形匹配的内接多边形构成,且所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前;
地图显示模块,用于使用所述绘制地图数据,绘制地图进行显示。
第五方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述所涉及的任一所述的地图数据的处理方法。
第六方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所涉及的任一所述的地图数据的处理方法。
第七方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述所涉及的任一所述的地图绘制方法。
第八方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所涉及的任一所述的地图绘制方法。
本发明实施例通过在获取的待处理地图数据中,查找至少一个孔洞多边形组,将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与目标孔洞多边形组对应的目标整合外包多边形;根据合并结果对待处理地图数据进行更新,得到绘制地图数据,解决了现有技术在处理孔洞多边形数据时存在的绘制效率较低的问题,以实现在保持现有数据源不变的前提下,缩减绘制孔洞多边形所需要处理的数据量,降低了客户端绘制孔洞多边形数据所需要的时间,从而提升了地图的绘制效率。
附图说明
图1a是本发明实施例一提供的一种地图数据的处理方法的流程图;
图1b是本发明实施例一所适用的一种孔洞多边形的构成示意图;
图1c是本发明实施例一提供的一种整合外包多边形的形成示意图;
图1d是本发明实施例一提供的一种绘制地图数据的效果示意图;
图2a是本发明实施例二提供的一种地图数据的处理方法的流程图;
图2b是本发明实施例二提供的一种利用空间索引机制召回的关联多边形的示意图;
图3是本发明实施例三提供的一种地图数据的处理方法的流程图;
图4是本发明实施例四提供的一种地图数据的处理方法的流程图;
图5是本发明实施例五提供的一种地图绘制方法的流程图;
图6是本发明实施例六提供的一种地图数据的处理装置的示意图;
图7是本发明实施例七提供的一种地图绘制装置的示意图;
图8是本发明实施例八提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1a是本发明实施例一提供的一种地图数据的处理方法的流程图,本实施例可适用于对地图数据中包括的孔洞多边形数据进行处理的情况,该方法可以由地图数据的处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在地图服务器中,与用于提供地图功能的客户端(例如:XX地图或者XX导航等)配合使用,该方法包括如下操作:
S110、在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形。
其中,待处理地图数据是指在进行地图绘制前,由数据采集人员通过路采等方式获取的地图数据的数据源。本实施例将上述数据源作为数据处理对象,无需改变获取数据源的方法和过程,因此不会提高地图绘制成本。
在本实施例中,主要实现的是对待处理地图数据中包括的孔洞多边形进行处理的情况。所谓孔洞多边形,是指一个大的多边形内部包括有一个小的多边形孔洞的形状。在现有的2D地图绘制过程中,是无法直接绘制孔洞多边形的,因此需要数据采集人员对采集的地图数据中包括的孔洞多边形进行处理,也即:孔洞多边形通过两个异构的外包多边形以及一个不同颜色的内接多边形构成。
图1b是本发明实施例一所适用的一种孔洞多边形的构成示意图,如图1b所示,内接多边形为孔洞多边形中的孔洞所形成的多边形,外包多边形为对孔洞多边形进行剖分时所形成的至少两个多边形。因此,在待处理地图数据中,一个孔洞多边形通过如图1b所示的三个多边形构成。
在本发明实施例中,直接在数据采集设备获取的数据源中分别查找所有孔洞多边形对应的内接多边形和外包多边形,以便后期对获取的多边形数据进行整合简化处理。
其中,待处理地图数据中包括的一个孔洞多边形,对应一个孔洞多边形组。典型的,一个孔洞多边形组中一般包括有两个外包多边形一个内接多边形。
S120、将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形。
在本实施例中,需要将待处理地图数据中包括的各个孔洞多边形组中分别包括的至少两个多边形进行处理,得到与各个孔洞多边形组分别对应的整合外包多边形。
其中,所述目标孔洞多边形组的数量与所述待处理地图数据中包括的孔洞多边形组的数量相匹配。
图1c是本发明实施例一提供的一种整合外包多边形的形成示意图,如图1c所示,在本发明实施例中,目标整合外包多边形简化了目标外包多边形中所包含的重复的点,也即只包含了对应的孔洞多边形外轮廓的边。
S130、根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据。
图1d是本发明实施例一提供的一种绘制地图数据的效果示意图,如图1d所示,在本发明实施例中,当获取到目标整合外包多边形以后,将目标整合外包多边形和目标内接多边形进行合成,能够得到现有技术中通过两个异形外包多边形以及一个内接多边形得到的孔洞多边形,上述合并结果能够大量缩减目标外包多边形中重合的点。同时,在将最终绘制的多边形在前端(如手机、平板等)中的地图功能中进行显示时,无需提供目标外包多边形中重合的点,不仅能够保障最终绘制的多边形更接近真实场景中孔洞多边形的形状,使其保持较高的还原度,而且还能够提升前端的地图的绘制速度。
本发明实施例通过在获取的待处理地图数据中,查找至少一个孔洞多边形组,将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与目标孔洞多边形组对应的目标整合外包多边形;根据合并结果对待处理地图数据进行更新,得到绘制地图数据,解决了现有技术在处理孔洞多边形数据时存在的绘制效率较低的问题,以实现在保持现有数据源不变的前提下,缩减绘制孔洞多边形所需要处理的数据量,降低了客户端绘制孔洞多边形数据所需要的时间,从而提升了地图的绘制效率。
需要说明的是,为了提高用户在线请求地图数据时的及时反馈,上述地图数据的处理方法可以在离线状态下执行,也即,每当获取地理数据有更新时,将更新后的地图数据作为待处理地图数据,并将上述待处理地图数据处理得到所述绘制地图数据。在用户在线请求地图数据时,直接从已经对孔洞多边形处理完成后的所述绘制地图数据中获取所需绘制的地图数据发送给对应的用户。
实施例二
图2a是本发明实施例二提供的一种地图数据的处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,将在获取的待处理地图数据中,查找至少一个孔洞多边形组,具体为:依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形;如果所述当前处理多边形中的各点均出现在所述待处理地图数据中包括的至少两个其他多边形中,则将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组;返回执行依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形,直至完成对所述待处理地图数据中全部多边形的处理。相应的,如图2a所示,本实施例的方法可以包括:
S210、依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形。
在本发明实施例中,待处理地图数据中会包括多种不同的多边形数据,在确定目标内接多边形和目标外包多边形时,需要依次对待处理地图数据中的每个多边形数据进行判断。
在本发明的一个可选实施例中,依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形,具体可以包括:依次获取所述待处理地图数据中包括的一个未处理多边形作为当前处理多边形。
需要说明的是,对于待处理地图数据中包括的多边形中,对待处理地图数据中包括的一个未处理多边形作为当前处理多边形,能够避免重复判断已经处理过的多边形,从而缩短数据处理时间。
S220、如果所述当前处理多边形中的各点均出现在所述待处理地图数据中包括的至少两个其他多边形中,则将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组。
在本发明实施例中,在判断一个孔洞多边形组时,首先可以从待处理地图数据中选取一个多边形作为当前处理多边形,并以当前处理多边形中的各点位置为依据。如果当前处理多边形的所有的点均出现在其他至少两个多边形,则表示当前处理多边形为一个内接多边形,包括该内接多边形的点其他的多边形即为外包多边形。
相应的,S220具体还可以包括以下操作:
S221、通过空间索引机制,召回所述当前处理多边形周边的多边形作为第一关联多边形。
其中,空间索引机制是地理信息系统(Geography Information System,GIS)用于快速高效查询、检索和显示地理空间数据的技术。GIS常用的空间索引机制包括网格空间索引、四叉树空间索引和R树系列空间索引(如开源R树、K-D树等)。在众多空间索引技术中,不同的索引有不同的优势和不足及使用范围。在选取哪一种作为空间数据库的空间索引时,要根据实际情况和需要来确定,本发明实施例对此并不进行限制。
简单的说,通过空间索引机制,可以快速、准确的找到当前处理多边形周围设定范围内的多边形。
具体的,在判断当前处理多边形中的各点是否均出现在至少两个其他多边形之前,首先需要通过空间索引机制获取当前处理多边形周边的关联多边形。图2b是本发明实施例二提供的一种利用空间索引机制召回的关联多边形的示意图,示例性的,如图2b所示,多边形A为一个当前处理多边形,多边形B、C、D为对多边形A通过空间索引机制召回的三个多边形,并形成第一关联多边形。
S222、如果确定召回的第一关联多边形的数量包括至少两个,则检验所述当前处理多边形中的各点是否均出现在各所述第一关联多边形中。
其中,如果确定召回的第一关联多边形的数量为零个或者一个,则可以直接确定所述当前处理多边形不是构成孔洞多边形的一个内接多边形。
S223、若是,则将所述当前处理多边形作为一个内接多边形,并将去除不包括所述当前处理多边形中的任一点的第一关联多边形后剩余的第二关联多边形,作为所述与所述内接多边形对应的外包多边形,得到一个孔洞多边形组。
示例性的,如图2b所示,当召回的第一关联多边形的数量为3个时,需要检验当前处理多边形A中的各点是否均出现在三个关联多边形B、C、D中。由图2b可知,当前处理多边形A中的各点均出现在关联多边形B和多边形C中,同时,当前处理多边形A中的任一点均未出现在多边形D中。因此,可以将多边形A作为一个内接多边形,同时去除多边形D后,将多边形B和多边形C两个关联多边形作为与多边形A对应的外包多边形。
相应的,多边形A、多边形B以及多边形C共同构成了一个孔洞多边形组。
在本发明的一个可选实施例中,在S220之后,还可以包括:将得到的所述孔洞多边形组中包括的各多边形均标记为已处理多边形。
相应的,为了防止对待处理地图数据中包括的多个多边形数据重复处理,需要将已经确定的孔洞多边形组中包括内接多边形以及对应的外包多边形进行标记。这样在从待处理地图数据中包括的一个未处理多边形作为当前处理多边形时,可以排除已经标记过的已处理过的多边形数据获取确定为外接多边形的多边形,从而加快对待处理地图数据的处理速度,缩短数据处理时间。
S230、判断是否完成对所述待处理地图数据中全部多边形的处理,若是,则执行S240,否则,返回执行S210。
在本发明实施例中,需要对待处理地图数据中的每个多边形都要依次进行处理,从而在待处理地图数据中包括的多边形数据中,查找出所有的孔洞多边形组。
S240、将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形。
S250、根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据。
本发明实施例通过依次获取待处理地图数据中包括的一个多边形作为当前处理多边形;如果当前处理多边形中的各点均出现在待处理地图数据中包括的至少两个其他多边形中,则将当前处理多边形作为一个内接多边形,将至少两个其他多边形作为与内接多边形对应的外包多边形,得到一个孔洞多边形组;返回执行依次获取待处理地图数据中包括的一个多边形作为当前处理多边形,直至完成对待处理地图数据中全部多边形的处理,能够快速获取待处理地图数据中包括的所有的孔洞多边形组,从而对待处理地图数据的处理速度,缩短数据处理时间。
实施例三
图3是本发明实施例三提供的一种地图数据的处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,将将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形,具体为:分别在各所述目标外包多边形中,除去与其他目标外包多边形重合的各点以及与目标孔洞多边形组对应的目标内接多边形重合的各点后,将各所述目标外包多边形中剩余的各点组合构成所述目标整合外包多边形。如图3所示,本实施例的方法可以包括:
S310、依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形。
S320、如果所述当前处理多边形中的各点均出现在所述待处理地图数据中包括的至少两个其他多边形中,则将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组。
S330、判断是否完成对所述待处理地图数据中全部多边形的处理,若是,则执行S340,否则,返回执行S310。
S340、分别在各所述目标外包多边形中,除去与其他目标外包多边形重合的各点以及与目标孔洞多边形组对应的目标内接多边形重合的各点后,将各所述目标外包多边形中剩余的各点组合构成所述目标整合外包多边形。
在本发明实施例中,在对待处理地图数据中的全部多边形处理完成以后,即需要依据获取目标孔洞多边形组对应的目标内接多边形和目标外包多边形进行整合处理。结合图1c可以看出,具体的处理方法是:在获取对于一个目标孔洞多边形组对应的目标整合外包多边形时,直接将与该目标孔洞多边形组对应的全部目标外包多边形作为处理对象,将其与其他目标外包多边形重合的各点以及与目标内接多边形重合的各点去除,剩下的点的组合即为目标整合外包多边形所包括的各点。
在本实施例的一个可选的实施方式中,可以获取与目标孔洞多边形组对应的一个目标外接多边形(例如:第一外接多边形),将第一外接多边形中各点,分别与所述目标孔洞多边形组的其他目标外接多边形中的各点以及目标内接多边形中的各点进行匹配,若相匹配,则从所述第一外接多边形中去除该匹配点;通过上述过程完成对全部目标外接多边形中各点的匹配以及去除处理后,各目标外接多边形中剩余的点,即构成目标整合外包多边形。
可以看出,上述方法虽然可以得到目标整合外包多边形,但是需要处理的点多,计算量大。在本实施例的一个可选的实施方式中,给出了一种可以快速得到目标整合外包多边形的有效方法。
具体的,S340具体可以包括:
S341、在任一所述目标外包多边形中选择参考点,并连接所述参考点与设定无限远点,得到参考线段。
其中,当前遍历多边形需要对多边形中包括的每个点都要按顺时针或者逆时针的顺序依次遍历。参考点的选择可以是当前遍历多边形中的任意一点,无限远点可以是射影几何中的无穷远点(直线的两端交于无穷远点。两条平行的直线可以看作相交在无穷远点,所有的平行直线都交于同一个无穷远点),无限远点也是随机选取的。
S342、在所述参考线段与各所述至少两个目标外包多边形的交点中,选取与所述无限远点最近的交点作为初始遍历点。
相应的,在确定参考点和无限远点后,参考点和无限远点之间的连线所形成的参考线段与目标外包多边形会相交,其中交点可以是1个,也可以是多个。当交点只有一个时,可以直接将该交点作为初始遍历点;当交点为多个时,选取距离无限远点最近的交点作为初始遍历点。
S343、将所述初始遍历点所属的一个所述目标外包多边形作为当前遍历多边形,并将所述初始遍历点作为当前遍历点。
需要说明的是,初始遍历点所述的目标外包多边形可以是一个,也可以是两个。如果初始遍历点所属的目标外包多边形只有一个,则直接将初始遍历点所属的目标外包多边形作为当前遍历多边形;如果初始遍历点所属的目标外包多边形有两个,则任意选择其中一个目标外包多边形作为当前遍历多边形。
S344、判断所述当前遍历点是否属于其他目标外包多边形,若是,则执行S345,否则,则执行S346。
相应的,当初始遍历点所属的目标外包多边形有两个时,则当前遍历点除了属于当前遍历多边形以外,还属于其他的目标外包多边形。
S345、将所述其他目标外包多边形作为新的当前遍历多边形,并在所述当前遍历多边形中,根据当前遍历点沿所述设定方向获取新的当前遍历点,并执行S347。
其中,设定方向可以是顺时针方向,也可以是逆时针方向,本发明实施例对此并不进行限制。
作为一个可选实施例,如果当初始遍历点所属的目标外包多边形有两个,可以将其他目标外包多边形作为新的当前遍历多边形并根据当前遍历点沿设定方向重新获取新的当前遍历点。作为另外一个可选实施例,如果当初始遍历点所属的目标外包多边形有两个,也可以放弃初始遍历点,重新执行S341获取初始遍历点,直到确定初始遍历点只属于一个目标外包多边形。
S346、在所述当前遍历多边形中,根据所述当前遍历点沿设定方向获取新的当前遍历点。
在本发明实施例中,如果当前遍历点只属于一个目标外包多边形,则直接在当前遍历多边形中,以顺时针或逆时针的方向获取新的遍历点作为当前遍历点。
S347、判断所述当前遍历点是否与所述初始遍历点相重合,若是,则执行S348,否则,返回执行S344。
具体的,如果当前遍历点与初始遍历点重合,则表明已经找到目标整合外包多边形的包括的所有点,即可停止获取当前遍历点的操作。否则,返回执行判断当前遍历点是否属于其他目标外包多边形操作,直至确定当前遍历点与初始遍历点相重合。
S348、根据遍历结束后得到的全部遍历点,组合构成所述目标整合外包多边形。
相应的,遍历结束后得到的全部的遍历点即为目标整合外包多边形包括的所有的点。
S350、根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据。
本发明实施例通过分别在各目标外包多边形中,除去与其他目标外包多边形重合的各点以及与目标孔洞多边形组对应的目标内接多边形重合的各点后,将各目标外包多边形中剩余的各点组合构成目标整合外包多边形,能够快速确定目标整合外包多边形中包括的所有点,从而加快从孔洞多边形数据中得到整合外包多边形的速度,进而缩短数据处理时间。
实施例四
图4是本发明实施例四提供的一种地图数据的处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,将根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据,具体为:在确定所述合并结果满足合法合并条件时,根据合并结果对所述待处理地图数据进行更新。如图4所示,本实施例的方法可以包括:
S410、依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形。
S420、如果所述当前处理多边形中的各点均出现在所述待处理地图数据中包括的至少两个其他多边形中,则将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组。
S430、判断是否完成对所述待处理地图数据中全部多边形的处理,若是,则执行S440,否则,返回执行S410。
S440、分别将与各孔洞多边形组对应的至少两个外包多边形合并构成与各所述孔洞多边形组分别对应的整合外包多边形。
S450、在确定所述合并结果满足合法合并条件时,根据合并结果对所述待处理地图数据进行更新。
在本发明实施例中,如果在目标外包多边形中还存在除目标内接多边形的其他闭环形状的情况,则需要根据合法合并条件确定是否能够使用一个整合外接多边形代替其所关联的至少两个外接多边形,并根据最终处理的数据对待处理地图数据进行更新。
在本发明的一个可选实施例中,所述确定所述合并结果满足合法合并条件可以包括:分别获取所述目标孔洞多边形组对应的所述至少两个目标外包多边形中不存在于所述目标孔洞多边形组对应的所述目标整合外包多边形中的各点构成验证点集;获取与所述验证点集对应的全部闭环形状;如果确定获取的所述闭环形状的数量为至少两个,且所述至少两个闭环形状能够被所述目标孔洞多边形组对应的目标内接多边形以及所述待处理地图数据中包括的其他多边形完全填充,则确定满足所述合法合并条件。
其中,验证点集是目标孔洞多边形组对应的外包多边形中包括的其他闭环形状的点集。验证点集对应的全部闭环形状可以是1个,也可以是多个。需要说明的是,当验证点集对应的全部闭环形状是1个时,说明该闭环形状即为目标内接多边形;当验证点集对应的全部闭环形状是多个时,说明在目标孔洞多边形中,除了目标内接多边形以外,还存在其他的闭环形状。这种情况下,需要判断闭环形状是否能够被目标内接多边形以及待处理地图数据中包括的其他多边形完全填充,如果不可以完全填充,则不可以将此类闭环形状进行合并,强行合并此类数据会导致地图数据的缺失(也即:外包多边形中包括的不能被待处理地图数据中的其他多边形完全填充的孔洞,合并时会消失),例如餐厅、树木等数据所形成的闭环形状就不可以被合并。如果可以完全填充,则可以将此类闭环形状进行合并。因为即使将此类闭环形状合并后,后期在处理其他孔洞多边形数据时,被合并的闭环形状还可以重新被其他多边形填充。上述操作不仅可以高度保障地图数据的真实性,还能够提高孔洞多边形的绘制效率。
在本发明的一个可选实施例中,所述获取与所述验证点集对应的全部闭环形状,可以包括:获取所述验证点集中的一个验证点作为初始遍历点;以所述初始遍历点为起点,沿设定顺序在所述验证点集中遍历相邻验证点,如果确定能够重新遍历至所述初始遍历点,则确定已经遍历的各点构成一个闭环形状。
具体的,验证目标孔洞多边形内的验证点集对应的全部闭环形状,可以在验证点集中任意选取一个点作为初始遍历点,并以顺时针方向或者逆时针方向开始遍历相邻验证点。当能够重新遍历到初始遍历点时,说明已经遍历过的各个验证点相应组成一个闭环形状。需要说明的是,该闭环形状可以是目标孔洞多边形中的内接多边形,也可以是目标孔洞多边形中除内接多边形以外的其他闭环形状。
S460、在与所述待处理地图数据中,使用与所述目标孔洞多边形组对应的所述目标整合外包多边形代替与所述目标孔洞多边形组对应的所述至少两个目标外包多边形;
其中,在所述待处理地图数据中,所述目标整合外包多边形的数据位置位于所述目标内接多边形的数据位置之前,在地图绘制过程中,数据位置靠前的数据先被绘制。
在本发明实施例中,在获取到目标孔洞多边形组对应的目标整合外包多边形后,即可忽略原有的目标外包多边形数据,以目标整合外包多边形替代被剖分的至少两个目标外包多边形。同时在进行地图绘制时,可以首先绘制目标整合外包多边形的数据,然后在绘制目标内接多边形的数据,以防止目标内接多边形的数据被目标整合外包多边形的数据所覆盖导致的目标内接多边形的数据无法显示的问题。
本发明实施例通过在确定所述合并结果满足合法合并条件时,根据合并结果对所述待处理地图数据进行更新,不仅可以高度保障地图数据的真实性,还能够提高孔洞多边形的绘制效率和准确度。
实施例五
图5是本发明实施例五提供的一种地图绘制方法的流程图,本实施例可适用于根据用户的地图绘制请求,快速绘制地图的情况,该方法可以由地图绘制装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在用于提供地图功能的客户端(例如:XX地图或者XX导航等)中,与用于执行本发明任意实施例所述的地图数据的处理方法的地图服务器配合使用,该方法包括如下操作:
S510、根据地图绘制请求,获取与所述地图绘制请求匹配的绘制地图数据;
其中,在所述绘制地图数据中,孔洞多边形通过整合外包多边形以及与所述整合外包多边形匹配的内接多边形构成,且所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前。
其中,所述绘制地图请求可以是由客户端用户发送的,用于请求服务器发送设定地理坐标范围内的绘制地图数据,在客户端进行绘制并显示。
在本实施例中,服务器提供给客户端进行显示的绘制地图数据中,孔洞多边形不再是使用多个异形多边形以及一个不同颜色的内接多边形来表示,而是仅通过一个整合外包多边形以及一个内接多边形构成。
其中,上述结构的绘制地图数据可以由数据采集人员在路采时直接对采集的地图数据进行处理得到,但是上述方式得到的绘制地图数据,需要改变现有的地图数据采集方式,成本较高。
可选的,上述结构的绘制地图数据可以采用本发明任意实施例所提供的地图数据的处理方法获取得到。
此外,由于所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前,可以实现在客户端进行地图绘制时,按照先绘制整合外包多边形,后绘制匹配的内接多边形的顺序进行绘制,防止内接多边形被整合外包多边形所覆盖,以在地图中准确、快速地响应孔洞多边形数据的绘制和显示。
S520、使用所述绘制地图数据,绘制地图进行显示。
本发明实施例通过根据地图绘制请求,获取与地图绘制请求匹配的绘制地图数据,使用绘制地图数据,绘制地图进行显示,能够实现在保持现有数据源(数据采集人员采集得到的地图数据)不变的前提下,缩减需要处理的数据量,降低客户端绘制孔洞多边形所需要的时间,从而提升地图数据的绘制速度。
发明人通过研究发现,通过在服务端中存储上述绘制地图数据,可以使得客户端绘制孔洞多边形的速度提升10%,使得地图的数据显示速度更快,再以毫秒为量级的地图显示场景下,能够大大提高用户的使用体验。
实施例六
图6是本发明实施例六提供的一种地图数据的处理装置的示意图,可执行本发明任意实施例所提供的地图数据的处理方法,具备执行方法相应的功能模块和有益效果,本实施例可适用于对地图数据中包括的孔洞多边形数据进行处理的情况。
所述装置包括:
多边形查找模块610,用于在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形;
多边形整合模块620,用于将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形;
数据更新模块630,用于根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据。
本发明实施例通过在获取的待处理地图数据中,查找至少一个孔洞多边形组,将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与目标孔洞多边形组对应的目标整合外包多边形;根据合并结果对待处理地图数据进行更新,得到绘制地图数据,解决了现有技术在处理孔洞多边形数据时存在的绘制效率较低的问题,以实现在保持现有数据源不变的前提下,缩减绘制孔洞多边形所需要处理的数据量,降低了客户端绘制孔洞多边形数据所需要的时间,从而提升了地图的绘制效率。
进一步的,多边形查找模块610,还包括:
多边形获取单元611,用于依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形;
多边形组获取单元613,用于如果所述当前处理多边形中的各点均出现在所述待处理地图数据中包括的至少两个其他多边形中,则将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组;
返回执行单元615,用于返回执行依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形,直至完成对所述待处理地图数据中全部多边形的处理。
进一步的,多边形组获取单元613,还用于通过空间索引机制,召回所述当前处理多边形周边的多边形作为第一关联多边形;如果确定召回的第一关联多边形的数量包括至少两个,则检验所述当前处理多边形中的各点是否均出现在各所述第一关联多边形中;若是,则将所述当前处理多边形作为一个内接多边形,并将去除不包括所述当前处理多边形中的任一点的第一关联多边形后剩余的第二关联多边形,作为所述与所述内接多边形对应的外包多边形,得到一个孔洞多边形组。
进一步的,多边形查找模块610,还包括多边形标记单元617,用于将将得到的所述孔洞多边形组中包括的各多边形均标记为已处理多边形。相应的,多边形获取单元611,还用于依次获取所述待处理地图数据中包括的一个未处理多边形作为当前处理多边形。
进一步的,多边形整合模块620,还用于分别在各所述目标外包多边形中,除去与其他目标外包多边形重合的各点以及与目标孔洞多边形组对应的目标内接多边形重合的各点后,将各所述目标外包多边形中剩余的各点组合构成所述目标整合外包多边形。
进一步的,多边形整合模块620,还包括:
线段获取单元621,用于在任一所述目标外包多边形中选择参考点,并连接所述参考点与设定无限远点,得到参考线段;
初始遍历点获取单元622,用于在所述参考线段与各所述至少两个目标外包多边形的交点中,选取与所述无限远点最近的交点作为初始遍历点;
当前遍历点获取单元623,用于将所述初始遍历点所属的一个所述目标外包多边形作为当前遍历多边形,并将所述初始遍历点作为当前遍历点;
判断单元624,用于判断所述当前遍历点是否属于其他目标外包多边形;
第一遍历点更新单元625,用于当判断单元624的判断结果为否,则在所述当前遍历多边形中,根据所述当前遍历点沿设定方向获取新的当前遍历点,并返回执行判断所述当前遍历点是否属于其他目标外包多边形的操作,直至确定所述当前遍历点与所述初始遍历点相重合。
第二遍历点更新单元626,用于当判断单元624的判断结果为是,则将所述其他目标外包多边形作为新的当前遍历多边形,并在所述当前遍历多边形中,根据当前遍历点沿所述设定方向获取新的当前遍历点后,返回执行判断所述当前遍历点是否属于其他目标外包多边形操作,直至确定所述当前遍历点与所述初始遍历点相重合。
多边形组合单元627,用于根据遍历结束后得到的全部遍历点,组合构成所述目标整合外包多边形。
进一步的,数据更新模块630,还用于在确定所述合并结果满足合法合并条件时,根据合并结果对所述待处理地图数据进行更新。
进一步的,所述确定所述合并结果满足合法合并条件可以包括:分别获取所述目标孔洞多边形组对应的所述至少两个目标外包多边形中不存在于所述目标孔洞多边形组对应的所述目标整合外包多边形中的各点构成验证点集;获取与所述验证点集对应的全部闭环形状;如果确定获取的所述闭环形状的数量为至少两个,且所述至少两个闭环形状能够被所述目标孔洞多边形组对应的目标内接多边形以及所述待处理地图数据中包括的其他多边形完全填充,则确定满足所述合法合并条件。
进一步的,数据更新模块630,还用于获取所述验证点集中的一个验证点作为初始遍历点;以所述初始遍历点为起点,沿设定顺序在所述验证点集中遍历相邻验证点,如果确定能够重新遍历至所述初始遍历点,则确定已经遍历的各点构成一个闭环形状。
进一步的,数据更新模块630,还用于在与所述待处理地图数据中,使用与所述目标孔洞多边形组对应的所述目标整合外包多边形代替与所述目标孔洞多边形组对应的所述至少两个目标外包多边形;其中,在所述待处理地图数据中,所述目标整合外包多边形的数据位置位于所述目标内接多边形的数据位置之前,在地图绘制过程中,数据位置靠前的数据先被绘制。
上述地图数据的处理装置可执行本发明任意实施例所提供的地图数据的处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的地图数据的处理方法。
实施例七
图7是本发明实施例七提供的一种地图绘制装置的示意图,可执行本发明任意实施例所提供的地图绘制方法,具备执行方法相应的功能模块和有益效果,本实施例可适用于快速绘制包含孔洞多边形数据的地图。
所述装置包括:
数据获取模块710,用于根据地图绘制请求,获取与所述地图绘制请求匹配的绘制地图数据;
其中,在所述绘制地图数据中,孔洞多边形通过整合外包多边形以及与所述整合外包多边形匹配的内接多边形构成,且所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前;
地图显示模块720,用于使用所述绘制地图数据,绘制地图进行显示。
本发明实施例通过根据地图绘制请求,获取与地图绘制请求匹配的绘制地图数据,使用绘制地图数据,绘制地图进行显示,能够实现在保持现有数据源(数据采集人员采集得到的地图数据)不变的前提下,缩减需要处理的数据量,降低客户端绘制孔洞多边形所需要的时间,从而提升地图数据的绘制速度。
实施例八
图8为本发明实施例八提供的一种计算机设备的结构示意图。图8示出了适于用来实现本发明实施方式的计算机设备812的框图。图8显示的计算机设备812仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机设备812以通用计算设备的形式表现。计算机设备812的组件可以包括但不限于:一个或者多个处理器816,存储装置828,连接不同系统组件(包括存储装置828和处理器816)的总线818。
总线818表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MCA)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备812典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备812访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置828可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)830和/或高速缓存存储器832。计算机设备812可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统834可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线818相连。存储装置828可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块826的程序836,可以存储在例如存储装置828中,这样的程序模块826包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块826通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备812也可以与一个或多个外部设备814(例如键盘、指向设备、摄像头、显示器824等)通信,还可与一个或者多个使得用户能与该计算机设备812交互的设备通信,和/或与使得该计算机设备812能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口722进行。并且,计算机设备812还可以通过网络适配器820与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器820通过总线818与计算机设备812的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备812使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器816通过运行存储在存储装置828中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的地图数据的处理方法,又例如实现本发明上述实施例所提供的地图绘制方法,其中,所述地图数据的处理方法包括:
在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形;
将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形;
根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据。
所述地图绘制方法,包括:
根据地图绘制请求,获取与所述地图绘制请求匹配的绘制地图数据;
其中,在所述绘制地图数据中,孔洞多边形通过整合外包多边形以及与所述整合外包多边形匹配的内接多边形构成,且所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前;
使用所述绘制地图数据,绘制地图进行显示。
通过所述计算机设备在获取的待处理地图数据中,查找至少一个孔洞多边形组,将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与目标孔洞多边形组对应的目标整合外包多边形;根据合并结果对待处理地图数据进行更新,得到绘制地图数据并进行显示,解决了现有技术在处理孔洞多边形数据时存在的绘制效率较低的问题,以实现在保持现有数据源不变的前提下,缩减绘制孔洞多边形所需要处理的数据量,降低了客户端绘制孔洞多边形数据所需要的时间,从而提升了地图绘制效率。
实施例九
本发明实施例九还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的地图数据的处理方法以及地图绘制方法,其中,所述地图数据的处理方法包括:
在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形;
将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形;
根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据。
所述地图绘制方法,包括:
根据地图绘制请求,获取与所述地图绘制请求匹配的绘制地图数据;
其中,在所述绘制地图数据中,孔洞多边形通过整合外包多边形以及与所述整合外包多边形匹配的内接多边形构成,且所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前;
使用所述绘制地图数据,绘制地图进行显示。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (16)
1.一种地图数据的处理方法,其特征在于,包括:
在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形;
将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形;
根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据;
其中,所述在获取的待处理地图数据中,查找至少一个孔洞多边形组,包括:
如果当前处理多边形中的各点均出现在所述待处理地图数据中包括的至少两个其他多边形中,则将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组;
其中,所述将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形,包括:
分别在各所述目标外包多边形中,除去与其他目标外包多边形重合的各点以及与目标孔洞多边形组对应的目标内接多边形重合的各点后,将各所述目标外包多边形中剩余的各点组合构成所述目标整合外包多边形。
2.根据权利要求1所述的方法,其特征在于,所述在获取的待处理地图数据中,查找至少一个孔洞多边形组,包括:
依次获取所述待处理地图数据中包括的一个多边形,作为所述当前处理多边形;
在所述当前处理多边形完成孔洞多边形组的查找处理后,返回执行依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形,直至完成对所述待处理地图数据中全部多边形的处理。
3.根据权利要求1或2所述的方法,其特征在于,所述如果所述当前处理多边形中的各点均出现在所述待处理地图数据中包括的至少两个其他多边形中,则将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组,包括:
通过空间索引机制,召回所述当前处理多边形周边的多边形作为第一关联多边形;
如果确定召回的第一关联多边形的数量包括至少两个,则检验所述当前处理多边形中的各点是否均出现在各所述第一关联多边形中;
若是,则将所述当前处理多边形作为一个内接多边形,并将去除不包括所述当前处理多边形中的任一点的第一关联多边形后剩余的第二关联多边形,作为所述与所述内接多边形对应的外包多边形,得到一个孔洞多边形组。
4.根据权利要求2所述的方法,其特征在于,在将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组之后,还包括:
将得到的所述孔洞多边形组中包括的各多边形均标记为已处理多边形;
所述依次获取所述待处理地图数据中包括的一个多边形,作为当前处理多边形,具体包括:依次获取所述待处理地图数据中包括的一个未处理多边形作为当前处理多边形。
5.根据权利要求1所述的方法,其特征在于,所述分别在各所述目标外包多边形中,除去与其他目标外包多边形重合的各点以及与目标孔洞多边形组对应的目标内接多边形重合的各点后,将各所述目标外包多边形中剩余的各点组合构成所述目标整合外包多边形,具体包括:
在任一所述目标外包多边形中选择参考点,并连接所述参考点与设定无限远点,得到参考线段;
在所述参考线段与各所述至少两个目标外包多边形的交点中,选取与所述无限远点最近的交点作为初始遍历点;
将所述初始遍历点所属的一个所述目标外包多边形作为当前遍历多边形,并将所述初始遍历点作为当前遍历点;
判断所述当前遍历点是否属于其他目标外包多边形;
若否,则在所述当前遍历多边形中,根据所述当前遍历点沿设定方向获取新的当前遍历点,并返回执行判断所述当前遍历点是否属于其他目标外包多边形的操作,直至确定所述当前遍历点与所述初始遍历点相重合;
若是,则将所述其他目标外包多边形作为新的当前遍历多边形,并在所述当前遍历多边形中,根据当前遍历点沿所述设定方向获取新的当前遍历点后,返回执行判断所述当前遍历点是否属于其他目标外包多边形操作,直至确定所述当前遍历点与所述初始遍历点相重合;
根据遍历结束后得到的全部遍历点,组合构成所述目标整合外包多边形。
6.根据权利要求1所述的方法,其特征在于,所述根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据,包括:
在确定所述合并结果满足合法合并条件时,根据合并结果对所述待处理地图数据进行更新。
7.根据权利要求6所述的方法,其特征在于,所述确定所述合并结果满足合法合并条件包括:
分别获取所述目标孔洞多边形组对应的所述至少两个目标外包多边形中不存在于所述目标孔洞多边形组对应的所述目标整合外包多边形中的各点构成验证点集;
获取与所述验证点集对应的全部闭环形状;
如果确定获取的所述闭环形状的数量为至少两个,且所述至少两个闭环形状能够被所述目标孔洞多边形组对应的目标内接多边形以及所述待处理地图数据中包括的其他多边形完全填充,则确定满足所述合法合并条件。
8.根据权利要求7所述的方法,其特征在于,所述获取与所述验证点集对应的全部闭环形状,包括:
获取所述验证点集中的一个验证点作为初始遍历点;
以所述初始遍历点为起点,沿设定顺序在所述验证点集中遍历相邻验证点,如果确定能够重新遍历至所述初始遍历点,则确定已经遍历的各点构成一个闭环形状。
9.根据权利要求6-8任一所述的方法,其特征在于,所述根据合并结果更新所述待处理地图数据,具体包括:
在与所述待处理地图数据中,使用与所述目标孔洞多边形组对应的所述目标整合外包多边形代替与所述目标孔洞多边形组对应的所述至少两个目标外包多边形;
其中,在所述待处理地图数据中,所述目标整合外包多边形的数据位置位于目标内接多边形的数据位置之前,在地图绘制过程中,数据位置靠前的数据先被绘制。
10.一种地图绘制方法,其特征在于,包括:
根据地图绘制请求,获取与所述地图绘制请求匹配的绘制地图数据;
其中,在所述绘制地图数据中,孔洞多边形通过整合外包多边形以及与所述整合外包多边形匹配的内接多边形构成,且所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前;
其中,所述绘制地图数据通过权利要求1-9任一所述的地图数据的处理方法获取;
使用所述绘制地图数据,绘制地图进行显示。
11.一种地图数据的处理装置,其特征在于,包括:
多边形查找模块,用于在获取的待处理地图数据中,查找至少一个孔洞多边形组,其中,所述孔洞多边形组包括:内接多边形,以及与所述内接多边形共同构成孔洞多边形的至少两个外包多边形;
多边形整合模块,用于将与目标孔洞多边形组对应的至少两个目标外包多边形合并构成与所述目标孔洞多边形组对应的目标整合外包多边形;
数据更新模块,用于根据合并结果对所述待处理地图数据进行更新,得到绘制地图数据;
其中,所述多边形查找模块包括多边形组获取单元,用于如果当前处理多边形中的各点均出现在所述待处理地图数据中包括的至少两个其他多边形中,则将所述当前处理多边形作为一个内接多边形,将所述至少两个其他多边形作为与所述内接多边形对应的外包多边形,得到一个所述孔洞多边形组;
其中,所述多边形整合模块,用于分别在各所述目标外包多边形中,除去与其他目标外包多边形重合的各点以及与目标孔洞多边形组对应的目标内接多边形重合的各点后,将各所述目标外包多边形中剩余的各点组合构成所述目标整合外包多边形。
12.一种地图绘制装置,其特征在于,包括:
数据获取模块,用于根据地图绘制请求,获取与所述地图绘制请求匹配的绘制地图数据;
其中,在所述绘制地图数据中,孔洞多边形通过整合外包多边形以及与所述整合外包多边形匹配的内接多边形构成,且所述整合外包多边形的数据位置位于匹配的所述内接多边形的数据位置之前;
其中,所述绘制地图数据通过权利要求1-9任一所述的地图数据的处理方法获取;
地图显示模块,用于使用所述绘制地图数据,绘制地图进行显示。
13.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的地图数据的处理方法。
14.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的地图数据的处理方法。
15.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求10所述的地图绘制方法。
16.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求10所述的地图绘制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711464861.5A CN108170807B (zh) | 2017-12-28 | 2017-12-28 | 地图数据的处理、地图绘制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711464861.5A CN108170807B (zh) | 2017-12-28 | 2017-12-28 | 地图数据的处理、地图绘制方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108170807A CN108170807A (zh) | 2018-06-15 |
CN108170807B true CN108170807B (zh) | 2020-12-22 |
Family
ID=62519314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711464861.5A Active CN108170807B (zh) | 2017-12-28 | 2017-12-28 | 地图数据的处理、地图绘制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108170807B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109816776A (zh) * | 2019-01-25 | 2019-05-28 | 网易(杭州)网络有限公司 | 多边图形绘制方法及装置、计算机存储介质、电子设备 |
CN109785355A (zh) * | 2019-01-25 | 2019-05-21 | 网易(杭州)网络有限公司 | 区域合并方法及装置、计算机存储介质、电子设备 |
CN110335191B (zh) * | 2019-07-10 | 2022-07-01 | 武汉光庭信息技术股份有限公司 | 一种带洞多边形在电子地图中的无损压缩存储方法和装置 |
CN113129406B (zh) * | 2019-12-31 | 2024-03-22 | 菜鸟智能物流控股有限公司 | 一种数据处理方法、装置及电子设备 |
CN111489446B (zh) * | 2020-04-08 | 2023-08-18 | 广东南方数码科技股份有限公司 | 多孔洞面拆分方法、装置、电子设备及可读存储介质 |
CN112802155B (zh) * | 2021-04-09 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种地图数据渲染的方法、相关装置、设备以及存储介质 |
CN114494519B (zh) * | 2022-02-18 | 2023-08-22 | 上海歆广数据科技有限公司 | 一种网格数据体系中电子地图网格绘制方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923552A (zh) * | 2009-12-31 | 2010-12-22 | 华南师范大学 | 一种多边形矢量图层快速叠合方法 |
CN105512169A (zh) * | 2016-03-10 | 2016-04-20 | 珠海市规划设计研究院 | 基于路径和权的最短路径搜索方法 |
CN105893703A (zh) * | 2016-04-27 | 2016-08-24 | 中国地质大学(武汉) | 一种基于多边形的城市道路网主干道选取方法 |
CN106297536A (zh) * | 2015-05-11 | 2017-01-04 | 高德软件有限公司 | 电子地图中的面状图元名称的标注位置确定方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9091868B2 (en) * | 2012-08-08 | 2015-07-28 | Kinestral Technologies, Inc. | Electrochromic multi-layer devices with composite current modulating structure |
-
2017
- 2017-12-28 CN CN201711464861.5A patent/CN108170807B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923552A (zh) * | 2009-12-31 | 2010-12-22 | 华南师范大学 | 一种多边形矢量图层快速叠合方法 |
CN106297536A (zh) * | 2015-05-11 | 2017-01-04 | 高德软件有限公司 | 电子地图中的面状图元名称的标注位置确定方法及装置 |
CN105512169A (zh) * | 2016-03-10 | 2016-04-20 | 珠海市规划设计研究院 | 基于路径和权的最短路径搜索方法 |
CN105893703A (zh) * | 2016-04-27 | 2016-08-24 | 中国地质大学(武汉) | 一种基于多边形的城市道路网主干道选取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108170807A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108170807B (zh) | 地图数据的处理、地图绘制方法、装置、设备及存储介质 | |
US9134138B2 (en) | Navigation device, method of outputting a map, and method of generating a database | |
CN110163065B (zh) | 点云数据处理方法、点云数据加载方法、及装置和设备 | |
US11788857B2 (en) | Route processing method and apparatus | |
CN103136367B (zh) | 一种基于gis地图的视频点查看方法 | |
CN107577750B (zh) | 绘制导航数据矢量路口的方法和系统 | |
CN114153795B (zh) | 智能调取电子档案的方法、装置、电子设备和存储介质 | |
WO2018058888A1 (zh) | 一种街景图像的识别方法、装置、服务器及存储介质 | |
EP4425431A1 (en) | Road element labeling method and apparatus, and device and storage medium | |
CN108229740A (zh) | 一种商圈边界的确定方法、装置、服务器及存储介质 | |
EP4170285A1 (en) | Method and apparatus for constructing three-dimensional map in high-definition map, device and storage medium | |
US20240037997A1 (en) | Dynamic Processing System for Roadside Service Control and Output Generation | |
CN112541515A (zh) | 模型训练方法、驾驶数据处理方法、装置、介质和设备 | |
JP2023027250A (ja) | 道路情報更新方法、装置、電子機器、記録媒体及びコンピュータプログラム | |
CN112541049A (zh) | 高精地图处理方法、装置、设备、存储介质和程序产品 | |
CN113590005A (zh) | 多边形矢量地图的标注方法、装置、电子设备及存储介质 | |
CN102831169B (zh) | 地理信息系统中的平面图形关系确定方法及系统 | |
CN113050660A (zh) | 误差补偿方法、装置、计算机设备及存储介质 | |
CN112231430A (zh) | 一种地图数据管理方法及装置 | |
CN116107576A (zh) | 页面组件的渲染方法、装置、电子设备和车辆 | |
CN115779424A (zh) | 一种导航网格寻路方法、装置、设备及介质 | |
CN110413716A (zh) | 数据存储和数据查询方法、装置及电子设备 | |
CN114138925A (zh) | 位置点所属区域检索方法、装置、电子设备、介质及产品 | |
CN115909800A (zh) | 停车场内高精地图的生成方法、介质及终端 | |
CN112798006B (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 |