数据分块:论导航路网数据如何分块

    路网数据总是按照一块一块的小面积数据来存储,每一块称为一个网格,一个网格的数据相对较小,在使用的时候,按网格为单位对路网数据进行读取。我们如何对整个路网数据进行分块,这里分为2个方向:

1,规整网格,即每个网格的面积大小都是一样的(考虑到纬度越大,距离越短,网格的面积是不一样,只是网格的经度差等于纬度差)。这时候,网格的查找非常方便,我们按照一定的规律对每个网格进行编号(基本上是网格左下角坐标点的纬度值得高bit位+经度值得高bit位+分层号,就能全球唯一确定一个网格了)。由于网格是规整的,网格号本身就能知道这个网格的具体包含的坐标范围,可以说查找的时间复杂度为O(1)。缺点就是,里面的road的疏密不一致,导致网格的数据size非常的不一致。规格网格还有个缺点就是,一条完整的link在跨网格的时候,在网格边界线上把link打断成2个link(这样做的目的是明确一条link属于唯一的一个网格),这无形中增加了link的格式,从而导致数据内容的增加。

2,不规则网格,即网格的面积大小不一致,这时候的网格可能重叠。这种划分主要是考虑到希望网格的数据size基本一致。路网是有疏密的,路网密集的地方,网格就划小一点,路网稀疏的地方网格就划大一点,主要是保证每个网格存储的数据内容大小一致。这样在读取的时候内存的使用会更高效。由于网格的不规则,我们在查找的实现必须通过过滤的方式完成工作。一般而言可以通过树的方式(kd树,R树等等)来查找。

        当然,实际的使用过程中,我们可以调整我们的策略,采取混合的方法,一方面保留相应的优点,一方面规避对应的缺点。

。。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值