一種興趣點的查詢方法及裝置制造方法
【專利摘要】本發(fā)明實施例提供了一種興趣點的查詢方法及裝置。一方面,本發(fā)明實施例通過獲得電子地圖包含的至少一個區(qū)域,以及依據(jù)每個所述區(qū)域的經(jīng)緯度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴;從而,依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系;進(jìn)而依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。因此,本發(fā)明實施例提供的技術(shù)方案能夠依據(jù)給定的區(qū)域直接索引到該區(qū)域內(nèi)的興趣點,可以實現(xiàn)在依據(jù)地理位置進(jìn)行興趣點查詢時,能夠提高查詢效率。
【專利說明】一種興趣點的查詢方法及裝置
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及無線通信網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種興趣點的查詢方法及裝置?!尽颈尘凹夹g(shù)】】
[0002]目前,利用基于位置的服務(wù)(Locat1n Based Service,LBS)實現(xiàn)搜索推薦的機制中,不僅需要參考用戶輸入的關(guān)鍵詞,還需要參考用戶的地理位置,也就是結(jié)合用戶輸入的關(guān)鍵詞和用戶的地理位置實現(xiàn)興趣點查詢以及推薦,以更好的滿足搜索推薦需求。
[0003]現(xiàn)有技術(shù)中,利用基于R-tree的空間索引技術(shù),依據(jù)用戶的地理位置獲得需要推送的興趣點。R-tree中最下層節(jié)點對應(yīng)的字符串表示興趣點,其所有上層節(jié)點中每個節(jié)點對應(yīng)的字符串都表示一個區(qū)域,而且每個節(jié)點對應(yīng)的字符串所表示的區(qū)域,包含該節(jié)點的所有子孫節(jié)點中所有興趣點在電子地圖中的位置的最小外接矩形區(qū)域。因此,依據(jù)用戶的地理位置,可以確定一矩形區(qū)域,進(jìn)而獲得該矩形區(qū)域?qū)?yīng)的字符串,對表示該字符串的節(jié)點下的每一層節(jié)點都需要進(jìn)行字符匹配,才能獲得上述矩形區(qū)域內(nèi)所覆蓋的所有興趣點。因此,依據(jù)地理位置進(jìn)行興趣點的查詢時,查詢速度比較慢,查詢效率比較低。
【
【發(fā)明內(nèi)容】
】
[0004]有鑒于此,本發(fā)明實施例提供了一種興趣點的查詢方法及裝置,可以實現(xiàn)在依據(jù)地理位置進(jìn)行興趣點查詢時,能夠提高查詢效率。
[0005]本發(fā)明實施例的一方面,提供一種興趣點的查詢方法,包括:
[0006]獲得電子地圖包含的至少一個區(qū)域;
[0007]依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串如綴;
[0008]依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系;
[0009]依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。
[0010]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點之前,所述方法還包括:
[0011]依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴;
[0012]依據(jù)所述興趣點和每個所述字符串前綴,生成所述興趣點與每個所述字符串前綴的索引關(guān)系;
[0013]依據(jù)所述興趣點與每個所述字符串前綴的索引關(guān)系,生成所述多級索引。
[0014]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴,包括:
[0015]利用編碼算法對所述興趣點的經(jīng)瑋度信息進(jìn)行編碼處理,以獲得所述興趣點對應(yīng)的字符串;
[0016]從所述興趣點對應(yīng)的字符串中,獲取至少兩個包括所述字符串中首字符的部分連續(xù)字符,以作為所述至少兩個字符串前綴。
[0017]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點,包括:
[0018]利用所述字符串前綴,在所述多級索引中進(jìn)行匹配,以獲得與所述字符串前綴存在索引關(guān)系的至少一個候選興趣點,以作為每個所述區(qū)域?qū)?yīng)的字符串對應(yīng)的候選興趣點。
[0019]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述獲得電子地圖包含的至少一個區(qū)域,包括:
[0020]獲得客戶端當(dāng)前顯示的電子地圖;
[0021]將所述電子地圖作為所述區(qū)域,或者,對所述電子地圖進(jìn)行網(wǎng)格切分,以獲得矩形的所述至少一個區(qū)域。
[0022]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴,包括:
[0023]依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的二進(jìn)制的編碼結(jié)果;
[0024]對每個所述二進(jìn)制的編碼結(jié)果進(jìn)行base32編碼處理,以獲得每個所述區(qū)域?qū)?yīng)的字符串,每個所述區(qū)域?qū)?yīng)的字符串能夠唯一標(biāo)識所述區(qū)域。
[0025]本發(fā)明實施例的一方面,提供一種興趣點的查詢裝置,包括:
[0026]區(qū)域獲取單元,用于獲得電子地圖包含的至少一個區(qū)域;
[0027]字符生成單元,用于依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴;
[0028]興趣點查詢單元,用于依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系;
[0029]興趣點處理單元,用于依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。
[0030]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述裝置還包括:
[0031]索引生成單元,用于依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴;依據(jù)所述興趣點和每個所述字符串如綴,生成所述興趣點與每個所述字符串如綴的索引關(guān)系;依據(jù)所述興趣點與每個所述字符串前綴的索引關(guān)系,生成所述多級索引。
[0032]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴,具體為:
[0033]利用編碼算法對所述興趣點的經(jīng)瑋度信息進(jìn)行編碼處理,以獲得所述興趣點對應(yīng)的字符串;
[0034]從所述興趣點對應(yīng)的字符串中,獲取至少兩個包括所述字符串中首字符的部分連續(xù)字符,以作為所述至少兩個字符串前綴。
[0035]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述興趣點查詢單元,具體用于:
[0036]利用所述字符串前綴,在所述多級索引中進(jìn)行匹配,以獲得與所述字符串前綴存在索引關(guān)系的至少一個候選興趣點,以作為每個所述區(qū)域?qū)?yīng)的字符串對應(yīng)的候選興趣點。
[0037]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述區(qū)域獲取單元,具體用于:
[0038]獲得客戶端當(dāng)前顯示的電子地圖;
[0039]將所述電子地圖作為所述區(qū)域,或者,對所述電子地圖進(jìn)行網(wǎng)格切分,以獲得矩形的所述至少一個區(qū)域。
[0040]如上所述的方面和任一可能的實現(xiàn)方式,進(jìn)一步提供一種實現(xiàn)方式,所述字符生成單元,具體用于:
[0041]依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的二進(jìn)制的編碼結(jié)果;
[0042]對每個所述二進(jìn)制的編碼結(jié)果進(jìn)行base32編碼處理,以獲得每個所述區(qū)域?qū)?yīng)的字符串,每個所述區(qū)域?qū)?yīng)的字符串能夠唯一標(biāo)識所述區(qū)域。
[0043]由以上技術(shù)方案可以看出,本發(fā)明實施例具有以下有益效果:
[0044]本發(fā)明實施例通過獲得電子地圖包含的至少一個區(qū)域,以及依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴;從而,依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系;進(jìn)而依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。與現(xiàn)有技術(shù)中必須對給定區(qū)域的字符串下每一層字符串都需要進(jìn)行匹配的方式相比,本發(fā)明實施例提供的技術(shù)方案能夠依據(jù)給定的區(qū)域直接索引到該區(qū)域內(nèi)的興趣點,可以實現(xiàn)在依據(jù)地理位置進(jìn)行興趣點查詢時,可以提高查詢速度,從而提高查詢效率。
【【專利附圖】
【附圖說明】】
[0045]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0046]圖1是本發(fā)明實施例所提供的技術(shù)方案使用的系統(tǒng)示意圖;
[0047]圖2是本發(fā)明實施例所提供的興趣點的查詢方法的流程示意圖;
[0048]圖3是本發(fā)明實施例所提供的電子地圖中區(qū)域的示例圖;
[0049]圖4是本發(fā)明實施例所提供的多級索引的不例圖;
[0050]圖5是本發(fā)明實施例所提供的興趣點的查詢裝置的功能方塊圖。
【【具體實施方式】】
[0051]為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對本發(fā)明實施例進(jìn)行詳細(xì)描述。
[0052]應(yīng)當(dāng)明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護(hù)的范圍。
[0053]在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
[0054]應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
[0055]取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”或“響應(yīng)于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時”或“響應(yīng)于確定”或“當(dāng)檢測(陳述的條件或事件)時”或“響應(yīng)于檢測(陳述的條件或事件)”。
[0056]本發(fā)明實施例所提供的技術(shù)方案使用的系統(tǒng)如圖1所示,主要由客戶端和服務(wù)器組成,本發(fā)明實施例所提供的方法和裝置在服務(wù)器側(cè)實現(xiàn)。
[0057]本發(fā)明實施例給出一種興趣點的查詢方法,請參考圖2,其為本發(fā)明實施例所提供的興趣點的查詢方法的流程示意圖,如圖所示,該方法包括以下步驟:
[0058]S201,獲得電子地圖包含的至少一個區(qū)域。
[0059]具體的,當(dāng)需要查詢興趣點時,從客戶端獲得當(dāng)前顯示的電子地圖的范圍信息,從而可以依據(jù)該范圍信息,獲得客戶端當(dāng)前顯示的電子地圖,可以直接將該電子地圖作為本發(fā)明實施例中的區(qū)域,從而可以獲得電子地圖包含的一個區(qū)域。
[0060]或者,當(dāng)需要查詢興趣點時,從客戶端獲得當(dāng)前顯示的電子地圖的范圍信息,從而可以依據(jù)該范圍信息,獲得客戶端當(dāng)前顯示的電子地圖;然后對該電子地圖進(jìn)行網(wǎng)格切分,以獲得至少一個區(qū)域。經(jīng)過網(wǎng)格切分后獲得的每個區(qū)域都為矩形。
[0061]需要說明的是,由于在獲得電子地圖包含的至少一個區(qū)域之后,需要獲得每個區(qū)域?qū)?yīng)的字符串,該字符串的字符長度越長,對應(yīng)的區(qū)域的精度越高,該區(qū)域的面積越小,因此,在對電子地圖進(jìn)行切分時,可以依據(jù)需要獲得的字符串的字符長度確定將電子地圖切分為多少個區(qū)域。
[0062]另外,由于區(qū)域的精度越高,該區(qū)域?qū)?yīng)的字符串越長,存儲該字符串所需要占的內(nèi)存空間也越大,因此,綜合考慮精度和內(nèi)存空間,需要選擇一個合適的字符串長度。優(yōu)選的,興趣點對應(yīng)的字符串或者區(qū)域?qū)?yīng)的字符串的長度可以為8位,或者,也可以為4位。
[0063]需要說明的是,若從客戶端獲得當(dāng)前顯示的電子地圖,可以認(rèn)為需要獲得該電子地圖所覆蓋的所有興趣點。若從客戶端獲得當(dāng)前顯示的電子地圖和查詢詞,可以認(rèn)為需要獲得該電子地圖所覆蓋的所有興趣點中與查詢詞相匹配的興趣點。
[0064]S202,依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴。
[0065]具體的,在獲得電子地圖包含的至少一個區(qū)域后,需要依據(jù)每個區(qū)域的經(jīng)瑋度信息,獲得每個區(qū)域?qū)?yīng)的字符串,并將每個區(qū)域?qū)?yīng)的字符串作為字符串前綴,以便于后續(xù)依據(jù)該字符串前綴進(jìn)行進(jìn)一步處理。
[0066]優(yōu)選的,可以依據(jù)每個區(qū)域的經(jīng)瑋度信息,并利用編碼算法,獲得每個區(qū)域?qū)?yīng)的字符串,相當(dāng)于編碼算法將每個區(qū)域的經(jīng)瑋度信息轉(zhuǎn)化為字符串。
[0067]優(yōu)選的,所述編碼算法可以包括但不限于GeoHash編碼算法。
[0068]舉例說明,利用GeoHash編碼算法獲得每個區(qū)域?qū)?yīng)的字符串的方法可以包括但不限于:首先,依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的二進(jìn)制的編碼結(jié)果。然后,對每個所述二進(jìn)制的編碼結(jié)果進(jìn)行base32編碼處理,以獲得每個所述區(qū)域?qū)?yīng)的字符串。
[0069]其中,每個所述區(qū)域?qū)?yīng)的字符串能夠唯一標(biāo)識該區(qū)域。
[0070]例如,如圖3所示,將北京中心城區(qū)分為四個區(qū)域后,利用GeoHash編碼算法,依據(jù)每個區(qū)域的經(jīng)瑋度信息,獲得每個區(qū)域?qū)?yīng)的字符串,圖3中左上角的區(qū)域?qū)?yīng)的字符串是WX4e,圖3中右上角的區(qū)域?qū)?yīng)的字符串是wx4g,圖3中左下角的區(qū)域?qū)?yīng)的字符串是wx4d,圖3中右下角的區(qū)域?qū)?yīng)的字符串是wx4f。其中,圖3中所示的中關(guān)村被字符串為wx4e所表示的區(qū)域完全覆蓋。
[0071]S203,依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系。
[0072]具體的,在獲得每個區(qū)域?qū)?yīng)的字符串后,將每個字符串作為字符串前綴,并依據(jù)多級索引,獲得每個字符串前綴對應(yīng)的候選興趣點。
[0073]其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系。
[0074]優(yōu)選的,依據(jù)多級索引,獲得每個字符串前綴對應(yīng)的候選興趣點之前,需要預(yù)先生成上述多級索引。
[0075]舉例說明,生成多級索引的方法可以包括但不限于:首先,依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴。然后,依據(jù)所述興趣點和每個所述字符串前綴,生成所述興趣點與每個所述字符串前綴的索引關(guān)系。最后,依據(jù)所述興趣點與每個所述字符串前綴的索引關(guān)系,生成所述多級索引。
[0076]舉例說明,所述依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴的方法可以包括但不限于:首先,利用編碼算法對所述興趣點的經(jīng)瑋度信息進(jìn)行編碼處理,以獲得所述興趣點對應(yīng)的字符串。然后,從所述興趣點對應(yīng)的字符串中,獲取至少兩個包括所述字符串中首字符的部分連續(xù)字符,以作為所述至少兩個字符串前綴。
[0077]優(yōu)選的,所述編碼算法可以包括但不限于GeoHash編碼算法。
[0078]例如,地球的瑋度區(qū)間是[-90,90],興趣點的瑋度是39.92324,利用GeoHash編碼算法中的逼近編碼算法,依據(jù)該瑋度,生成瑋度對應(yīng)的二進(jìn)制的編碼結(jié)果,即1011 10001100 0111 1001。同理,地球的經(jīng)度區(qū)間是[-180,180],興趣點“北海公園”的經(jīng)度是116.3906,利用GeoHash編碼算法中的逼近編碼算法,依據(jù)該經(jīng)度,生成經(jīng)度對應(yīng)的二進(jìn)制的編碼結(jié)果,即1101 0010 1100 0100 0100。然后利用GeoHash編碼算法中的base32編碼算法,依據(jù)這兩個二進(jìn)制的編碼結(jié)果,獲得該興趣點的字符串為wX4g0ecl。
[0079]例如,興趣點的字符串為wx4g0ecl時,獲得字符串前綴可以包括w、wx、wx4、wx4g、wx4g0、wx4g0e、wx4g0ec ο
[0080]需要說明的是,依據(jù)興趣點對應(yīng)的每個字符串前綴,并利用上述編碼算法的逆運算,獲得該字符串前綴對應(yīng)的區(qū)域的經(jīng)瑋度信息,因此,興趣點對應(yīng)的這些字符串前綴中,每個字符串前綴都對應(yīng)一個區(qū)域,并且,每個字符串前綴所表示的區(qū)域可以包含以這個字符串前綴為前綴的、長度更長的字符串所表示的區(qū)域,例如,字符w表示的區(qū)域包含字符串WX表示的區(qū)域,字符串WX表示的區(qū)域包含字符串WX4表示的區(qū)域,即:上面描述的字符串長度越長,表示的區(qū)域面積越小,精度越高。
[0081]在獲得興趣點對應(yīng)的至少兩個字符串前綴后,生成該興趣點與每個字符串前綴的索引關(guān)系,進(jìn)而依據(jù)該興趣點與每個字符串前綴的索引關(guān)系,生成該興趣點與至少兩個字符串前綴的索引關(guān)系,這樣,通過該至少兩個字符串前綴中每個字符串前綴,都可以依據(jù)索引關(guān)系,直接獲得對應(yīng)的興趣點;由于字符串前綴表示區(qū)域,因此就可以依據(jù)給定的區(qū)域,獲得字符串前綴,進(jìn)而依據(jù)字符串前綴,并利用索引關(guān)系,直接獲得該區(qū)域所覆蓋的所有興趣點。由于與該興趣點具有索引關(guān)系的至少兩個字符串前綴中,字符串前綴表示的區(qū)域之間存在包含關(guān)系,長度較短的字符串前綴表示的區(qū)域包含字符串較長的字符串前綴表示的區(qū)域,因此,相當(dāng)于生成了不同精度級別下,包含該興趣點的區(qū)域?qū)?yīng)的字符串與該興趣點之間的索引關(guān)系。
[0082]例如,興趣點的字符串為wx4g0ecl,字符串前綴包括W、wx、wx4、wx4g、wx4g0、wx4g0e、wx4g0ec,生成的多級索引可以包括:字符串為wx4g0ecl的興趣點與字符串前綴w的索引關(guān)系、字符串為wx4g0ecl的興趣點與字符串如綴wx的索引關(guān)系、字符串為wx4g0ecl的興趣點與字符串前綴wx4的索引關(guān)系、字符串為wX4g0ecl的興趣點與字符串前綴wx4g的索引關(guān)系、字符串為wX4g0ecl與字符串前綴wx4g0的索引關(guān)系、字符串為wX4g0ecl與字符串前綴wx4g0e的索引關(guān)系、字符串為wX4g0ecl的興趣點與字符串前綴wX4g0ec的索引關(guān)系。這樣,對于電子地圖中的區(qū)域而言,無論該區(qū)域?qū)?yīng)的字符串是W、wx、wx4、wx4g、wx4g0、wx4g0e、wx4g0ec中的哪一個,都可以依據(jù)生成的多級索引,直接獲得該區(qū)域?qū)?yīng)的字符串所對應(yīng)的興趣點,實現(xiàn)該區(qū)域內(nèi)的興趣點查詢。
[0083]再例如,請參考圖4,其為本發(fā)明實施例所提供的多級索引的不例圖,如圖所不,字符串w表示的區(qū)域包含字符串wq、wr和wx表示區(qū)域,字符串wq表示的區(qū)域包含字符串wqO和wql表示的區(qū)域,字符串wr表示的區(qū)域包含字符串wrh和wr j表示的區(qū)域,字符串wx表示的區(qū)域包含wx4表示的區(qū)域。
[0084]其中,字符串wqO表示的區(qū)域中包含字符串為wq01、wq02、wq0b的興趣點。字符串wql表示的區(qū)域中包含字符串為wqll的興趣點。字符串wrh表示的區(qū)域中包含字符串為wrhb和wrhc的興趣點。字符串wrj表示的區(qū)域中包含字符串為wrjm的興趣點。字符串為wx4表不的區(qū)域中包含字符串為wx40、wx41、wx42、wx43、wx44、wx45和wx46的興趣點。
[0085]如圖4 所不,字符串為 wq01、wq02、wq0b、wqll、wrhb、wrhc、w;r jm、wx40、wx41、wx42、wx43, wx44, wx45和wx46的興趣點中,每個興趣點與自身的一個字符串前綴w存在索引關(guān)系O
[0086]如圖4所示,字符串為Wq01、Wq02、Wq0b、Wqll中的每個興趣點都與自身的一個字符串前綴wq存在索引關(guān)系。字符串為wrhb、wrhc、wrjm的興趣點中,每個興趣點與自身的一個字符串前綴wr存在索引關(guān)系。字符串為wx40、wx41、wx42、wx43、wx44、wx45和wx46的興趣點中,每個興趣點都與自身的一個字符串前綴wx存在索引關(guān)系。
[0087]如圖4所示,字符串為Wq01、Wq02、Wq0b中的每個興趣點都與自身的一個字符串前綴wqO也存在索引關(guān)系。字符串為wqll的興趣點與自身的一個字符串前綴wql也存在索引關(guān)系。字符串為wrhb和wrhc的興趣點中,每個興趣點都與自身的一個字符串前綴wrh存在索引關(guān)系。字符串為wrjm的興趣點中與自身的一個字符串如綴wrj存在索引關(guān)系。字符串為wx40、wx41、wx42、wx43、wx44、wx45和wx46的興趣點中,每個興趣點都與自身的一個字符串如綴wx4存在索引關(guān)系。
[0088]需要說明的是,圖4中只畫出部分的索引關(guān)系,該索引關(guān)系如4中的粗實線所示,其余部分的索引關(guān)系沒有畫出。
[0089]另外,在存儲上述索引關(guān)系時,可以判斷每個索引關(guān)系中,與字符串如綴存在索引關(guān)系的興趣點的數(shù)目,然后將該數(shù)目與預(yù)先設(shè)置的數(shù)目門限進(jìn)行比較,將該數(shù)目小于或者等于數(shù)目門限的索引關(guān)系刪除,然后將剩余的索引關(guān)系存儲在存儲單元中,相當(dāng)于不存儲那些包含的興趣點較少的索引關(guān)系,可以節(jié)省存儲空間。
[0090]將S202中每個區(qū)域?qū)?yīng)的字符串作為字符串前綴,并基于利用上述方法預(yù)先生成的多級索引,可以獲得每個所述字符串前綴對應(yīng)的候選興趣點,其方法可以包括但不限于:
[0091]利用該字符串前綴,在上述預(yù)先生成的多級索引中進(jìn)行匹配,以獲得與所述字符串前綴存在索引關(guān)系的至少一個候選興趣點,以作為每個所述區(qū)域?qū)?yīng)的字符串對應(yīng)的候選興趣點。
[0092]例如,如圖4所示,該區(qū)域?qū)?yīng)的字符串為wr,利用匹配計算,先在圖4所示的索引關(guān)系中查找字符串W,然后遍歷到以字符串w為字符串前綴的字符串wq,發(fā)現(xiàn)wq與字符串wr不匹配,繼續(xù)遍歷以字符串w為字符串前綴的字符串,從而找到字符串wr,依據(jù)該字符串前綴wr在多級索引中找到字符串wr的索引關(guān)系,從而可以獲得與該字符串存在索引關(guān)系的至少一個候選興趣點,即可以查詢到字符串為wrhb、wrhb、wrhc和wrjm的興趣點。
[0093]現(xiàn)有技術(shù)中,只存在字符串w與字符串wq、wr和wx的索引關(guān)系、字符串wq與字符串wq0、wql的索引關(guān)系,字符串wr與字符串wrh、wr j的索引關(guān)系,字符串wx與字符串wx4的索引關(guān)系、字符串wqO與字符串為wqOl、wq02和wqOb的興趣點的索引關(guān)系,字符串wql與字符串為wqll的興趣點的索引關(guān)系,字符串wrh與字符串為wrhb和wrhc的興趣點的索引關(guān)系、字符串wrj與字符串為wrjm的興趣點的索引關(guān)系、字符串wx4與字符串為wx40、wx41、wx42、wx43、wx44、wx45和wx46的興趣點的索引關(guān)系。
[0094]因此,現(xiàn)有技術(shù)中,如果區(qū)域?qū)?yīng)的字符串為wr,依據(jù)該字符串只能匹配到字符串wrh和wrj,然后還需要依據(jù)字符串wrh和wrj,才能匹配到字符串為wrhb、wrhb、wrhc和wrjm的興趣點,需要一級一級地進(jìn)行匹配計算,才能夠找到對應(yīng)的興趣點,尤其是存在大量興趣點時,字符串前綴與興趣點之間的層級數(shù)目較多,如此一級一級地進(jìn)行匹配計算,導(dǎo)致興趣點查詢的效率非常低。
[0095]S204,依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。
[0096]具體的,在將電子地圖中每個區(qū)域?qū)?yīng)的字符串作為字符串前綴,以及獲得每個字符串前綴對應(yīng)的候選興趣點后,可以依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。
[0097]舉例說明,依據(jù)每個字符串前綴對應(yīng)的候選興趣點,獲得電子地圖覆蓋的目標(biāo)興趣點的方法可以包括以下兩種:
[0098]第一種:若只從客戶端獲得當(dāng)前顯示的電子地圖,沒有獲得查詢詞,可以認(rèn)為需要獲得該電子地圖覆蓋的所有興趣點,則可以將上述S203中獲得的每個字符串前綴對應(yīng)的候選興趣點都直接作為電子地圖覆蓋的目標(biāo)興趣點。
[0099]第二種:若從客戶端獲得了當(dāng)前顯示的電子地圖和查詢詞,則依據(jù)每個字符串前綴對應(yīng)的候選興趣點中,獲得與該查詢詞相匹配的候選興趣點,以作為電子地圖覆蓋的目標(biāo)興趣點。
[0100]例如,查詢詞為“美食”,則可以在候選興趣點中獲得類型為“美食”的興趣點。
[0101]再例如,查詢詞為“海底撈”,則可以在候選興趣點中獲得名稱包含“海底撈”的興趣點。
[0102]另外,在獲得電子地圖覆蓋的目標(biāo)興趣點后,可以將目標(biāo)興趣點的信息,如名稱、類型、位置等,提供給客戶端,以便于客戶端顯示目標(biāo)興趣點的信息,或者,客戶端在當(dāng)前顯示的電子地圖中標(biāo)注出目標(biāo)興趣點。
[0103]可以理解的是,所述客戶端可以是安裝在終端上的應(yīng)用程序(nativeApp),或者還可以是終端上的瀏覽器的一個網(wǎng)頁程序(webApp),本發(fā)明實施例對此不進(jìn)行限定。
[0104]需要說明的是,本發(fā)明實施例中所涉及的終端可以包括但不限于個人計算機(Personal Computer, PC)、個人數(shù)字助理(Personal Digital Assistant,PDA)、無線手持設(shè)備、平板電腦(Tablet Computer)、手機、MP3播放器、MP4播放器等。
[0105]本發(fā)明實施例進(jìn)一步給出實現(xiàn)上述方法實施例中各步驟及方法的裝置實施例。
[0106]請參考圖5,其為本發(fā)明實施例所提供的興趣點的查詢裝置的功能方塊圖。如圖所示,該裝置包括:
[0107]區(qū)域獲取單元50,用于獲得電子地圖包含的至少一個區(qū)域;
[0108]字符生成單元51,用于依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴;
[0109]興趣點查詢單元52,用于依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系;
[0110]興趣點處理單元53,用于依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。
[0111]可選的,所述裝置還包括:
[0112]索引生成單元54,用于依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴;依據(jù)所述興趣點和每個所述字符串前綴,生成所述興趣點與每個所述字符串前綴的索引關(guān)系;依據(jù)所述興趣點與每個所述字符串前綴的索引關(guān)系,生成所述多級索引。
[0113]優(yōu)選的,所述依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴,具體為:
[0114]利用編碼算法對所述興趣點的經(jīng)瑋度信息進(jìn)行編碼處理,以獲得所述興趣點對應(yīng)的字符串;
[0115]從所述興趣點對應(yīng)的字符串中,獲取至少兩個包括所述字符串中首字符的部分連續(xù)字符,以作為所述至少兩個字符串前綴。
[0116]優(yōu)選的,所述興趣點查詢單元52,具體用于:
[0117]利用所述字符串前綴,在所述多級索引中進(jìn)行匹配,以獲得與所述字符串前綴存在索引關(guān)系的至少一個候選興趣點,以作為每個所述區(qū)域?qū)?yīng)的字符串對應(yīng)的候選興趣點。
[0118]優(yōu)選的,所述區(qū)域獲取單元50,具體用于:
[0119]獲得客戶端當(dāng)前顯示的電子地圖;
[0120]將所述電子地圖作為所述區(qū)域,或者,對所述電子地圖進(jìn)行網(wǎng)格切分,以獲得矩形的所述至少一個區(qū)域。
[0121]優(yōu)選的,所述字符生成單元51,具體用于:
[0122]依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的二進(jìn)制的編碼結(jié)果;
[0123]對每個所述二進(jìn)制的編碼結(jié)果進(jìn)行base32編碼處理,以獲得每個所述區(qū)域?qū)?yīng)的字符串,每個所述區(qū)域?qū)?yīng)的字符串能夠唯一標(biāo)識所述區(qū)域。
[0124]由于本實施例中的各單元能夠執(zhí)行圖2所示的方法,本實施例未詳細(xì)描述的部分,可參考對圖2的相關(guān)說明。
[0125]本發(fā)明實施例的技術(shù)方案具有以下有益效果:
[0126]1、本發(fā)明實施例通過獲得電子地圖包含的至少一個區(qū)域,以及依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴;從而,依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系;進(jìn)而依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。與現(xiàn)有技術(shù)中必須對給定區(qū)域的字符串下每一層字符串都需要進(jìn)行匹配的方式相比,本發(fā)明實施例提供的技術(shù)方案能夠依據(jù)給定的區(qū)域直接索引到該區(qū)域內(nèi)的興趣點,可以實現(xiàn)在依據(jù)地理位置進(jìn)行興趣點查詢時,可以提高查詢速度,從而提高查詢效率。
[0127]2、如果利用本發(fā)明實施例中的多級索引替代現(xiàn)有的基于R-tree的空間索引技術(shù)中存在的索引關(guān)系,可以減少內(nèi)存消耗,以節(jié)省存儲空間。
[0128]3、現(xiàn)有技術(shù)中,如果最下層的興趣點的數(shù)目越多,索引關(guān)系中字符串的層級數(shù)目就越多,當(dāng)需要進(jìn)行大規(guī)模的數(shù)據(jù)查詢時,效率很低。本發(fā)明實施例提供的技術(shù)方案,對于每個區(qū)域都可以建立該區(qū)域與興趣點之間直接的索引關(guān)系,當(dāng)興趣點增加時,不需要增加上述層級數(shù)目,因此即使興趣點的數(shù)目增多,也不會消耗大量內(nèi)存以及降低查詢效率。
[0129]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0130]在本發(fā)明所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如,多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0131]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0132]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
[0133]上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機裝置(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)裝置等)或處理器(Processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory, ROM)、隨機存取存儲器(Random Access Memory, RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0134]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種興趣點的查詢方法,其特征在于,所述方法包括: 獲得電子地圖包含的至少一個區(qū)域; 依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前 依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系; 依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點之前,所述方法還包括: 依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴; 依據(jù)所述興趣點和每個所述字符串前綴,生成所述興趣點與每個所述字符串前綴的索引關(guān)系; 依據(jù)所述興趣點與每個所述字符串前綴的索引關(guān)系,生成所述多級索引。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴,包括: 利用編碼算法對所述興趣點的經(jīng)瑋度信息進(jìn)行編碼處理,以獲得所述興趣點對應(yīng)的字符串; 從所述興趣點對應(yīng)的字符串中,獲取至少兩個包括所述字符串中首字符的部分連續(xù)字符,以作為所述至少兩個字符串前綴。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點,包括: 利用所述字符串前綴,在所述多級索引中進(jìn)行匹配,以獲得與所述字符串前綴存在索引關(guān)系的至少一個候選興趣點,以作為每個所述區(qū)域?qū)?yīng)的字符串對應(yīng)的候選興趣點。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得電子地圖包含的至少一個區(qū)域,包括: 獲得客戶端當(dāng)前顯示的電子地圖; 將所述電子地圖作為所述區(qū)域,或者,對所述電子地圖進(jìn)行網(wǎng)格切分,以獲得矩形的所述至少一個區(qū)域。
6.根據(jù)權(quán)利要求1或5所述的方法,其特征字在于,所述依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴,包括: 依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的二進(jìn)制的編碼結(jié)果; 對每個所述二進(jìn)制的編碼結(jié)果進(jìn)行base32編碼處理,以獲得每個所述區(qū)域?qū)?yīng)的字符串,每個所述區(qū)域?qū)?yīng)的字符串能夠唯一標(biāo)識所述區(qū)域。
7.一種興趣點的查詢裝置,其特征在于,所述裝置包括: 區(qū)域獲取單元,用于獲得電子地圖包含的至少一個區(qū)域; 字符生成單元,用于依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的字符串,以作為字符串前綴; 興趣點查詢單元,用于依據(jù)多級索引,獲得每個所述字符串前綴對應(yīng)的候選興趣點;其中,所述多級索引包括每個興趣點與至少兩個字符串前綴的索引關(guān)系; 興趣點處理單元,用于依據(jù)每個所述字符串前綴對應(yīng)的候選興趣點,獲得所述電子地圖覆蓋的目標(biāo)興趣點。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 索引生成單元,用于依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴;依據(jù)所述興趣點和每個所述字符串前綴,生成所述興趣點與每個所述字符串前綴的索引關(guān)系;依據(jù)所述興趣點與每個所述字符串前綴的索引關(guān)系,生成所述多級索引。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述依據(jù)興趣點的經(jīng)瑋度信息,獲得至少兩個字符串前綴,具體為: 利用編碼算法對所述興趣點的經(jīng)瑋度信息進(jìn)行編碼處理,以獲得所述興趣點對應(yīng)的字符串; 從所述興趣點對應(yīng)的字符串中,獲取至少兩個包括所述字符串中首字符的部分連續(xù)字符,以作為所述至少兩個字符串前綴。
10.根據(jù)權(quán)利要求7至9中任一項所述的裝置,其特征在于,所述興趣點查詢單元,具體用于: 利用所述字符串前綴,在所述多級索引中進(jìn)行匹配,以獲得與所述字符串前綴存在索引關(guān)系的至少一個候選興趣點,以作為每個所述區(qū)域?qū)?yīng)的字符串對應(yīng)的候選興趣點。
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述區(qū)域獲取單元,具體用于: 獲得客戶端當(dāng)前顯示的電子地圖; 將所述電子地圖作為所述區(qū)域,或者,對所述電子地圖進(jìn)行網(wǎng)格切分,以獲得矩形的所述至少一個區(qū)域。
12.根據(jù)權(quán)利要求7或11所述的裝置,其特征字在于,所述字符生成單元,具體用于: 依據(jù)每個所述區(qū)域的經(jīng)瑋度信息,獲得每個所述區(qū)域?qū)?yīng)的二進(jìn)制的編碼結(jié)果; 對每個所述二進(jìn)制的編碼結(jié)果進(jìn)行base32編碼處理,以獲得每個所述區(qū)域?qū)?yīng)的字符串,每個所述區(qū)域?qū)?yīng)的字符串能夠唯一標(biāo)識所述區(qū)域。
【文檔編號】G06F17/30GK104516950SQ201410756007
【公開日】2015年4月15日 申請日期:2014年12月10日 優(yōu)先權(quán)日:2014年12月10日
【發(fā)明者】丁川, 劉偉, 康波 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司