一种道路数据的处理方法及装置
技术领域
本发明涉及地理信息技术领域,特别涉及一种道路数据的处理方法及装置。
背景技术
目前,用户可以通过电子地图,查询所需的地理位置信息。道路是电子地图的主要元素之一,现实生活中,对于某些双行道路,电子地图外业人员采集该道路的道路数据时,会针对该道路的每一个行驶方向采集一条道路数据,因此,在电子地图数据库中,一条双行道路对应着两条道路数据,这样的双行道路通常被称为上下线分离道路,如图1所示。
图1为现有技术中的上下线分离道路示意图,图1中东四环北路分为左右两条道路,右侧东四环北路的方向为由南向北,左侧东四环北路的方向为由北向南,这两条东四环北路就是一条上下线分离道路。
众所周知,不同的比例尺下的电子地图的显示精细度会有比较大的差别,比例尺越大的电子地图显示的精细度越低,比例尺越小的电子地图显示的精细度越高。对于上下线分离道路而言,当电子地图比例尺较小时,用户通过电子地图不仅能够看到该道路行驶方向的划分(如图1),还能够看到同一行驶方向的车道信息,而当电子地图比例尺较大时,用户通过电子地图只能看到该道路的概况,如图2所示。
图2为基于图1的上下线分离道路在比例尺较大时的示意图,在图2中,由于电子地图的比例尺较大,左侧东四环北路和右侧东四环北路已经重叠成了一条道路。
在现有技术中,虽然用户通过比例尺较大的电子地图只能看到上下线分离道路的概况,但在现有的电子地图数据库中,存储的仍是一条上下线分离道路对应的两条道路的道路数据,因此,现有技术在渲染比例尺较大的电子地图时,一条上下线分离道路仍然是按照两条道路来渲染,但发明人在分析如图2所示的显示效果时发现,当电子地图比例尺较大时,上下线分离道路完全可以只渲染一条道路。由此可见,现有的电子地图数据库中存储的上下线分离道路的道路数据影响了较大比例尺的电子地图的渲染效率。
发明内容
本发明实施例提供一种道路数据的处理方法及装置,可实现同一上下线分离道路对应的两条道路数据的合并,进而可有效提高比例尺较大的电子地图的渲染效率。
本发明实施例提供的一种道路数据的处理方法,包括:
从电子地图数据库中,获取上下线分离道路的道路数据;
将获取到的道路数据中属性及方向相同的道路数据进行连接,得到待处理道路数据;
将待处理道路数据中同一上下线分离道路对应的两条待处理道路数据进行合并。
本发明实施例提供的一种道路数据的处理装置,包括:
获取模块,用于从电子地图数据库中,获取上下线分离道路的道路数据;
连接模块,用于将获取到的道路数据中属性及方向相同的道路数据进行连接,得到待处理道路数据;
合并模块,用于将待处理道路数据中同一上下线分离道路对应的两条待处理道路数据进行合并。
本发明实施例提供一种道路数据的处理方法及装置,该方法获取上下线分离道路的道路数据,将获取到的道路数据中属性及方向相同的道路数据进行连接,得到待处理道路数据,将待处理道路数据中同一上下线分离道路对应的两条待处理道路数据进行合并。上述方法可将电子地图数据库中上下线分离道路对应的两条道路的道路数据合并为一条单线道路的道路数据,合并后的数据量远小于原始数据的数据量,因此,基于合并后的道路数据渲染比例尺较大的电子地图可有效提高电子地图的渲染效率。
附图说明
图1为现有技术中的上下线分离道路示意图;
图2为基于图1的上下线分离道路在比例尺较大时的示意图;
图3为本发明实施例提供的道路数据的处理过程;
图4为本发明实施例提供的道路中节点的示意图;
图5为本发明实施例提供的处理装置查找道路名称、导航等级、道路等级及方向均相同的道路数据的示意图;
图6为本发明实施例提供的实际应用场景中当第一道路和第二道路为上下线分离道路时二者的节点示意图;
图7为本发明实施例提供的将两条道路的道路数据合并为一条单线道路的道路数据的第一种方法示意图;
图8为本发明实施例提供的将两条道路的道路数据合并为一条单线道路的道路数据的第二种方法示意图;
图9为本发明实施例提供的实际应用场景中特殊的上下线分离道路示意图;
图10为本发明实施例提供的对如图9所示的上下线分离道路进行合并后的道路示意图;
图11为本发明实施例提供的合并为单线道路后节点位置发生改变的示意图;
图12为本发明实施例提供的将第一待合并道路和第二待合并道路合并为单线道路后调整节点位置的示意图;
图13为本发明实施例提供的道路数据的处理装置结构示意图。
具体实施方式
在本发明实施例中,处理装置将电子地图数据库中的上下线分离道路对应的两条道路的道路数据合并为一条单线道路的道路数据,以达到减少数据量的目的,从而提高后续基于道路数据渲染比例尺较大的电子地图的效率。
下面结合附图对本发明优选的实施方式进行详细说明。
图3为本发明实施例提供的道路数据的处理过程,具体包括以下步骤:
S301:从电子地图数据库中,获取上下线分离道路的道路数据。
在本发明实施例中,处理装置需要先从电子地图数据库中获取上下线分离道路的道路数据。其中,一条道路的道路数据中包括该道路的属性以及采样位置点(具体可以是采样位置点的坐标)。
具体的,道路的属性包括道路名称、导航等级和道路等级(如国道、省道等)。道路的方向是指该道路中的车辆行驶方向,一般上下线分离道路对应的两条道路的道路方向是相反的。道路中的各采样位置点是预先通过人工采集得到的,如,可在该道路上每隔100米测量一次坐标,作为该道路中一个采样位置点的坐标。
由于在实际应用场景中,上下线分离道路一般是道路类别为主路的道路,因此,为了提高处理装置合并上下线分离道路的效率,获取电子地图数据库中道路数据后,可剔除道路类别不是主路的道路数据,也即,对于道路类别不是主路(如辅路、匝道等)的道路数据,可不作合并处理。
对于道路类别的判断,由于在实际应用中若一条道路是主路,那么这条道路的道路数据中所包含的道路类别字段为真,假设1代表真,道路类别字段为FORMWAY字段,则FORMWAY字段为1表示该道路为主路,若不是主路(如辅路、匝道、路口连接路等),则FORWAY字段不为1,因此,处理装置可判断道路数据中包含的FORMWAY字段是否为1,若是,则对该道路数据执行后续的步骤S302~S303,否则不作处理。
S302:将获取到的道路数据中属性及方向相同的道路数据进行连接,得到待处理道路数据。
由于在实际应用场景中,往往会分段采集同一条道路的道路数据,因此,处理装置需要将获取到的道路数据中属性及方向相同的道路数据进行连接,也即将同一条道路的道路数据进行连接,得到待处理道路数据。
如,假设在采集A路的道路数据时,分段采集了A路的东段、中段、西段这三段路的道路数据,由于这三段路实际上都是A路,因此这三段路的道路数据中的属性及方向均相同,则处理装置获取到这三段路的道路数据后,将这三段路的道路数据进行连接,得到完整的A路的道路数据,作为待处理道路数据。
具体的,处理装置连接同一道路的道路数据的方法可以为:根据获取到的道路数据,创建原始道路拓扑关系,根据该原始道路拓扑关系,查找道路名称、导航等级、道路等级及方向均相同的道路数据,将道路名称、导航等级、道路等级及方向均相同的道路数据顺序连接,得到待处理道路数据。
进一步的,处理装置创建的原始道路拓扑关系可以是道路与节点的连接关系,则处理装置根据该原始道路拓扑关系,查找道路名称、导航等级、道路等级及方向均相同的道路数据的方法可以为:针对每条道路,读取该道路的道路数据,根据道路与节点的连接关系,确定该道路连接的满足指定条件的节点,确定与满足指定条件的节点连接的其他道路的道路数据,从确定的其他道路的道路数据中查找与读取的该道路数据的道路名称、导航等级、道路等级及方向均相同的道路数据。其中,如果一条道路连接的节点不是复杂节点,也不是该道路的终端,则该节点为满足指定条件的节点。
道路中的节点具体是指道路所连接的路口,节点又分为简单节点和复杂节点,简单节点是实际道路中的路口,而复杂节点则是人为将相距较近的一些简单节点整合而成的一个虚拟节点,如图4所示。
图4为本发明实施例提供的道路中节点的示意图,在图4中,道路1、道路2、道路3、道路4相交于十字路口,但十字路口也需要占用一定的面积,因此,实际上道路1所连接的路口的位置为点j1,也即,点j1是道路1的简单节点,类似的,点j2是道路2的简单节点,点j3是道路3的简单节点,点j4是道路4的简单节点。而由于点j1、j2、j3、j4相距较近,因此采集到这四个简单节点的节点信息后,为了便于显示控制,可人工将这四个简单节点整合为一个复杂节点,如图4中空心圆所示的点F1。这样,复杂节点F1就对应了点j1、j2、j3、j4这四个复杂节点,在显示控制电子地图时,可将上述四条路显示为直接相交于该复杂节点F。实际上,对于一些简单节点而言,是否要将这些简单节点整合成一个虚拟的复杂节点,用以在显示控制地图时代替这些简单节点均是人为决定的,本发明对此不做限定。由于简单节点和复杂节点的确定方法均是现有技术中的方法,因此此处不再详述。
图5为本发明实施例提供的处理装置查找道路名称、导航等级、道路等级及方向均相同的道路数据的示意图,在图5中,a路、b路、c路均连接简单节点j1,b路与d路均连接简单节点j2,简单节点j1不是a路的终点,简单节点j2不是b路的终点(即,节点j1和j2是满足指定条件的节点),则处理装置针对a路,可根据原始道路拓扑关系(道路与节点的连接关系),确定a路连接节点j1,并确定与该节点j1相连的其他道路为b路和c路,因此,从b路和c路的道路数据中查找与a路的道路名称、导航等级、道路等级及方向均相同的道路数据,查找到的道路数据即为b路,因此连接a路和b路。后续的,可针对b路进行同样处理,依次向后延伸,连接b路的道路数据与d路的道路数据,直至当前要连接的道路所连接的节点是复杂节点或道路的终点为止。
这样,相当于将实际应用中的同一条道路以道路的起点、终点、道路中的各复杂节点进行了分段。如,假设图5中的a路、b路、d路的道路数据是人工对实际应用中A路中的三段路采集的道路数据,但中间的节点j1是复杂节点,则实际应用中的A路就被该复杂节点分成了a路和b-d路两段。
另外,由于在实际应用中连接相同节点,且道路名称、导航等级、道路等级均相同的两条路的方向可能并不完全相同(如图5所示的a路和b路,二者的方向略有偏差),因此,处理装置针对一条道路,确定了与该道路连接的满足指定条件的节点,并确定了与该满足指定条件的节点连接的其他道路的道路数据之后,可在确定的其他道路的道路数据中,查找与读取的道路数据的道路名称、导航等级、道路等级均相同,且方向偏差小于设定方向阈值的道路数据,并进行连接。当然,也可以在确定的其他道路的道路数据中,查找与读取的道路数据的道路名称、导航等级、道路等级均相同,且方向与读取的该道路数据的方向最接近的道路数据,并进行连接。
较佳的,由于道路数据是人工采集的,向电子地图数据库中录入道路数据时可能会出现错误,因此,处理装置在得到待处理道路数据之后,还可确定未连接的道路数据,以及与该未连接的道路数据所连接的节点相同、道路名称相同、方向相同的待处理道路数据,如果该未连接的道路数据与确定的待处理道路数据的导航等级或道路等级不同,则将该未连接的道路数据与确定的待处理道路数据进行连接。
仍以图5为例进行说明,假设已经连接了a路和b路,d路的道路名称与b路的道路名称、方向均相同,但d路的道路等级为省道,b路的道路等级为国道,也即d路与b路的道路等级不同,因此连接的a-b路是待处理道路,而d路并未与任何道路连接。则处理装置确定未连接的d路,确定与d路连接的节点(节点j2)相同、道路名称相同、方向相同的待处理道路,即连接的a-b路,由于d路与连接的a-b路仅道路等级不同,因此,可认为d路的道路数据在录入电子地图数据库时出错,d路的道路等级应该与b路相同,均为国道,从而连接d路与a-b路。当然,还可以将d路的道路等级也相应调整为国道。
S303:将待处理道路数据中同一上下线分离道路对应的两条待处理道路数据进行合并。
在本发明实施例中,得到待处理道路数据后,可根据待处理道路数据创建更新道路拓扑关系,再根据该更新道路拓扑关系,得到统一上下线分离道路对应的两条待处理道路数据,并将这两条待处理道路数据进行合并。
具体的,由于得到的每条待处理道路数据两端的节点均是道路的起点、终点或复杂节点,因此,处理装置创建的更新道路拓扑关系可以是道路与复杂节点的连接关系。由于一般的上下线分离道路对应的两条道路会具有相同的复杂节点、且方向相反,因此,处理装置根据该更新道路拓扑关系,得到同一上下线分离道路对应的两条待处理道路数据,并将这两条待处理道路数据进行合并的方法可以为:针对每条道路,读取该道路对应的待处理道路数据,根据道路与复杂节点的连接关系,确定该道路连接的复杂节点,查找连接该确定的复杂节点且方向与该道路相反的道路对应的待处理道路数据,将读取的待处理道路数据和查找到的待处理道路数据进行合并。即,将连接相同复杂节点、且方向相反的两条待处理道路确定为同一上下线分离道路对应的两条道路,并进行合并。
进一步的,考虑到在实际应用场景中,即使两条待处理道路数据对应的是同一上下线分离道路,这两条到处理道路数据的节点也可能不尽相同,如图6所示(图6中将同一上下线分离道路对应的两条道路称为第一道路和第二道路)。
图6为本发明实施例提供的实际应用场景中当第一道路和第二道路为上下线分离道路时二者的节点示意图,第一道路和第二道路中共有6个节点,分别是节点A、节点B、节点C、节点D、节点E、节点F。其中,节点A是第三道路与第一道路和第二道路的交点,节点B是第四道路与第一道路的交点,节点C是第五道路与第一道路的交点,节点D是第一道路自身两段路连接的交点,节点E是第六道路与第二道路的交点,节点F是第七道路与第二道路的交点。
按照上述连接道路数据的方法,可得到8条待处理道路数据,分别是道路a、道路b、道路c、道路d、道路e、道路f、道路g、道路h这8条道路的道路数据。
由图6可见,上述8条待处理道路数据中,仅道路a与道路e连接相同的复杂节点,即第一道路的起点(也是第二道路的终点)和节点A,且方向相反,因此,如图6所示的第一道路和第二道路中,如果仅以连接相同的复杂节点(或道路的起点、终点)以及方向相反来确定对应同一上下线分离道路的两条待处理道路数据,也仅能确定出道路a和道路e的道路数据是对应同一上下线分离道路的两条待处理道路数据。
因此,为了准确的判断两条待处理道路数据是否为同一上下线分离道路对应的两条道路的道路数据,本发明实施例中处理装置在确定同一上下线分离道路对应的两条待处理道路数据并进行合并时,针对任意两条待处理道路数据(以下称为第一待处理道路数据和第二待处理道路数据),当第一待处理道路数据所连接的两个复杂节点与第二待处理道路数据所连接的两个复杂节点不同,可判断该第一待处理道路数据与该第二待处理道路数据的方向是否相反,且,该第一待处理道路数据所连接的复杂节点与第二待处理道路数据所连接的复杂节点之间的距离是否不小于第一设定阈值,若是,则确定该第一待处理道路数据和第二待处理道路数据对应同一上下线分离道路,对这两条待处理道路数据进行合并,否则,确定该第一待处理道路数据和第二待处理道路数据不对应同一上下线分离道路。
继续以图6为例进行说明,假设针对道路b和道路f,则处理装置可判断道路b的道路数据和道路f的道路数据的方向是否相反,且,道路b所连接的复杂节点与道路f所连接的复杂节点之间的距离是否小于第一设定阈值。
具体的,判断道路b和道路f所连接的复杂节点之间的距离是否小于第一设定阈值时,可进行下述两次判断。
第一次判断:判断道路b所连接的第一个复杂节点与道路f所连接的第一个复杂节点之间的距离是否小于第一设定阈值,判断道路b所连接的第二个复杂节点与道路f所连接的第二个复杂节点之间的距离是否小于第一设定阈值,若均小于,则可确定道路b和道路f所连接的复杂节点之间的距离小于第一设定阈值,否则,继续进行下述第二次判断;
第二次判断:判断道路b所连接的第一个复杂节点与道路f所连接的第二个复杂节点之间的距离是否小于第一设定阈值,判断道路b所连接的第二个复杂节点与道路f所连接的第一个复杂节点之间的距离是否小于第一设定阈值,若均小于,则可确定道路b和道路f所连接的复杂节点之间的距离小于第一设定阈值,否则,确定道路b和道路f所连接的复杂节点之间的距离不小于第一设定阈值。
假设将道路b所连接的节点A作为道路b所连接的第一个复杂节点,将道路b所连接的节点B作为道路b所连接的第二个复杂节点,道路f所连接的节点A作为道路f所连接的第一个复杂节点,道路f所连接的节点E作为道路f所连接的第二个复杂节点,则在第一次判断时,终端判断节点A到节点A的距离(距离为0)是否小于第一设定阈值,判断节点B到节点E的距离是否小于第一设定阈值,若均小于,则可确定道路b和道路f为上下线分离道路,否则,进行第二次判断,即,判断节点A到节点E的距离是否小于第一设定阈值,判断节点B到节点A的距离是否小于第一设定阈值,若均小于,则确定道路b和道路f为上下线分离道路,否则确定道路b和道路f不是上下线分离道路。
以此类推,在图6中,处理装置可确定道路a与道路e对应同一上下线分离道路,道路b与道路f对应同一上下线分离道路,道路c与道路g对应同一上下线分离道路,道路d与道路h对应同一上下线分离道路,从而,后续处理装置可分别将道路a与道路e、道路b与道路f、道路c与道路g、道路d与道路h的道路数据进行合并。
在本发明实施例中,处理装置读取一条待处理道路数据,并采用上述方法查找到与读取的待处理道路数据对应同一上下线分离道路的另一待处理道路数据后,为了保证合并后得到的单线道路的路型与这两条道路的路型相符,将这两条待处理道路数据进行合并的方法可以为(以下将读取的待处理道路数据和查找到的另一待处理道路数据分别称为第一待合并道路数据和第二待合并道路数据,将这两条待合并道路数据对应的道路分别称为第一待合并道路和第二待合并道路):处理装置可针对第一待合并道路数据中的每个采样位置点,确定过该采样位置点且垂直于第二待合并道路的垂线与第二待合并道路的交点,并将该采样位置点与该交点的中点确定为将该采样位置点合并后的坐标。类似的,也可针对第二待合并道路数据中的每个采样位置点,确定过该采样位置点且垂直于第一待合并道路的垂线与第一待合并道路的交点,并将该采样位置点与该交点的中点确定为将该采样位置点合并后的坐标,如图7所示。
图7为本发明实施例提供的将两条道路的道路数据合并为一条单线道路的道路数据的第一种方法示意图,在图7中,第一待合并道路数据中包含采样位置点1,第二待合并道路数据中包含采样位置点2,则针对采样位置点1,确定过该点垂直于第二待合并道路的垂线与第二待合并道路的交点为点1X,因此,将采样位置点1和点1X的中点1M的坐标确定为将采样位置点1合并后的坐标。类似的,针对采样位置点2,确定过该点垂直于第一待合并道路的交点为点2X,因此,将采样位置点2和点2X的中点2M的坐标确定为将采样位置点2合并后的坐标。
但是,由于上述合并方法需要针对一条道路中的每个采样位置点向另一条道路做垂线,因此合并效率较低,为了在保证合并后的单线道路的路型与第一待合并道路和第二待合并道路的路型相符的同时,尽量的提高合并效率,处理装置可采用以下方法合并第一待合并道路和第二待合并道路的道路数据,具体如下:
针对第一待合并道路数据中的每个采样位置点,将该采样位置点作为第一待合并采样点,确定第二待合并道路数据中未经过合并处理、且与该第一待合并采样点距离最近的采样位置点,作为第二待合并采样点;根据该第一待合并采样点和第二待合并采样点的坐标,判断该第一待合并采样点与第二待合并采样点之间的距离是否小于第二设定阈值,若是,则将该第一待合并采样点与第二待合并采样点之间连线的中点的坐标,确定为将该第一待合并采样点和第二待合并采样点进行合并后的坐标;否则,确定过该第一待合并采样点垂直于第二待合并道路的垂线,确定该垂线与第二待合并道路的交点,将第一待合并采样点与确定的该交点之间连线的中点的坐标,确定为将该第一待合并采样点进行合并后的坐标,如图8所示。
图8为本发明实施例提供的将两条道路的道路数据合并为一条单线道路的道路数据的第二种方法示意图,在在图8中,第一待合并道路中包含采样位置点1和采样位置点3,第二待合并道路中包含采样位置点2和采样位置点4。
针对采样位置点1,先将采样位置点1作为第一待合并采样点,由于第二待合并道路中的采样位置点2与采样位置点1最近,且未经过合并处理,因此将采样位置点2作为第二待合并采样点。假设处理装置判断第一待合并采样点(采样位置点1)和第二待合并采样点(采样位置点2)之间的距离小于第二设定阈值,则直接确定这两个点之间的中点12M的坐标,并将该中点12M的坐标作为对第一待合并采样点和第二待合并采样点合并后的坐标。
然后,针对采样位置点3,将该采样位置点3作为第一待合并采样点,由于第二待合并道路中未经过合并处理、且与采样位置点3距离最近的是采样位置点4,因此将采样位置点4作为第二待合并采样点(实际上采样位置点3到采样位置点2的距离小于采样位置点3到采样位置点4的距离,但采样位置点2已经经过了合并处理,因此不能将采样位置点2作为第二待合并采样点)。假设处理装置判断第一待合并采样点(采样位置点3)和第二待合并采样点(采样位置点4)之间的距离不小于第二设定阈值,则确定过第一待合并采样点垂直于第二待合并道路的垂线与第二待合并道路的交点3X,再将第一待合并采样点与交点3X之间的终点3M的坐标,确定为将该第一待合并采样点(采样位置点3)合并后的坐标。
类似的,对第一待合并道路中的所有采样位置点进行上述处理后,可针对第二待合并道路中每个未经过合并处理的采样位置点(如图8中的采样位置点4),直接确定过该采样位置点垂直于第一待合并道路的垂线与第一待合并道路的交点(如图8中的点4X),再将该采样位置点与该交点之间的中点(如图8中的点4M)的坐标,确定为对该采样位置点合并后的坐标。
较佳的,在实际应用场景中,上下线分离道路中的两条待合并道路也存在如图9所示的情况。图9为本发明实施例提供的实际应用场景中特殊的上下线分离道路示意图,以自左向右的顺序来看,第一待合并道路和第二待合并道路开始时距离较近,但经过了复杂节点A后,两条待合并道路的距离开始增加,然后又回到初始时较近的距离,最后经过复杂节点B。显然,对于如图9所示的第一待合并道路和第二待合并道路,为了保证合并后的单线道路的路型与实际情况相符,二者在相距较远时不应被合并。
因此,处理装置在合并第一待合并道路数据(读取的待处理道路数据)和第二待合并道路数据(查找到的与读取的待处理道路数据对应同一上下线分离道路的另一待处理道路数据)时,需要确定第一待合并道路数据中的采样位置点到第二待合并道路数据中的采样位置点的距离,若确定的距离不大于预设的距离阈值,则将第一待处理道路数据和第二待处理道路数据的采样位置点进行合并(具体可采用上述第一种或第二种合并方法进行合并),若第一待合并道路数据中有连续N个采样位置点到第二待合并道路数据的采样位置点的距离均大于预设的距离阈值,则分别存储第一待处理道路数据中该连续N个采样位置点以及第二待处理道路数据中对应的采样位置点,即,对这N个采样位置点不进行合并。其中,N为设定数量。
例如,假设N设定为1,如图9所示的第一待合并道路中包含采样位置点1和采样位置点3,第二待合并道路中包含采样位置点2和采样位置点4。则,处理装置在合并第一待合并道路和第二待合并道路的道路数据时,确定采样位置点1到采样位置点2的距离不大于预设的距离阈值(如50米),因此可通过上述第一种或第二种方法合并采样位置点1和采样位置点2。在对采样位置点3进行处理时,处理装置确定采样位置点3到采样位置点4的距离大于预设的距离阈值,因此不对该采样位置点1和采样位置点4进行合并处理。通过上述方法对如图9所示的上下线分离道路进行合并后,得到的道路如图10所示。图10为本发明实施例提供的对如图9所示的上下线分离道路进行合并后的道路示意图,在图10中,第一待合并道路和第二待合并道路相距较远时仍保持这两条道路的原始道路数据不变,而相距较近时则合并为一条单线道路。
更进一步的,采样上述方法对第一待合并道路和第二待合并道路进行合并后,该第一待合并道路和第二待合并道路上的所有节点的位置都会发生改变,如图11所示。图11为本发明实施例提供的合并为单线道路后节点位置发生改变的示意图,在图11中,虚线所示的两条道路为合并前的第一待合并道路和第二待合并道路(第一待合并道路和第二待合并道路对应同一上下线分离道路),第一待合并道路上存在节点A,实线所示的是将第一待合并道路和第二待合并道路合并成的单线道路,该单线道路上的节点A’对应与合并前第一待合并道路上的节点A。
由图11可见,合并前节点A和合并后节点A’的位置并不相同。而对于合并前与第一待合并道路连接于节点A的第三道路而言,合并后第三道路仍连接于节点A,并未连接于节点A’,这就会造成第三道路与合并后的单线道路并未连接,也即显示出的地图的准确性较低。
因此,为了提高处理道路数据的准确性,本发明实施例中处理装置采用上述方法将同一上下线分离道路对应的两条待处理道路数据进行合并之后,还要针对同一上下线分离道路对应的两条道路中的每个节点,确定除该同一上下线分离道路对应的两条道路以外与该节点相连的其他道路,根据确定的其他道路的道路数据,确定所述其他道路的斜率的平均值,确定斜率为所述平均值、且过该节点的直线,确定所述直线与该同一上下线分离道路对应的两条道路合并后的道路的交点,采用确定的交点更新该节点,如图12所示。
图12为本发明实施例提供的将第一待合并道路和第二待合并道路合并为单线道路后调整节点位置的示意图,在图12中,虚线所示的两条道路为合并前的第一待合并道路和第二待合并道路(第一待合并道路和第二待合并道路对应同一上下线分离道路),第一待合并道路上存在节点A,第三道路、第四道路与第一待合并道路相交于节点A,实线所示的单线道路是将第一待合并道路和第二待合并道路合并成的单线道路。
则处理装置合并出如图12所示的单线道路后,针对节点A,确定除该第一待合并道路和第二待合并道路以外与该节点A相连的其他道路,即第三道路和第四道路,确定第三道路和第四道路的斜率的平均值,再确定斜率为该平均值、且过该节点A的直线与合并后的单线道路的交点,记为节点A’,将节点A’的坐标作为对节点A调整后的坐标,最后连接节点A’与第三道路和第四道路(具体可连接节点A’与节点A),这样,如图12所示的显示出的地图中,第三道路和第四道路均与单线道路相交于节点A’。
通过上述方法,处理装置可将电子地图数据库中同一上下线分离道路对应的两条道路的道路数据合并为一条单线道路的道路数据,合并后的单线道路的道路数据相比于合并之前的两条不同道路的道路数据较少,因此基于合并后的道路数据渲染电子地图,可有效提高比例尺较大的电子地图的渲染效率。
另外,由于在实际应用场景中,终端只有在渲染比例尺较大的地图时,才会使渲染的上下线分离道路对应的两条不同道路重叠在一起,因此,在本发明实施例中,处理装置采用上述方法对上下线分离道路的道路数据进行合并处理后,可将处理后道路数据保存在电子地图数据库中,也即,电子地图数据库中即保存合并处理后的道路数据,也保存原始的道路数据,当终端要渲染电子地图,向电子地图数据库中获取道路数据时,电子地图数据库可判断终端渲染电子地图的比例尺是否大于设定比例尺,若是,则将合并处理后的道路数据返回给终端,否则,将原始的道路数据返回给终端。
以上是本发明实施例提供的道路数据的处理方法,基于同样的发明思路,本发明实施例还提供一种道路数据的处理装置,如图13所示。
图13为本发明实施例提供的道路数据的处理装置结构示意图,具体包括:
获取模块1301,用于从电子地图数据库中,获取上下线分离道路的道路数据;
连接模块1302,用于将获取到的道路数据中属性及方向相同的道路数据进行连接,得到待处理道路数据;
合并模块1303,用于将待处理道路数据中同一上下线分离道路对应的两条待处理道路数据进行合并。
所述获取模块1301获取到的道路数据中的属性包括:道路名称、导航等级及道路等级;
所述连接模块1302具体用于,根据获取到的道路数据,创建原始道路拓扑关系;根据所述原始道路拓扑关系,查找道路名称、导航等级、道路等级及方向均相同的道路数据;将道路名称、导航等级、道路等级及方向均相同的道路数据顺序连接,得到待处理道路数据。
所述连接模块1302具体包括:
原始拓扑关系创建单元13021,用于创建道路与节点的连接关系;
查找单元13022,用于针对每条道路,读取该道路的道路数据,根据道路与节点的连接关系,确定该道路连接的满足指定条件的节点,确定与满足指定条件的节点连接的其他道路的道路数据,从确定的其他道路的道路数据中查找与读取的该道路数据的道路名称、导航等级、道路等级及方向均相同的道路数据;其中,如果一条道路连接的节点不是复杂节点,也不是该道路的终点,则该节点为满足指定条件的节点。
所述连接模块1302还用于,确定未连接的道路数据,以及与该未连接的道路数据所连接的节点相同、道路名称相同、方向相同的待处理道路数据;如果该未连接的道路数据与确定的待处理道路数据的导航等级或道路等级不同,则将该未连接的道路数据与确定的待处理道路数据进行连接。
所述合并模块1303具体用于,根据待处理道路数据,创建更新道路拓扑关系;根据所述更新道路拓扑关系,得到同一上下线分离道路对应的两条待处理道路数据,并将所述两条待处理道路数据进行合并。
所述合并模块1303具体包括:
更新拓扑关系创建单元13031,用于创建道路与复杂节点的连接关系;
合并单元13032,用于针对每条道路,读取该道路对应的待处理道路数据,根据道路与复杂节点的连接关系,确定该道路连接的复杂节点,查找连接该确定的复杂节点且方向与该道路相反的道路对应的待处理道路数据,将读取的待处理道路数据和查找到的待处理道路数据进行合并。
所述道路数据进一步包括:采样位置点;
所述合并单元13032具体用于,确定读取的待处理道路数据中的采样位置点到查找到的待处理道路数据的采样位置点的距离;若所述距离不大于预设的距离阈值,则将读取的待处理道路数据和查找到的待处理道路数据的采样位置点进行合并;若读取的待处理道路数据中有连续N个采样位置点到查找到的待处理道路数据的采样位置点的距离大于预设的距离阈值,则分别存储读取的待处理道路数据中该连续N个采样位置点以及在查找到的待处理道路数据中对应的采样位置点。
所述装置还包括:
节点更新模块1304,用于针对同一上下线分离道路对应的两条道路中的每个节点,确定除该同一上下线分离道路对应的两条道路以外与该节点相连的其他道路;根据确定的其他道路的道路数据,确定所述其他道路的斜率的平均值;确定斜率为所述平均值、且过该节点的直线,确定所述直线与该同一上下线分离道路对应的两条道路合并后的道路的交点,采用确定的交点更新该节点。
本发明实施例提供一种道路数据的处理方法及装置,该方法获取上下线分离道路的道路数据,将获取到的道路数据中属性及方向相同的道路数据进行连接,得到待处理道路数据,将待处理道路数据中同一上下线分离道路对应的两条待处理道路数据进行合并。上述方法可将电子地图数据库中上下线分离道路对应的两条道路的道路数据合并为一条单线道路的道路数据,合并后的数据量远小于原始数据的数据量,因此,基于合并后的道路数据渲染比例尺较大的电子地图可有效提高电子地图的渲染效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。