本发明涉及地图瓦片数据检索领域,尤其涉及一种地图瓦片检索方法及系统。
背景技术:
1、在地图瓦片数据检索领域,二分查找法是一种广泛使用的算法,它能在已排序的数组中提供o(log(n))的时间复杂度。然而,当数组长度未知或查找元素靠近数组开头时,二分查找法的效率并不理想。此外,现有技术在处理非均匀分布的数据集时,如地图瓦片数据,也面临着性能瓶颈。例如,传统的二分查找法在瓦片检索中,由于数据分布的不均匀性,导致检索效率低下,无法满足快速响应的需求。
技术实现思路
1、鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种地图瓦片检索方法及系统。
2、根据本发明的一个方面,提供了一种地图瓦片检索方法,所述检索方法具体包括:
3、步骤s1:搜索域初始化与动态扩展,确定搜索域;
4、步骤s2:根据元素分布的均匀性,采用插值检索算法来猜测待查元素的位置;
5、步骤s3:采用一种自适应的线性插值算法来优化关键字的定位过程;
6、步骤s4:精确位置确定与顺序查找优化;
7、步骤s5:采用优化算法动态调整顺序查找的起始点和范围大小。
8、可选的,所述步骤s1:搜索域初始化与动态扩展,确定搜索域具体包括:
9、初始化搜索域,设定初始搜索域的起始索引为0,数据数组的第一个元素;设定搜索域的上界为1,表示当前搜索范围的结束位置;
10、快速检索策略,采用二分查找的思想,不断调整搜索域的上界;
11、动态调整搜索域,设定一个倍增系数α(α>1),每次迭代将搜索域的上界乘以α;使用以下公式来更新搜索域的上界:unew=uold×α。其中,unew表示新的搜索域上界,uold表示当前的搜索域上界。
12、可选的,所述快速检索策略,采用二分查找的思想,不断调整搜索域的上界具体包括:
13、比较待查关键字与当前搜索域的中间位置元素的大小;
14、如果中间位置的元素值小于待查关键字,将搜索域的起始索引调整到中间位置之后;反之,如果中间位置的元素值大于或等于待查关键字,将搜索域的上界调整为中间位置;
15、根据比较结果,成倍地增加搜索域的上界,直至超过待查关键字存在的最大位置。
16、可选的,所述步骤s2:根据元素分布的均匀性,采用插值检索算法来猜测待查元素的位置具体包括:
17、计算分布均匀性因子,对已确定的搜索域内的元素,计算其分布均匀性因子λ;
18、
19、其中,navg表示搜索域内元素间隔的平均值,nmax表示最大间隔值;
20、插值算法定位;
21、调整搜索域,根据插值预测的位置pquess,重新调整搜索域,将搜索域的起始索引更新为pquess,并继续使用二分查找法进行精确定位。
22、可选的,所述插值算法定位具体包括:
23、根据分布均匀性因子λ,对待查关键字的位置进行插值预测;
24、如果λ接近1,表明元素分布均匀,直接采用线性插值;如果λ值较小,表明元素分布不均,采用非线性插值方法;
25、线性插值公式:
26、其中,pquess是预测的关键字位置,pstart和pend分别是搜索域的起始和结束位置,ktarget是待查关键字,kstart和kend是搜索域的起始和结束关键字。
27、可选的,所述步骤s3:采用一种自适应的线性插值算法来优化关键字的定位过程具体包括:
28、比较预测位置与待查关键字,将预测的位置pquess与待查关键字进行对比,确定预测位置是否准确;如果预测位置与待查关键字匹配,则直接输出结果;否则,进入下一步;
29、更新搜索空间的开头和结尾,根据预测位置与待查关键字的比较结果,自适应调整搜索空间;如果预测位置高于待查关键字,则将搜索空间的结尾调整为预测位置的前一个元素;反之,如果预测位置低于待查关键字,则将搜索空间的开始调整为预测位置的下一个元素;
30、使用以下公式来更新搜索空间的开始和结束索引:
31、如果ktarget>pguess,则pstart=pguess+1;否则pend=pguess-1
32、线性插值计算中间位置,在更新后的搜索空间内,采用一种改进的线性插值算法来计算待查关键字的可能中间位置;
33、改进的线性插值算法考虑了元素分布的局部特性,通过公式计算中间位置pmid:
34、
35、其中,∈是正数,根据实际数据分布进行调整。
36、可选的,所述步骤s4:精确位置确定与顺序查找优化具体包括:
37、判断预测位置的准确性,判断插值预测的位置pmid是否与待查关键字匹配;如果匹配,则继续使用插值算法进行检索;
38、顺序查找启动条件,如果预测位置不准确,则围绕预测位置pguess设定一个介于0至10的查找范围w,范围根据实际情况调整;在范围w内,从预测位置的下一个元素开始,按顺序进行查找,直到找到待查关键字或遍历完整个范围;
39、顺序查找过程,从pguess+1开始,逐个比较每个元素是否为待查关键字,直到找到匹配的元素或达到范围的末尾;如果在范围内找到待查关键字,则检索过程结束;否则,扩大范围范围,继续进行顺序查找。
40、本发明还提供了一种地图瓦片检索系统,应用上述所述的一种地图瓦片检索方法,所述检索系统具体包括:
41、搜索域确定模块,用于搜索域初始化与动态扩展,确定搜索域;
42、插值检索算法模块,用于根据元素分布的均匀性,采用插值检索算法来猜测待查元素的位置;
43、关键字优化模块,用于采用一种自适应的线性插值算法来优化关键字的定位过程;
44、查找优化模块,用于精确位置确定与顺序查找优化;
45、动态调整顺序模块,用于采用优化算法动态调整顺序查找的起始点和范围大小。
46、本发明提供的一种地图瓦片检索方法及系统,所述检索方法具体包括:步骤s1:搜索域初始化与动态扩展,确定搜索域;步骤s2:根据元素分布的均匀性,采用插值检索算法来猜测待查元素的位置;步骤s3:采用一种自适应的线性插值算法来优化关键字的定位过程;步骤s4:精确位置确定与顺序查找优化;步骤s5:采用优化算法动态调整顺序查找的起始点和范围大小。提高地图在加载瓦片时的检索速度,加快瓦片地图的显示速度。
47、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例本发明的具体实施方式。
1.一种地图瓦片检索方法,其特征在于,所述检索方法具体包括:
2.根据权利要求1所述的一种地图瓦片检索方法,其特征在于,所述步骤s1:搜索域初始化与动态扩展,确定搜索域具体包括:
3.根据权利要求2所述的一种地图瓦片检索方法,其特征在于,所述快速检索策略,采用二分查找的思想,不断调整搜索域的上界具体包括:
4.根据权利要求1所述的一种地图瓦片检索方法,其特征在于,所述步骤s2:根据元素分布的均匀性,采用插值检索算法来猜测待查元素的位置具体包括:
5.根据权利要求4所述的一种地图瓦片检索方法,其特征在于,所述插值算法定位具体包括:
6.根据权利要求1所述的一种地图瓦片检索方法,其特征在于,所述步骤s3:采用一种自适应的线性插值算法来优化关键字的定位过程具体包括:
7.根据权利要求1所述的一种地图瓦片检索方法,其特征在于,所述步骤s4:精确位置确定与顺序查找优化具体包括:
8.一种地图瓦片检索系统,应用上述权利要求1-7任一项所述的一种地图瓦片检索方法,其特征在于,所述检索方法具体包括: