一种地图数据的坐标转换方法、装置、设备、介质及系统与流程

文档序号:33151829发布日期:2023-02-03 23:00阅读:33来源:国知局
一种地图数据的坐标转换方法、装置、设备、介质及系统与流程

1.本技术涉及地图加密技术领域,尤其涉及一种地图数据的坐标转换方法、装置、设备、介质及系统。


背景技术:

2.高精度地图中通常涉及到高精度的特殊区域轮廓数据,现有技术中对特殊区域轮廓数据的加密方式主要有两种:例如,公开号为cn107679406b的中国专利中公开了一种高精度电子地图的处理方法、装置、设备及计算机可读存储介质,将加密后的地图数据放在服务器上,在客户端需要使用地图数据时,在服务器上对地图数据进行加密后发送至客户端。这种方式依赖于移动通信技术,若移动通信网络信号不佳,则无法及时获取地图数据。另一件公开号为cn101158587b的中国专利中公开了一种地图数据处理装置,将加密后的地图数据存储在用户端,在用户端解密数据后使用;若密码或加密算法被破解,则地图数据将会被泄露。
3.因此,亟需一种不可逆地降低特殊区域轮廓精度的方法。


技术实现要素:

4.为解决上述技术问题,本说明书实施例提出了一种地图数据的坐标转换方法、装置、设备、介质及系统,通过不可逆地降低了特殊区域轮廓精度,以对特殊区域轮廓进行了不可逆加密处理,提高了数据安全性。
5.本说明书实施例提供的一种地图数据的坐标转换方法,包括:获取目标区域轮廓上轮廓点第一精度的经纬度坐标数据;确定预设的第二精度对应的网格坐标的目标层级;所述第二精度低于所述第一精度;计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合;对所述网格坐标集合中的网格坐标进行标识,以便采用所述网格坐标集合中的网格坐标表示所述目标区域轮廓。
6.本说明书实施例提供的一种地图数据的坐标转换装置,包括:获取模块,用于获取目标区域轮廓上轮廓点第一精度的经纬度坐标数据;确定模块,用于确定预设的第二精度对应的网格坐标的目标层级;所述第二精度低于所述第一精度;计算模块,用于计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合;表示模块,用于对所述网格坐标集合中的网格坐标进行标识,以便采用所述网格坐标集合中的网格坐标表示所述目标区域轮廓本说明书实施例提供的一种地图数据的坐标转换设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够实现所述地图数据的坐标转换方法。本说明书实施例提供的一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现所述地图数据的坐标转换方法。
7.本说明书实施例提供的一种地图数据的坐标转换系统,包括:转换装置,用于获取目标区域轮廓上轮廓点第一精度的经纬度坐标数据;确定预设的第二精度对应的网格坐标的目标层级;所述第二精度低于所述第一精度;计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合;对所述网格坐标集合中的网格坐标进行标识,以便采用所述网格坐标集合中的网格坐标表示所述目标区域轮廓;转换识别装置,用于根据转换装置得到的所述目标区域轮廓确定当前车辆所在区域。
8.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:本说明书实施例公开了一种地图数据的坐标转换方法、装置、设备、介质及系统,通过确定预设的目标精度对应的网格坐标的目标层级,将目标区域轮廓上轮廓点高精度的原始经纬度坐标数据,转化为网格坐标集合中目标层级的网格坐标,采用所述网格坐标集合来表示所述目标区域轮廓。由于一个目标层级的网格坐标同时与多个高精度的原始经纬度坐标数据相对应,因此,所述目标层级的网格坐标不能转换为高精度的原始经纬度坐标数据,由此对目标区域轮廓进行了不可逆的加密处理,增强了地图数据的安全性。
附图说明
9.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
10.图1为本说明书实施例提供的一种地图数据的坐标转换方法的流程示意图;图2为包含特殊区域的地图示意图;图3为所述第二网格坐标集合的示意图;图4a为图3中所述第二网格坐标集合中网格的目标上层网格的示意图;图4b为图3中所述第二网格坐标集合中网格的合并结果的示意图;图4c为图4b中待合并网格集合中网格的目标上层网格的示意图;图4d为图4b中待合并网格集合中网格的合并结果的示意图;图5为网格坐标转换为莫顿码坐标的示意图;图6为本说明书实施例提供的一种对应于图1的一种地图数据的坐标转换装置的结构示意图;图7为本说明书实施例提供的一种对应于图1的一种地图数据的坐标转换设备的结构示意图。
具体实施方式
11.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
12.在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
13.以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明的保护范围内。
14.现有技术中对将加密后的特殊区域数据存储在客户端的加密方式,加密后的特殊区域数据有可能通过穷举或其他逆向方式被破解,得到特殊区域数据的原始经纬度坐标。
15.为了解决现有技术中的缺陷,本方案给出了以下实施例:图1为本说明书实施例提供的一种地图数据的坐标转换方法的流程示意图。
16.从硬件角度而言,该流程的执行主体可以是处理地图数据的设备,从程序角度而言,可以是该设备处搭载的应用程序。如图1所示,该流程可以包括以下步骤:步骤101:获取目标区域轮廓上轮廓点第一精度的经纬度坐标数据;本说明书实施例中,所述目标区域轮廓可以是目标区域(即所述特殊区域)的边界或外形线,所述目标区域轮廓可以采用多边形来近似地表示,即所述目标区域轮廓可以由多个轮廓点(多边形的顶点)组成的序列来表示。
17.本说明书实施例中,所述第一精度可以是所述目标区域轮廓的原始精度,例如厘米级精度、分米级精度,在此不做具体限定。
18.步骤103:确定预设的第二精度对应的网格坐标的目标层级;所述第二精度低于所述第一精度;本说明书实施例中,所述第二精度可以是所述目标区域轮廓的目标精度,所述第二精度低于所述第一精度,例如,在所述第一精度为厘米级时,所述第二精度可以是分米级、米级、十米级等。
19.本说明书实施例中,所述网格可以是多层网格中的网格;在所述多层网格中,上一层的网格可以包括第一网格数量的下一层网格;由于计算机使用二进制,为便于存储,第一网格数量可以是,其中,a为非负整数。又由于地图数据(忽略高程数据)通常为二维的数据,因此,上一层的网格可以包括4个下一层网格,即第一网格数量可以是4。
20.本说明书实施例中,同一层网格(层级相同的网格)在经纬度坐标系中的尺寸相同;具体来说,在层级相同时,网格的一条边对应相同的经度值范围,网格的另一条边对应相同的纬度值范围。需要特别指出的是,由于纬度不同,同一层网格对应实际的地理范围不同。
21.本说明书实施例中,网格坐标的精度可以用网格层级来表示。在实际中,网格坐标
的精度即网格对应实际的地理范围的大小。同时,网格对应实际的地理范围的大小与网格层级直接相关,因此,网格坐标的精度可以用网格层级来表示。具体来说,由于上一层网格可以包括固定数量的、大小相同的下一层网格,在纬度一定的情况下,网格坐标对应实际的地理范围大小与网格层级相对应,即网格坐标的精度与网格层级相对应。
22.需要特别指出的是,由于多层网格中,相邻两层的网格精度的比值等于第一网格数量的平方根,目标层级对应的精度可以不直接等于第二精度,例如,在第一网格数量为4时,下一层网格的精度为上一层网格的2倍,比如多层网格中m-1、m、m+1级的精度分别为4米级、2米级、1米级,所述第二精度为3米级,目标层级可以是m-1级或者m级,目标层级对应的精度(4米级或2米级)并不等于第二精度(3米级)。
23.本说明书实施例中,所述确定预设的第二精度对应的网格坐标的目标层级,具体可以包括:根据所述第二精度、多层网格的划分方式以及所述目标区域的纬度,确定网格坐标的目标层级。
24.步骤105:计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合;本说明书实施例中,所述网格坐标集合可以用于表示所述目标区域的范围。所述网格坐标集合可以包括与所述目标区域的轮廓线上的网格坐标;所述网格坐标集合还可以包括所述目标区域内的所有网格坐标;在此不做具体限定。
25.步骤107:对所述网格坐标集合中的网格坐标进行标识,以便采用所述网格坐标集合中的网格坐标表示所述目标区域轮廓。
26.本说明书实施例中,所述对所述网格坐标集合中的网格坐标进行标识,可以包括建立并保存所述目标区域与所述网格坐标集合中的网格坐标之间的对应关系。
27.本说明书实施例中,通过确定预设的目标精度对应的网格坐标的目标层级,将目标区域轮廓上轮廓点高精度的原始经纬度坐标数据,转化为网格坐标集合中目标层级的网格坐标,采用所述网格坐标集合来表示所述目标区域轮廓。由于一个目标层级的网格坐标同时与多个高精度的原始经纬度坐标数据相对应,因此,所述目标层级的网格坐标不能转换为高精度的原始经纬度坐标数据,由此对目标区域轮廓进行了不可逆的加密处理,增强了地图数据的安全性。
28.基于图1中的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
29.可选的,所述步骤105:计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合,具体可以包括:确定所述轮廓点的所述经纬度坐标数据与所述目标层级的网格坐标之间的转换关系;根据所述转换关系,计算所述轮廓点在所述目标层级下的网格坐标,得到第一网格坐标集合。
30.本说明书实施例中,所述转换关系可以用于将所述经纬度坐标数据转换为所述目标层级的网格坐标。
31.可选的,所述确定所述轮廓点的所述经纬度坐标数据与所述目标层级的网格坐标之间的转换关系,具体可以包括:
计算所述目标层级的网格在经度方向的横向网格总数量以及在纬度方向的纵向网格总数量;计算所述横向网格总数量与经度取值范围的区间长度之比,得到经度坐标与所述目标层级的网格横坐标之间的第一转换关系;计算所述纵向网格总数量与纬度取值范围的区间长度之比,得到纬度坐标与所述目标层级的网格纵坐标之间的第二转换关系。
32.在实际应用中,由于所述经度取值范围为,所述纬度取值范围为。因此,所述经度取值范围的区间长度等于,所述纬度取值范围的区间长度等于。
33.本说明书实施例中,在最上层网格可以包括2个网格且所述第一网格数量为4时,所述横向网格总数量可以等于,所述纵向网格总数量可以等于,其中,n为所述目标层级。所述经度坐标与所述目标层级的网格横坐标之间的第一转换系数可以等于;所述纬度坐标与所述目标层级的网格纵坐标之间的第二转换系数可以等于。在第一转换系数与所述第二转换系数相等时,所述网格近似于正方形。
34.本说明书实施例中,所述轮廓点第一精度的经纬度坐标数据为(lat,lon),其中,lat为所述轮廓点的纬度值(latitude),lon为所述轮廓点的经度值(longitude)。所述轮廓点在所述目标层级下的网格坐标为(row,col),其中,row为所述轮廓点在所述多层网格的第一网格纵坐标,所述第一网格纵坐标的取值范围为,col为所述轮廓点在所述多层网格的第一网格横坐标(column),所述第一网格横坐标的取值范围为,n为所述网格坐标在所述多层网格中的所述目标层级。
35.所述轮廓点在所述多层网格的第一网格横坐标的计算公式(即第一转换关系)可以为:所述轮廓点在所述多层网格的第一网格横坐标的计算公式(即第二转换关系)可以为:式中,floor函数为向下取整函数。
36.可选的,所述根据所述转换关系,计算所述轮廓点在所述目标层级下的网格坐标,得到第一网格坐标集合,具体包括:根据所述第一转换关系,计算得到所述轮廓点在所述多层网格的第一网格横坐
标;根据所述第二转换关系,计算得到所述轮廓点在所述多层网格的第一网格纵坐标;根据所述第一网格横坐标以及所述第一网格纵坐标,确定所述轮廓点在所述目标层级下的网格坐标,得到所述第一网格坐标集合。
37.本说明书实施例中,所述根据所述第一转换关系,计算得到所述轮廓点在所述多层网格的第一网格横坐标,具体可以包括:根据所述第一转换系数,计算得到所述轮廓点在所述多层网格的第二网格横坐标;对所述第二网格横坐标进行取整处理,得到所述第一网格横坐标;本说明书实施例中,所述根据所述第二转换关系,计算得到所述轮廓点在所述多层网格的第一网格纵坐标,具体可以包括:根据所述第二转换系数,计算得到所述轮廓点在所述多层网格的第二网格纵坐标;对所述第二网格纵坐标进行取整处理,得到所述第一网格纵坐标。
38.本说明书实施例中,对所述第二网格横坐标和第二网格纵坐标的取证处理的方式相同,可以是向下取整、向上取整或四舍五入。所述取证处理不包括直接舍去小数位的直接取整。
39.可选的,所述步骤105:计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合,还可以包括:根据所述轮廓点在所述目标层级下的网格坐标,确定所述目标区域轮廓内的所述目标层级的目标网格,得到第二网格坐标集合;对所述目标层级的目标网格进行合并处理,得到合并后的第二网格坐标集合;对应的,所述步骤107:对所述网格坐标集合中的网格坐标进行标识,以便采用所述网格坐标集合中的网格坐标表示所述目标区域轮廓,具体可以包括:对所述合并后的第二网格坐标集合中的网格坐标进行标识,以便采用所述合并后的第二网格坐标集合中的网格坐标表示所述目标区域轮廓。
40.本说明书实施例中,所述第二网格坐标集合中可以包括与所述目标区域轮廓具有重合部分的所述目标层级的网格;即所述第二网格坐标集合可以包括所述轮廓点在所述目标层级下的网格坐标,还可以包括所述轮廓点在所述目标层级下的网格坐标围成的轮廓内的网格的坐标。
41.本说明书实施例中,合并处理前的第二网格坐标集合也可以用于表示所述目标区域的边界或范围。
42.本说明书实施例中,所述合并处理可以指使用上一层网格来代替该上一层网格包含的所有的下一层网格。所述合并处理可以是迭代的过程,即可以对合并处理得到的上一层网格,再次进行合并处理,得到上上一层的网格。
43.本说明书实施例中,合并处理前后的第二网格坐标集合在多层网格中表示相同的区域范围。
44.可选的,所述根据所述轮廓点在所述目标层级下的网格坐标,确定所述目标区域
轮廓内的所述目标层级的目标网格,得到第二网格坐标集合,具体可以包括:依次连接构成所述目标区域轮廓的轮廓点,得到所述目标区域轮廓的轮廓多边形;基于所述轮廓点的网格坐标,确定所述轮廓多边形的包围盒;确定所述包围盒中与所述轮廓多边形具有重合部分的网格,得到所述目标层级的所述目标网格;根据所述目标网格的网格坐标生成所述第二网格坐标集合。
45.图2为包含特殊区域的地图示意图。其中,r2为所述特殊区域,后文将r2区域作为目标区域进行说明。
46.图3为所述第二网格坐标集合的示意图,图3也表示了目标区域r2在多层网格中占据的范围。图3中1-35均为所述第二网格坐标集合中的网格坐标。最小的网格即为所述目标层级的网格,四个所述目标层级的网格可以构成上一层级的网格。
47.本说明书实施例中,所述目标区域轮廓可以是由轮廓点构成的轮廓点序列,根据所述轮廓点序列的顺序连接所述轮廓点,得到所述目标区域轮廓的轮廓多边形。所述目标区域轮廓也可以是无序的多个轮廓点,对轮廓点进行排序后得到所述轮廓点序列后,再连接所述轮廓点。
48.本说明书实施例中,所述轮廓多边形可以是凸多边形,也可以是凹多边形。
49.本说明书实施例中,所述包围盒,可以是轴对齐包围盒(axis-aligned bounding box,aabb),包围球(sphere),方向包围盒(oriented bounding box,obb)以及固定方向凸包包围盒fdh(fixed directions hulls或k-dop)中的任意一种。
50.本说明书实施例中,所述包围盒中与所述轮廓多边形具有重合部分的网格,即图3中的网格1-网格35。
51.本说明书实施例中,得到所述目标区域轮廓的轮廓多边形之后,还可以不计算所述轮廓多边形的包围盒,直接利用轮廓填充算法确定所述轮廓多边形内的网格,得到所述第二网格坐标集合。
52.可选的,所述对所述目标层级的目标网格进行合并处理,得到合并后的第二网格坐标集合,具体可以包括:根据待合并网格集合中的每个网格的网格坐标,确定所述待合并网格集合中的每个网格所属的目标上层网格;其中,初始的待合并网格集合为所述第二网格坐标集合,所述目标上层网格为所述待合并网格集合中的网格所属的上一层网格;根据所述待合并网格集合中具有相同目标上层网格的网格,确定所述待合并网格集合中包含的所述目标上层网格对应的下一层网格的第二网格数量;若所述第二网格数量等于第一网格数量,则将所述待合并网格集合中所述目标上层网格包含的下一层网格,替换为所述目标上层网格;其中,所述第一网格数量为所述上一层网格包含的下一层网格的数量。
53.本说明书实施例中,通过对网格进行合并,可以减少所述目标区域占据的存储空间。
54.可选的,所述对所述目标层级的目标网格进行合并处理,得到合并后的第二网格坐标集合,具体可以包括:
s201:确定待合并网格集合中的每个网格所属的目标上层网格;其中,初始的待合并网格集合为所述第二网格坐标集合,所述目标上层网格为所述待合并网格集合中的网格所属的上一层网格;s203:确定所述待合并网格集合中包含的每个所述目标上层网格对应的下一层网格的第二网格数量;s205:对于每个所述目标上层网格,根据所述第二网格数量是否等于第一网格数量,判断在所述待合并网格集合之中所述目标上层网格包含的下一层网格是否能够合并。
55.s207:若所述第二网格数量等于第一网格数量,则将所述待合并网格集合中所述目标上层网格包含的下一层网格,合并为所述目标上层网格;其中,所述第一网格数量为所述上一层网格包含的下一层网格的数量。
56.s209:若所述第二网格数量小于第一网格数量,则将所述待合并网格集合中所述目标上层网格包含的下一层网格移动至所述合并后的第二网格坐标集合;重复执行步骤s201~s209,直到所述待合并网格集合为空,得到所述合并后的第二网格坐标集合。
57.图4a为图3中所述第二网格坐标集合中网格的目标上层网格的示意图;图4b为图3中所述第二网格坐标集合中网格的合并结果的示意图;图4c为图4b中待合并网格集合中网格的目标上层网格的示意图;图4d为图4b中待合并网格集合中网格的合并结果的示意图;下面结合图3以及图4a-4d对网格合并方法进行说明。
58.s201:针对图3所示的第二网格坐标集合中的网格,确定第二网格坐标集合中的每个网格的目标上层网格,得到如图4a所示的结果。其中网格t1-t12都是第二网格坐标集合中的网格的目标上层网格;例如,网格1的目标上层网格为t1,网格2的目标上层网格为t2,网格3、4、11、12的目标上层网格均为t3。
59.s203:在所述待合并网格集合之中,确定网格t1-t12对应的下一层网格的第二网格数量。其中,网格t1、t5、t6的第二网格数量为1,网格t2、t10-t12的第二网格数量为2,网格t3-t5、t7-t9的第二网格数量为4。
60.s205:判断网格t3-t5、t7-t9的第二网格数量等于第一网格数量4,网格t3-t5、t7-t9对应的下一层网格能够合并,第二网格坐标集合中的其他网格不能合并。
61.s207:将网格t3-t5、t7-t9对应的下一层网格,替换为t3-t5、t7-t9,得到如图4b所示的合并结果;例如将网格3、4、11、12替换为网格t3。
62.s209:将t1、t2、t6、t10-t12对应的下一层网格1、2、9、10、17、24、31-35等不能合并的网格移动到合并后的第二网格坐标集合。
63.此时,待合并网格集合中的元素为网格t3-t5、t7-t9,继续执行步骤s201-s209。
64.s201:确定待合并网格集合中的网格t3-t5、t7-t9的目标上层网格;图4c示出了再次执行步骤s201的结果,其中,网格t3、t4、t7、t8的目标上层网格为网格t13,网格t5、t9的目标上层网格为网格t14。
65.s203:确定网格t13、t14对应的下一层网格的第二网格数量分别为4和2。
66.s205:经判断网格t13的第二网格数量等于第一网格数量,网格t13对应的下一层网格(网格t3、t4、t7、t8)能够合并,第二网格坐标集合中的其他网格(网格t5、t9)不能合并。
67.s207:将网格t13对应的下一层网格(网格t3、t4、t7、t8),替换为网格t13,得到如图4d所示的合并结果;s209:将t14对应的下一层网格t5、t9等不能合并的网格移动到合并后的第二网格坐标集合。
68.此时,待合并网格集合中的网格仅包括网格t13,再次执行步骤s201-s209,由于网格t13对应的目标上层网格t15(图中未示出)的第二网格数量为1,网格t13不能进一步合并,将网格t13移动至合并后的第二网格坐标集合。此时所述合并后的第二网格坐标集合中的元素为网格1、2、9、10、17、24、31-35、t5、t9、t13,得到如图4d所示的合并结果。
69.此时,待合并网格集合中为空集,网格合并结束,图4d所示的合并结果即为最终的合并结果。
70.可选的,在步骤205之前,所述网格合并方法还可以包括:确定所述待合并网格集合中的每个网格的层级是否为指定层级;若所述待合并网格集合中的网格的层级为指定层级,则将指定层级的网格移动至所述合并后的第二网格坐标集合;若所述待合并网格集合中的网格的层级不为指定层级,则根据步骤s207或s209对所述待合并网格集合中的网格进行处理。
71.本说明书实施例中,若网格t3-t5、t7-t9的层级为指定层级,将网格t3-t5、t7-t9移动至合并后的第二网格坐标集合。此时由于所述待合并网格集合为空集,网格合并结束,得到如图4b所示的最终的合并结果。
72.本说明书实施例中,所述网格的网格坐标可以采用所述第一网格横坐标和所述第一网格纵坐标来表示。若所述第一网格横坐标和所述第一网格纵坐标采用二进制格式,将所述第一网格横坐标和所述第一网格纵坐标分别右移一位,即可得到该网格所属的目标上层网格的网格坐标。以图5中的网格坐标(0101,0111)举例来说,将第一网格横坐标0101和第一网格纵坐标0111分别右移一位,得到上一个层级的网格坐标(010,011)。
73.本说明书实施例中,所述网格的网格坐标可以采用由所述第一网格横坐标和所述第一网格纵坐标交叉排列得到的莫顿码坐标来表示。
74.可选的,所述确定待合并网格集合中的每个网格所属的目标上层网格,具体可以包括:确定待合并网格集合中的每个网格的莫顿码坐标;将所述待合并网格集合中的每个网格的莫顿码坐标右移两位,得到目标上层网格。
75.图5为网格坐标转换为莫顿码坐标的示意图。
76.本说明书实施例中,莫顿码坐标可以是将二维空间中的网格坐标用一维的数值来表示,莫顿码坐标的计算过程可以是将网格坐标中的第一网格横坐标和第一网格纵坐标按位交叉排列,得到网格的莫顿码坐标。以图5中的网格坐标(0101,0111)举例来说,将0101和0111按位交叉排列,即可得到对应的莫顿码坐标00110111。
77.本说明书实施例中,网格在多层网格中的二进制坐标,可以用于确定该网格在上一个层级的坐标。以图5中的网格坐标(0101,0111)举例来说,将第一网格横坐标0101和第一网格纵坐标0111分别右移一位,得到上一个层级的网格坐标(010,011)。
78.本说明书实施例中,网格的莫顿码坐标同样可以用于确定该网格在上一个层级的莫顿码坐标。将图5中的莫顿码坐标00110111右移两位,即可得到在上一个层级的莫顿码坐标001101。这与将第一网格横坐标0101和第一网格纵坐标0111分别右移一位,得到上一个层级的网格坐标(010,011),在进行按位交叉排列处理得到的结果相同。
79.本说明书实施例中,所述对所述合并后的第二网格坐标集合中的网格坐标进行标识,以便采用所述合并后的第二网格坐标集合中的网格坐标表示所述目标区域轮廓,具体可以包括:对所述合并后的第二网格坐标集合中网格的莫顿码坐标进行标识,以便采用所述合并后的第二网格坐标集合中网格的莫顿码坐标表示所述目标区域轮廓。
80.基于同样的思路,本说明书实施例还提供了上述方法对应的装置。
81.图6为本说明书实施例提供的一种对应于图1的一种地图数据的坐标转换装置的结构示意图。如图6所示,所述装置可以包括:获取模块601,可以用于获取目标区域轮廓上轮廓点第一精度的经纬度坐标数据;确定模块603,可以用于确定预设的第二精度对应的网格坐标的目标层级;所述第二精度低于所述第一精度;计算模块605,可以用于计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合;标识模块607,可以用于对所述网格坐标集合中的网格坐标进行标识,以便采用所述网格坐标集合中的网格坐标表示所述目标区域轮廓。
82.可选的,所述计算模块605,具体可以包括:转换关系确定单元,可以用于确定所述轮廓点的所述经纬度坐标数据与所述目标层级的网格坐标之间的转换关系;坐标转换单元,可以用于根据所述转换关系,计算所述轮廓点在所述目标层级下的网格坐标,得到第一网格坐标集合。
83.可选的,所述转换关系确定单元,具体可以用于:计算所述目标层级的网格在经度方向的横向网格总数量以及在纬度方向的纵向网格总数量;计算所述横向网格总数量与经度取值范围的区间长度之比,得到经度坐标与所述目标层级的网格横坐标之间的第一转换关系;计算所述纵向网格总数量与纬度取值范围的区间长度之比,得到纬度坐标与所述目标层级的网格纵坐标之间的第二转换关系。
84.可选的,所述坐标转换单元,具体可以用于:根据所述第一转换关系,计算得到所述轮廓点在所述多层网格的第一网格横坐标;根据所述第二转换关系,计算得到所述轮廓点在所述多层网格的第一网格纵坐标;根据所述第一网格横坐标以及所述第一网格纵坐标,确定所述轮廓点在所述目标层级下的网格坐标,得到所述第一网格坐标集合。
85.对应的,所述计算模块605,还可以包括:
目标网格确定单元,可以用于根据所述轮廓点在所述目标层级下的网格坐标,确定所述目标区域轮廓内的所述目标层级的目标网格,得到第二网格坐标集合;网格合并单元,可以用于对所述目标层级的目标网格进行合并处理,得到合并后的第二网格坐标集合;所述标识模块607,具体可以用于:对所述合并后的第二网格坐标集合中的网格坐标进行标识,以便采用所述合并后的第二网格坐标集合中的网格坐标表示所述目标区域轮廓。
86.可选的,所述目标网格确定单元,具体可以用于:依次连接构成所述目标区域轮廓的轮廓点,得到所述目标区域轮廓的轮廓多边形;基于所述轮廓点的网格坐标,确定所述轮廓多边形的包围盒;确定所述包围盒中与所述轮廓多边形具有重合部分的网格,得到所述目标层级的所述目标网格;根据所述目标网格的网格坐标生成所述第二网格坐标集合。
87.可选的,所述网格合并单元,具体可以包括:上层网格确定子单元,可以用于根据待合并网格集合中的每个网格的网格坐标,确定所述待合并网格集合中的每个网格所属的目标上层网格;其中,初始的待合并网格集合为所述第二网格坐标集合,所述目标上层网格为所述待合并网格集合中的网格所属的上一层网格;网格数量确定子单元,可以用于根据所述待合并网格集合中具有相同目标上层网格的网格,确定所述待合并网格集合中包含的所述目标上层网格对应的下一层网格的第二网格数量;网格替换单元,可以用于若所述第二网格数量等于第一网格数量,则将所述待合并网格集合中所述目标上层网格包含的下一层网格,替换为所述目标上层网格;其中,所述第一网格数量为所述上一层网格包含的下一层网格的数量。
88.可选的,所述上层网格确定子单元,具体可以用于:确定待合并网格集合中的每个网格的莫顿码坐标;将所述待合并网格集合中的每个网格的莫顿码坐标右移两位,得到目标上层网格。
89.基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
90.图7为本说明书实施例提供的一种对应于图1的一种地图数据的坐标转换设备的结构示意图。如图7所示,所述设备700可以包括:至少一个处理器710;以及,与所述至少一个处理器通信连接的存储器730;其中,所述存储器730存储有可被所述至少一个处理器710执行的指令720,所述指令被所述至少一个处理器710执行,以使所述至少一个处理器710能够:获取目标区域轮廓上轮廓点第一精度的经纬度坐标数据;确定预设的第二精度对应的网格坐标的目标层级;所述第二精度低于所述第一精度;
计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合;对所述网格坐标集合中的网格坐标进行标识,以便采用所述网格坐标集合中的网格坐标表示所述目标区域轮廓。
91.基于同样的思路,本说明书实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现所述地图数据的坐标转换方法。
92.基于同样的思路,本说明书实施例还提供了一种地图数据的坐标转换系统,包括:转换装置,用于获取目标区域轮廓上轮廓点第一精度的经纬度坐标数据;确定预设的第二精度对应的网格坐标的目标层级;所述第二精度低于所述第一精度;计算得到与所述目标区域轮廓相交的各个所述轮廓点对应的所述目标层级的网格坐标,得到网格坐标集合;对所述网格坐标集合中的网格坐标进行标识,以便采用所述网格坐标集合中的网格坐标表示所述目标区域轮廓;转换识别装置,用于根据转换装置得到的所述目标区域轮廓确定当前车辆所在区域。
93.本说明书实施例中,所述转换装置可以是用于地图数据处理的服务器或数据处理设备;所述转换识别装置可以是车载设备、车机端产品;或是具有车辆定位或车辆导航功能的设备,还可以包括手机等用户随身设备,以及汽车导航设备和汽车定位设备。
94.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图7所示的设备而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
95.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device, pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应
该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
96.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子可以包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20 以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内可以包括的可以用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将可以用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
97.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
98.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
99.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
100.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生可以用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
101.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生可以包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
102.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供可以用于实现在流程图一个流程或多个流程和/或方框
图一个方框或多个方框中指定的功能的步骤。
103.在一个典型的配置中,计算设备可以包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
104.内存可能可以包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
105.计算机可读介质可以包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字符多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可以用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不可以包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
106.还需要说明的是,术语“可以包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得可以包括一系列要素的过程、方法、商品或者设备不仅可以包括那些要素,而且还可以包括没有明确列出的其他要素,或者是还可以包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“可以包括一个
……”
限定的要素,并不排除在可以包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
107.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
108.本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于可以包括存储设备在内的本地和远程计算机存储介质中。
109.以上所述仅为本技术的实施例而已,并不可以用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1