一种瓦片地图的融合方法及装置的制造方法

文档序号:9547885阅读:447来源:国知局
一种瓦片地图的融合方法及装置的制造方法
【技术领域】
[0001] 本发明涉及瓦片融合领域,尤其涉及一种瓦片地图的融合方法及装置。
【背景技术】
[0002] 随着瓦片地图技术的广泛应用,多数地图瓦片存储方式都是基于单节点、文件式 的存储方式,访问和查询地图瓦片数据的速度受到服务器和磁盘I/O能力的影响,在出现 高并发处理时,很难满足用户的查询请求,而且单节点存储数据缺乏数据容灾处理,可能导 致地图瓦片数据丢失,且用户在访问时,会造成较大的访问压力。
[0003] 现有技术中,每次在进行瓦片融合时,都需要融合所有的地图瓦片数据;若用户只 想融合小区域范围内的地图瓦片数据,第一种是选择将所有的地图瓦片数据进行融合,第 二种则是通过多次的读取数据的方式进行融合。这两种融合方式,第一种融合所有地图瓦 片数据的方式,涉及待融合的瓦片数据巨大,融合操作消耗时间较长,效率低下。第二种读 取小区域范围内的地图瓦片数据,由于数据存储并不连续,就需要经过多次遍历才能读取 到小区域范围内的所有地图瓦片数据,多次读取不仅会造成访问压力过大,而且效率较低, 操作不方便,从而降低了瓦片融合的效率。若融合后的瓦片地图中,小部分地图瓦片数据需 要更新,采用上述两种方式重新融合地图瓦片数据,同样面临融合效率低的问题。

【发明内容】

[0004] 本发明实施例提供一种瓦片地图的融合方法及装置,用以解决现有技术中存在融 合指定区域范围内的地图瓦片时,融合和读取效率较低的问题。
[0005] 本发明提供的瓦片地图融合的方案如下:
[0006] -种瓦片地图的融合方法,该方法包括:
[0007] 读取各个地图瓦片的行号与列号,将各个地图瓦片的行号与列号进行交叉组合, 并将交叉组合后的值作为瓦片数据表的行键值,以及按照行键值的升序或降序分别将对应 的地图瓦片的瓦片数据存储至瓦片数据表;
[0008] 接收到融合指令后,基于融合指令中指示的待融合区域的位置信息确定待融合区 域的外接矩形,以及外接矩形覆盖的各个地图瓦片中的起始地图瓦片和终止地图瓦片,采 用映射化简MapReduce分布式计算框架分别融合瓦片数据表中从起始地图瓦片开始到终 止地图瓦片结束、且按照行键值连续存储的各个地图瓦片中各个行键值相同的地图瓦片的 瓦片数据。
[0009] 本发明实施例提供的方案,采用将地图瓦片行号和列号进行交叉组合的方式,解 决了现有技术中无法只融合小区域的地图瓦片的问题。这种融合方式可以通过一次连续读 取,扫描所有需要融合的区域,提高了融合处理的效率,节省了融合处理的时间,可以只融 合两块区域的边界,不必将所有的地图瓦片都扫描一遍。
[0010] 较佳的,读取各个地图瓦片的行号与列号之前,还包括:
[0011] 读取各个地图瓦片的瓦片数据中携带的经度和纬度;
[0012] 分别根据经度计算各个地图瓦片的列号,以及分别根据纬度计算各个地图瓦片的 行号。
[0013] 较佳的,在读取各个地图瓦片的行号与列号之后,在将各个地图瓦片的行号与列 号进行交叉组合之前,包括:
[0014] 判断行号的位数和列号的位数是否都为预设位数;
[0015] 若是,则直接将行号和列号进行交叉组合;
[0016] 否则,将行号和/或列号之前补若干个零,直到行号的位数和列号的位数都为预 设位数时,再将行号和列号进行交叉组合。
[0017] 通过这种可能的实施方式,采用相同位数的行号和列号进行交叉组合。
[0018] 较佳的,将各个地图瓦片的行号与列号进行交叉组合,并将交叉组合后的值作为 瓦片数据表的行键值,包括:
[0019] 按照先行号后列号的顺序,将行号和列号进行交叉组合,并将交叉组合后的值作 为瓦片数据表的行键值,其中,交叉组合后的值,其奇数位上从高位至低位的各个数值分别 为行号的高位至低位上的各个数值,以及其偶数位上从高位至低位的各个数值分别为列号 的高位至低位上的各个数值,高位用于指示最左边的数位,低位用于指示最右边的数位;或 者,
[0020] 按照先列号后行号的顺序,将行号和列号进行交叉组合,并将交叉组合后的值作 为瓦片数据表的行键值,其中,交叉组合后的值,其奇数位上从高位至低位的各个数值分别 为列号的高位至低位上的各个数值,以及其偶数位上从高位至低位的各个数值分别为行号 的高位至低位上的各个数值,高位用于指示最左边的数位,低位用于指示最右边的数位。
[0021] 通过这种可能的实施方式,采用这种交叉组合方法,都可以使得相邻的地图瓦片 在瓦片数据表中存储的位置也都是相邻或相近的,方面读取和扫描,提高了读取融合的效 率。
[0022] 较佳的,根据融合指令中指示的待融合区域,基于融合指令中指示的待融合区域 的位置信息确定待融合区域的外接矩形,以及外接矩形覆盖的各个地图瓦片中的起始地图 瓦片和终止地图瓦片,包括:
[0023] 根据融合指令中指示的待融合区域的经度和纬度确定待融合区域覆盖的各个地 图瓦片,并确定待融合区域覆盖的各个地图瓦片为待融合地图瓦片;
[0024] 读取待融合地图瓦片的经度和纬度,确定待融合地图瓦片的经度的最小值和最大 值,以及确定待融合地图瓦片的纬度的最小值和最大值;
[0025] 基于待融合地图瓦片的经度的最小值和最大值,纬度的最小值和最大值确定待融 合地图瓦片的外接矩形;
[0026] 根据待融合地图瓦片的经度的最小值和纬度的最小值,确定起始地图瓦片,以及 根据待融合地图瓦片的经度的最大值和纬度的最大值,确定终止地图瓦片。
[0027] 通过这种可能的实施方式,确定扫描的起始地图瓦片和终止地图瓦片,缩小了扫 描范围,使得融合效率更高。
[0028] 较佳的,采用映射化简MapReduce分布式计算框架分别融合瓦片数据中从起始地 图瓦片开始到终止地图瓦片结束、且按照行键值连续存储的各个地图瓦片中各个行键值相 同的地图瓦片的瓦片数据,包括:
[0029] 确定起始地图瓦片的行键值和终止地图瓦片的行键值;
[0030] 确定起始地图瓦片的行键值为MapReduce分布式计算框架的起始扫描参数,以及 确定终止地图瓦片的行键值为MapReduce分布式计算框架的终止扫描参数;
[0031] 采用MapReduce分布式计算框架输入起始扫描参数和终止扫描参数,扫描瓦片数 据表中从起始地图瓦片开始到终止地图瓦片结束、且按照行键值连续存储的各个地图瓦 片;
[0032] 确定瓦片数据表中从起始地图瓦片开始到终止地图瓦片结束、且按照行键值连续 存储的各个地图瓦片中各个行键值相同的地图瓦片;
[0033] 分别融合各个行键值相同的地图瓦片的瓦片数据。
[0034] 通过这种可能的实施方式,将起始地图瓦片的行键值和终止地图瓦片的行键值作 为参数,输入MapReduce分布式计算框架中进行扫描融合,计算性能高稳定性好,融合的计 算能力可以扩展。
[0035] 一种瓦片地图的融合装置,该装置包括:
[0036] 数据处理单元,用于读取各个地图瓦片的行号与列号,将各个地图瓦片的行号与 列号进行交叉组合,并将交叉组合后的值作为瓦片数据表的行键值,以及按照行键值的升 序或降序分别将对应的地图瓦片的瓦片数据存储至瓦片数据表;
[0037] 数据融合单元,用于接收到融合指令后,基于融合指令中指示的待融合区域的位 置信息确定待融合区域的外接矩形,以及外接矩形覆盖的各个地图瓦片中的起始地图瓦片 和终止地图瓦片,采用映射化简MapReduce分布式计算框架分别融合瓦片数据表中从起始 地图瓦片开始到终止地图瓦片结束、且按照行键值连续存储的各个地图瓦片中各个行键值 相同的地图瓦片的瓦片数据。
[0038] 本发明实施例提供的方案,采用将地图瓦片行号和列号进行交叉组合的方式,解 决了现有技术中无法只融合指定区域的地图瓦片的问题。这种融合方式可以通过一次连续 读取,扫描所有需要融合的区域,提高了融合处理的效率,节省了融合处理的时间,可以只 融合两块区域的边界,不必将所有的地图瓦片都扫描一遍。
[0039] 较佳的,数据处理单元,还用于:读取各个地图瓦片的行号与列号之前,读取各个 地图瓦片的瓦片数据中携带的经度和纬度,并分别根据经度计算各个地图瓦片的列号,以 及分别根据纬度计算各个地图瓦片的行号。
[0040] 较佳的,数据处理单元,还用于:在读取各个地图瓦片的行号与列号之后,在将各 个地图瓦片的行号与列号进行交叉组合之前,判断行号的位数和列号的位数是否都为预设 位数;
[0041] 若是,则直接将行号和列号进行交叉组合;否则,将行号和/或列号之前补若干个 零,直到行号的位数和列号的位数都为预设位数时,再将行号和列号进行交叉组合。
[00
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1