專利名稱:一種空間索引的建立方法、使用方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)業(yè)務(wù)領(lǐng)域,尤其涉及一種空間索引的建立方法、使用方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的普及和信息技術(shù)的迅速發(fā)展,人們對(duì)各種信息,特別是地理信息的依賴越來越大。據(jù)統(tǒng)計(jì),現(xiàn)在人們80%以上的活動(dòng)都和空間位置相關(guān),因此,如何從海量的地理信息數(shù)據(jù)中準(zhǔn)確、迅速的找到自己所需的信息,成為當(dāng)前迫切需要解決的問題。目前,對(duì)地理信息的查詢技術(shù)主要包括以下步驟:接收用戶查詢請(qǐng)求信息后,對(duì)查詢請(qǐng)求信息進(jìn)行分詞,獲取有效地址和關(guān)鍵詞;查詢預(yù)置數(shù)據(jù)庫,獲取該有效地址的空間幾何信息,確定待搜索空間區(qū)域;在待搜索空間區(qū)域內(nèi),以該關(guān)鍵詞進(jìn)行搜索,最后輸出搜索結(jié)果。在此過程中,會(huì)使用空間索引來加快搜索速度,那么什么是空間索引呢?空間索引是指依據(jù)空間對(duì)象的位置和形狀或空間對(duì)象之間的某種空間關(guān)系按一定的順序排列的一種數(shù)據(jù)結(jié)構(gòu),其中包含空間對(duì)象的概要信息,如對(duì)象的標(biāo)識(shí)、外接矩形及指向空間對(duì)象實(shí)體的指針。作為一種輔助性的空間數(shù)據(jù)結(jié)構(gòu),空間索引介于空間操作算法和空間對(duì)象之間,它通過篩選作用,大量與特定空間操作無關(guān)的空間對(duì)象被排除,從而提高空間操作的速度和效率。空間對(duì)象一般具有二維特性,例如空間對(duì)象為地圖上的一條道路,一個(gè)湖泊,一個(gè)賓館時(shí),對(duì)應(yīng)的二維特性為一個(gè)點(diǎn)、一條線或一個(gè)面,使用空間索引技術(shù)能夠根據(jù)搜索條件,迅速地查找到所需的空間對(duì)象。例如:需要查找與一個(gè)矩形框相交的所有空間對(duì)象的集合,當(dāng)全圖的數(shù)據(jù)量巨大,矩形框相對(duì)于全圖很小時(shí),這個(gè)集合相對(duì)于全圖數(shù)據(jù)集大為縮小,在這個(gè)縮小的集合上再處理各種復(fù)雜的搜索,效率就會(huì)大大提高。一般地,空間索引技術(shù)包括:網(wǎng)格索引、四叉樹索引、R樹和QR樹等。其中,QR樹是指定深度為N的四叉樹將整個(gè)索引空間分成2的N次方個(gè)空間,四叉樹的每個(gè)結(jié)點(diǎn)均與一索引子空間和一棵R樹相關(guān)聯(lián),QR樹也可以看作是一群R樹的集合,這些R樹分別索引不同空間的目標(biāo)實(shí)體。QR樹結(jié)合了四叉樹與R樹的優(yōu)勢(shì),與R樹相比,QR樹以略大(有時(shí)甚至略小)的空間開銷代價(jià),換取了更高的性能,且索引目標(biāo)數(shù)越多,QR樹的整體性能越好。但是,在實(shí)際使用QR樹建立空間索引時(shí),在現(xiàn)實(shí)世界實(shí)際的劃分情況比假設(shè)的情況復(fù)雜很多倍,特別是在城市中多個(gè)空間對(duì)象的數(shù)據(jù)相互疊加在一起的情況很常見,這樣會(huì)出現(xiàn)空間索引文件過大或樹深度過大,并且會(huì)出現(xiàn)大量的空間重疊問題和“死空間(不包含搜索目標(biāo)的索引空間)”,這些都會(huì)極大地影響檢索速度和效率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種空間索引的建立方法、使用方法及裝置,用以解決現(xiàn)有的空間索引技術(shù)在空間對(duì)象分布復(fù)雜且不均的情況下,出現(xiàn)空間重疊導(dǎo)致搜索速度慢精度低的問題。本發(fā)明實(shí)施例提供的一種空間索引的建立方法,包括:
使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類;針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分所述空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件;使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。本發(fā)明實(shí)施例提供的一種使用上述方法建立的空間索引的使用方法,包括:對(duì)接收到的查詢請(qǐng)求進(jìn)行文本分詞,獲取關(guān)鍵詞;使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)所述關(guān)鍵詞進(jìn)行分類,得到所述關(guān)鍵詞所屬的類別;使用地址數(shù)據(jù)庫獲取所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍;通過遍歷所述關(guān)鍵詞所屬的類別對(duì)應(yīng)的空間數(shù)據(jù)庫的空間索引,進(jìn)行查找所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域;輸出所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域中的所有空間對(duì)象的信息。本發(fā)明實(shí)施例提供的一種空間索引的建立裝置,包括:分類單元,用于使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類;劃分單元,用于針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分所述空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件;空間索引建立單元,用于使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。本發(fā)明實(shí)施例提供的一種使用上述裝置建立的空間索引的使用裝置,包括:分詞模塊,用于對(duì)接收到的查詢請(qǐng)求進(jìn)行文本分詞,獲取關(guān)鍵詞;分類模塊,用于使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)所述關(guān)鍵詞進(jìn)行分類,得到所述關(guān)鍵詞所屬的類別;地址獲取模塊,用于使用地址數(shù)據(jù)庫獲取所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍;搜索模塊,用于通過遍歷所述關(guān)鍵詞所屬的類別對(duì)應(yīng)的空間數(shù)據(jù)庫的空間索引,進(jìn)行查找所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域;輸出模塊,用于輸出所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域中的所有空間對(duì)象的信息。本發(fā)明實(shí)施例的有益效果包括:本發(fā)明實(shí)施例提供的一種空間索引建立方法、使用方法及裝置,使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類;針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件;使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。本發(fā)明通過對(duì)空間對(duì)象的分類,針對(duì)各類空間對(duì)象建立空間索引,能夠降低由于各類空間對(duì)象相互重疊的幾率,并且由于在對(duì)每類空間對(duì)象建立空間索引時(shí),依據(jù)各類空間對(duì)象分布特征,將空間對(duì)象分布密集的空間區(qū)域劃分成更小的區(qū)域,進(jìn)一步降低了出現(xiàn)空間重疊的幾率,從而提高了使用建立的空間索引進(jìn)搜索的速度和精度。
圖1為本發(fā)明實(shí)施例提供的空間索引的建立方法的流程圖;圖2為本發(fā)明實(shí)施例提供的空間區(qū)域劃分的示意圖;圖3為本發(fā)明實(shí)施例提供的密度閾值測(cè)定方法的流程圖;圖4為本發(fā)明實(shí)施例提供的空間索引的使用方法的流程圖;圖5為本發(fā)明實(shí)施例提供的空間索引的建立裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例提供的空間索引的使用裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖,對(duì)本發(fā)明實(shí)施例提供的空間索引的建立方法、使用方法及裝置的具體實(shí)施方式
進(jìn)行詳細(xì)地說明。本發(fā)明實(shí)施例提供的一種空間索引的建立方法,如圖1所示,具體包括以下步驟:S101、使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類;S102、針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件;S103、使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。其中,在步驟S102中使用的四叉樹方式和步驟S103中使用的R樹方式劃分空間區(qū)域都屬于現(xiàn)有技術(shù),在此不再贅述。下面對(duì)上述各步驟的具體實(shí)現(xiàn)方式進(jìn)行詳細(xì)的說明。具體地,在上述步驟SlOl使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類,可以通過下述方式實(shí)現(xiàn):判斷分類數(shù)據(jù)庫中是否存在與空間對(duì)象的屬性對(duì)應(yīng)的類別;若存在,將空間對(duì)象歸屬到類別中;若不存在,將空間對(duì)象歸屬到使用神經(jīng)網(wǎng)絡(luò)的分類算法計(jì)算出的最接近的類別中,確保每個(gè)空間對(duì)象都有歸屬類別,其中,使用的神經(jīng)網(wǎng)絡(luò)的分類算法屬于現(xiàn)有技術(shù),在此不再說明。具體地,在上述步驟SlOl中使用的分類數(shù)據(jù)庫的分類數(shù)據(jù)來源可以包括兩個(gè)部分,其一:可以通過基礎(chǔ)地圖數(shù)據(jù)和興趣點(diǎn)(POI,Point OfInterest)數(shù)據(jù)做數(shù)據(jù)歸類,得到具體的分類數(shù)據(jù),例如哪些是行政區(qū)域、賓館和餐館等;其二:可以通過互聯(lián)網(wǎng)抓取海量網(wǎng)頁中的數(shù)據(jù)、垂直網(wǎng)站中的內(nèi)容數(shù)據(jù)和地圖運(yùn)營商的數(shù)據(jù)等,之后經(jīng)過數(shù)據(jù)去重、去無關(guān)信息等,最后將數(shù)據(jù)歸類得到具體地分類數(shù)據(jù)。經(jīng)過步驟SlOl后,在空間數(shù)據(jù)庫中復(fù)雜的空間對(duì)象被歸屬到各自的類別中,之后針對(duì)每類空間對(duì)象建立空間索引,能夠降低各類空間對(duì)象之間相互重疊的幾率,極大降低了空間重疊問題,從而提高了使用建立的空間索引進(jìn)行搜索的速度和精度。具體地,本發(fā)明實(shí)施例提供的上述方法中的步驟S102,可以通過下述步驟實(shí)現(xiàn):使用四叉樹方式不斷劃分空間區(qū)域,計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度;
當(dāng)確定本次劃分后的子區(qū)域的空間對(duì)象密度不大于設(shè)定的密度閾值時(shí),停止使用四叉樹方式劃分本次劃分后的子區(qū)域。例如:如圖2所示,當(dāng)判斷出劃分后的子區(qū)域B的空間對(duì)象密度小于設(shè)定的密度閾值0.7時(shí),就可以停止使用四叉樹方式對(duì)子區(qū)域B的劃分,然后使用R樹方式在子區(qū)域B中建立空間索引;當(dāng)判斷出劃分后的子區(qū)域C的空間對(duì)象密度大于設(shè)定的密度閾值0.7時(shí),需要繼續(xù)使用四叉樹方式對(duì)子區(qū)域C劃分,得到子區(qū)域C1、C2、C3和C4,然后分別計(jì)算子區(qū)域C1、C2、C3和C4的空間對(duì)象密度,與設(shè)定的密度閾值0.7比較,確定子區(qū)域C1、C2、C3和C4的空間對(duì)象密度均小于于密度閾值0.7后,使用R樹方式分別在子區(qū)域Cl、C2、C3和C4中建立空間索引。具體地,上述步驟S102,也可以通過下述方式實(shí)現(xiàn):使用四叉樹方式不斷劃分空間區(qū)域,計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度和四叉樹的深度;當(dāng)確定本次劃分后的子區(qū)域的空間對(duì)象密度不大于設(shè)定的密度閾值或本次劃分后四叉樹的深度達(dá)到設(shè)定的第一深度閾值時(shí),停止使用四叉樹方式劃分本次劃分后的子區(qū)域。例如:如圖2所示,當(dāng)判斷出子區(qū)域A的空間對(duì)象密度小于設(shè)定的密度閾值0.7時(shí),但四叉樹的深度I沒有到達(dá)第一深度閾值3,停止使用四叉樹方式對(duì)子區(qū)域A的劃分,然后使用R樹方式在子區(qū)域A中建立空間索引;當(dāng)判斷出劃分后的子區(qū)域C1、C2、C3和C4的空間對(duì)象密度大于設(shè)定的密度閾值0.7時(shí),但四叉樹的深度3已達(dá)到了第一深度閾值3,停止使用四叉樹方式劃分子區(qū)域Cl、C2、C3和C4,使用R樹方式分別在子區(qū)域Cl、C2、C3和C4中建立空間索引。其中,對(duì)空間區(qū)域進(jìn)行劃分時(shí),依據(jù)了空間對(duì)象密度進(jìn)行判別是否需要?jiǎng)澐謪^(qū)域,空間對(duì)象密度表征了空間對(duì)象的區(qū)域分布特征,從空間對(duì)象密度可以了解到某個(gè)區(qū)域內(nèi)的空間對(duì)象分布的稀疏程度,例如通過考察一個(gè)城市內(nèi)不同區(qū)域中的商業(yè)網(wǎng)點(diǎn)分布,就可以知道哪個(gè)區(qū)域是該城市的商業(yè)中心。如果在某個(gè)區(qū)域內(nèi)的空間對(duì)象的分布比較密集,就需要對(duì)此區(qū)域再次劃分,減少空間對(duì)象的重疊現(xiàn)象。較佳地,可以根據(jù)實(shí)際的空間區(qū)域中空間對(duì)象的分布情況,增加對(duì)四叉樹深度的判斷,比如如果四叉樹深度大于5層時(shí),直接在該子區(qū)域內(nèi)使用R樹方式構(gòu)建空間索引,不在判斷空間對(duì)象密度是否小于密度閾值,這樣可以避免發(fā)生子區(qū)域的空間對(duì)象密度一直不能小于設(shè)定的密度閾值時(shí),不斷使用四叉樹方式劃分,產(chǎn)生死循環(huán)的情況。優(yōu)選地,在上述步驟S102的兩個(gè)具體實(shí)現(xiàn)過程中,各子區(qū)域的空間對(duì)象密度具體地可以使用下述公式計(jì)算獲得:D=E MBRj/S ;其中,MBRi為本次劃分后的子區(qū)域內(nèi)的第i個(gè)空間對(duì)象的最小邊界矩形的面積;S為使用四叉樹方式對(duì)空間區(qū)域第一次劃分后的子區(qū)域的面積。由于上述公式中的S不會(huì)隨著空間區(qū)域劃分的深入而變化,相對(duì)恒定,因此能夠保證空間對(duì)象密度隨著空間區(qū)域不斷劃分而逐漸收斂。此外,上述空間對(duì)象密度的計(jì)算公式只是原理公式,上述公式的各種變型公式也可以計(jì)算出空間對(duì)象密度,在此不再一一贅述。
在上述步驟S102中使用的密度閾值,可以根據(jù)不同空間區(qū)域中的一類空間對(duì)象的分布情況,設(shè)置不同的密度閾值,密度閾值可以根據(jù)經(jīng)驗(yàn)值來確定,確保四叉樹方式和R樹方式的深度在合理的范圍內(nèi)。優(yōu)選地,密度閾值也可以通過下述的迭代法進(jìn)行測(cè)定,如圖3所示,包括以下步驟:S301、設(shè)置初始密度閾值,一般地,初始密度閾值可以是一塊空間區(qū)域的所有空間對(duì)象密度的均值;S302、使用四叉樹方式不斷劃分空間區(qū)域,直至所有子區(qū)域的空間對(duì)象密度均不大于初始密度閾值時(shí),計(jì)算四叉樹的深度;S303、判斷四叉樹的深度是否小于設(shè)定的第二深度閾值,例如5,如果是,執(zhí)行步驟S304 ;如果否,執(zhí)行步驟S305 ;S304、確定密度閾值為初始密度閾值;S305、調(diào)整初始密度閾值,可以在初始密度閾值上增加步長例如0.1,返回步驟S302 S303。上述使用迭代法測(cè)定密度閾值只是確定密度閾值的一種實(shí)施方式,還可以使用例如空間聚類法等技術(shù)實(shí)現(xiàn)密度閾值的確定,在此不做限定。使用本發(fā)明實(shí)施例提供的上述空間索引建立方法建立的空間索引,充分體現(xiàn)了使用四叉樹方式劃分空間區(qū)域的劃分簡(jiǎn)單、可控分辨率和查找速度快的優(yōu)點(diǎn),也體現(xiàn)了使用R樹方式劃分空間區(qū)域的檢索效率高、檢索精度高的優(yōu)點(diǎn),并且避免了使用R樹方式劃分空間區(qū)域的平衡和分裂比較復(fù)雜、更新速度慢和重建空間索引慢的缺點(diǎn)。本發(fā)明實(shí)施例還提供了一種使用上述方法建立的空間索引的使用方法,如圖4所示,具體包括以下步驟:S401、對(duì)接收到的查詢請(qǐng)求進(jìn)行文本分詞,獲取關(guān)鍵詞;S402、使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)關(guān)鍵詞進(jìn)行分類,得到關(guān)鍵詞所屬的類別;S403、使用地址數(shù)據(jù)庫獲取關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍;S404、通過遍歷關(guān)鍵詞所屬的類別對(duì)應(yīng)的空間數(shù)據(jù)庫的空間索引,進(jìn)行查找關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域;S405、輸出關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域中的所有空間對(duì)象的信
肩、O下面通過一個(gè)具體地實(shí)例對(duì)上述空間索引的使用方法進(jìn)行說明。例如:用戶輸入查詢:“馬甸橋附近的住宿”,在接收到次查詢請(qǐng)求后,對(duì)此請(qǐng)求進(jìn)行文本分詞,獲取關(guān)鍵詞“馬甸橋”和“賓館”;使用分類數(shù)據(jù)庫對(duì)關(guān)鍵詞“馬甸橋”進(jìn)行分類得到“北京市地區(qū)”,對(duì)關(guān)鍵詞“住宿”進(jìn)行分類得到“賓館”;使用地址數(shù)據(jù)庫獲取“馬甸橋”對(duì)應(yīng)的地理區(qū)域坐標(biāo);在北京市區(qū)域的賓館類的空間索引內(nèi)查找與“馬甸橋”的地理區(qū)域坐標(biāo)涉及的空間索引的子區(qū)域,包括包含“馬甸橋”的地址區(qū)域坐標(biāo)的子區(qū)域和與“馬甸橋”的地址區(qū)域相交的子區(qū)域;輸出這些子區(qū)域內(nèi)的賓館的信息?;谕话l(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供了一種空間索引的建立裝置和使用裝置,由于該裝置解決問題的原理與前述一種空間索引的建立方法和使用方法相似,因此該裝置的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。本發(fā)明實(shí)施例提供的一種空間索引的建立裝置,如圖5所示,包括:分類單元501,用于使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類;劃分單元502,用于針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件;空間索引建立單元503,使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。進(jìn)一步地,本發(fā)明實(shí)施例提供的上述裝置中的分類單元501,具體用于判斷分類數(shù)據(jù)庫中是否存在與空間對(duì)象的屬性對(duì)應(yīng)的類別;若存在,將空間對(duì)象歸屬到類別中;若不存在,將空間對(duì)象歸屬到使用神經(jīng)網(wǎng)絡(luò)的分類算法計(jì)算出的最接近的類別中。進(jìn)一步地,本發(fā)明實(shí)施例提供的上述裝置中的劃分單元502,具體用于使用四叉樹方式不斷劃分空間區(qū)域,計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度;當(dāng)確定本次劃分后的子區(qū)域的空間對(duì)象密度不大于設(shè)定的密度閾值時(shí),停止使用四叉樹方式劃分本次劃分后的子區(qū)域。或者,進(jìn)一步地,本發(fā)明實(shí)施例提供的上述裝置中的劃分單元502,具體用于使用四叉樹方式不斷劃分空間區(qū)域,計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度和四叉樹的深度;當(dāng)確定本次劃分后的子區(qū)域的空間對(duì)象密度不大于設(shè)定的密度閾值或本次劃分后四叉樹的深度達(dá)到設(shè)定的第一深度閾值時(shí),停止使用四叉樹方式劃分本次劃分后的子區(qū)域。進(jìn)一步地,本發(fā)明實(shí)施例提供的上述裝置中的劃分單元502,具體用于通過下述公式計(jì)算每個(gè)子區(qū)域的空間對(duì)象密度D:D =Σ MBRiZiS ;其中,MBRi為本次劃分后的子區(qū)域內(nèi)的第i個(gè)空間對(duì)象的最小邊界矩形的面積;S為使用四叉樹方式對(duì)空間區(qū)域第一次劃分后的子區(qū)域的面積。進(jìn)一步地,本發(fā)明實(shí)施例提供的上述裝置,如圖5所示,還可以包括:密度閾值單元504,用于設(shè)置初始密度閾值;使用四叉樹方式不斷劃分空間區(qū)域,直至所有子區(qū)域的空間對(duì)象密度均不大于初始密度閾值時(shí),計(jì)算四叉樹的深度;判斷四叉樹的深度是否小于設(shè)定的第二深度閾值,如果是,確定密度閾值為初始密度閾值;如果否,調(diào)整初始密度閾值,對(duì)空間區(qū)域重新進(jìn)行劃分,直至劃分后的所有子區(qū)域的空間對(duì)象密度均不大于調(diào)整后的初始密度閾值且四叉樹的深度小于第二深度閾值,確定密度閾值為調(diào)整后的初始密度閾值。本發(fā)明實(shí)施例還提供了一種使用上述裝置建立的空間索引的使用裝置,如圖6所示,包括:分詞模塊601,用于對(duì)接收到的查詢請(qǐng)求進(jìn)行文本分詞,獲取關(guān)鍵詞;分類模塊602,用于使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)關(guān)鍵詞進(jìn)行分類,得到關(guān)鍵詞所屬的類別;地址獲取模塊603,用于使用地址數(shù)據(jù)庫獲取關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍;搜索模塊604,用于通過遍歷關(guān)鍵詞所屬的類別對(duì)應(yīng)的空間數(shù)據(jù)庫的空間索引,進(jìn)行查找關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域;輸出模塊605,用于輸出關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域中的所有空間對(duì)象的信息。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實(shí)施例可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是⑶-R0M,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明實(shí)施例所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。本發(fā)明實(shí)施例提供的一種空間索引建立方法、使用方法及裝置,使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類;針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件;使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。本發(fā)明通過對(duì)空間對(duì)象的分類,針對(duì)各類空間對(duì)象建立空間索引,能夠降低由于各類空間對(duì)象相互重疊的幾率,并且由于在對(duì)每類空間對(duì)象建立空間索引時(shí),依據(jù)各類空間對(duì)象分布特征,將空間對(duì)象分布密集的空間區(qū)域劃分成更小的區(qū)域,進(jìn)一步降低了出現(xiàn)空間重疊的幾率,從而提高了使用建立的空間索引進(jìn)搜索的速度和精度。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種空間索引的建立方法,其特征在于,包括: 使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類; 針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分所述空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件;使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。
2.按權(quán)利要求1所述的方法,其特征在于,使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類,具體包括: 判斷所述分類數(shù)據(jù)庫中是否存在與所述空間對(duì)象的屬性對(duì)應(yīng)的類別; 若存在,將所述空間對(duì)象歸屬到所述類別中; 若不存在,將所述空間對(duì)象歸屬到使用神經(jīng)網(wǎng)絡(luò)的分類算法計(jì)算出的最接近的類別中。
3.按權(quán)利要求1所述的方法,其特征在于,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分所述空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件,具體包括: 使用四叉樹方式不斷劃分所述空間區(qū)域,計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度; 當(dāng)確定本次劃分后的子區(qū)域的空間對(duì)象密度不大于設(shè)定的密度閾值時(shí),停止使用四叉樹方式劃分所述本次劃分后的子區(qū)域。
4.按權(quán)利要求1所述的方法,其特征在于,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分所述空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件,具體包括: 使用四叉樹方式不斷劃分所述空間區(qū)域,計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度和四叉樹的深度; 當(dāng)確定本次劃分后的子區(qū)域的空間對(duì)象密度不大于設(shè)定的密度閾值或本次劃分后四叉樹的深度達(dá)到設(shè)定的第一深度閾值時(shí),停止使用四叉樹方式劃分所述本次劃分后的子區(qū)域。
5.按權(quán)利要求3或4所述的方法,其特征在于,所述計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度,具體包括: 通過下述公式計(jì)算每個(gè)子區(qū)域的空間對(duì)象密度D: D=E MBRj/S ; 其中,MBRi為本次劃分后的子區(qū)域內(nèi)的第i個(gè)空間對(duì)象的最小邊界矩形的面積;S為使用四叉樹方式對(duì)所述空間區(qū)域第一次劃分后的子區(qū)域的面積。
6.按權(quán)利要求3或4所述的方法,其特征在于,所述密度閾值通過下述方式確定: 設(shè)置初始密度閾值; 使用四叉樹方式不斷劃分所述空間區(qū)域,直至所有子區(qū)域的空間對(duì)象密度均不大于所述初始密度閾值時(shí),計(jì)算四叉樹的深度; 判斷所述四叉樹的深度是否小于設(shè)定的第二深度閾值,如果是,確定所述密度閾值為初始密度閾值;如果否,調(diào)整所述初始密度閾值,對(duì)所述空間區(qū)域重新進(jìn)行劃分,直至劃分后的所有子區(qū)域的空間對(duì)象密度均不大于調(diào)整后的初始密度閾值且四叉樹的深度小于所述第二深度閾值,確定所述密度閾值為調(diào)整后的初始密度閾值。
7.一種如權(quán)利要求1-6任一項(xiàng)所述的方法建立的空間索引的使用方法,其特征在于,包括: 對(duì)接收到的查詢請(qǐng)求進(jìn)行文本分詞,獲取關(guān)鍵詞; 使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)所述關(guān)鍵詞進(jìn)行分類,得到所述關(guān)鍵詞所屬的類別; 使用地址數(shù)據(jù)庫獲取所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍; 通過遍歷所述關(guān)鍵詞所屬的類別對(duì)應(yīng)的空間數(shù)據(jù)庫的空間索引,進(jìn)行查找所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域; 輸出所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域中的所有空間對(duì)象的信息。
8.一種空間索引的建立裝置,其特征在于,包括: 分類單元,用于使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類; 劃分單元,用于針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分所述空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件; 空間索引建立單元,使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。
9.按權(quán)利要求8所述的裝置,其特征在于,所述分類單元,具體用于判斷所述分類數(shù)據(jù)庫中是否存在與所述空間對(duì)象的屬性對(duì)應(yīng)的類別;若存在,將所述空間對(duì)象歸屬到所述類別中;若不存在,將所述空間對(duì)象歸屬到使用神經(jīng)網(wǎng)絡(luò)的分類算法計(jì)算出的最接近的類別中。
10.按權(quán)利要求8所述的裝置,其特征在于,所述劃分單元,具體用于使用四叉樹方式不斷劃分所述空間區(qū)域,計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度;當(dāng)確定本次劃分后的子區(qū)域的空間對(duì)象密度不大于設(shè)定的密度閾值時(shí),停止使用四叉樹方式劃分所述本次劃分后的子區(qū)域。
11.按權(quán)利要求8所述的裝置,其特征在于,所述劃分單元,具體用于使用四叉樹方式不斷劃分所述空間區(qū)域,計(jì)算每次劃分后的各子區(qū)域的空間對(duì)象密度和四叉樹的深度;當(dāng)確定本次劃分后的子區(qū)域的空間對(duì)象密度不大于設(shè)定的密度閾值或本次劃分后四叉樹的深度達(dá)到設(shè)定的第一深度閾值時(shí),停止使用四叉樹方式劃分所述本次劃分后的子區(qū)域。
12.按權(quán)利要求10或11所述的裝置,其特征在于,所述劃分單元,具體用于通過下述公式計(jì)算每個(gè)子區(qū)域的空間對(duì)象密度D:D = Σ MBRiZiS ;其中,MBRi為本次劃分后的子區(qū)域內(nèi)的第i個(gè)空間對(duì)象的最小邊界矩形的面積;S為使用四叉樹方式對(duì)所述空間區(qū)域第一次劃分后的子區(qū)域的面積。
13.按權(quán)利要求10或11所述的裝置,其特征在于,還包括: 密度閾值單元,用于設(shè)置初始密度閾值;使用四叉樹方式不斷劃分所述空間區(qū)域,直至所有子區(qū)域的空間對(duì)象密度均不大于所述初始密度閾值時(shí),計(jì)算四叉樹的深度;判斷所述四叉樹的深度是否小于設(shè)定的第二深度閾值,如果是,確定所述密度閾值為初始密度閾值;如果否,調(diào)整所述初始密度閾值,對(duì)所述空間區(qū)域重新進(jìn)行劃分,直至劃分后的所有子區(qū)域的空間對(duì)象密度均不大于調(diào)整后的初始密度閾值且四叉樹的深度小于所述第二深度閾值,確定所述密度閾值為調(diào)整后的初始密度閾值。
14.一種如權(quán)利要求8-13任一項(xiàng)所述的裝置建立的空間索引的使用裝置,其特征在于,包括: 分詞模塊,用于對(duì)接收到的查詢請(qǐng)求進(jìn)行文本分詞,獲取關(guān)鍵詞; 分類模塊,用于使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)所述關(guān)鍵詞進(jìn)行分類,得到所述關(guān)鍵詞所屬的類別; 地址獲取模塊,用于使用地址數(shù)據(jù)庫獲取所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍; 搜索模塊,用于通過遍歷所述關(guān)鍵詞所屬的類別對(duì)應(yīng)的空間數(shù)據(jù)庫的空間索引,進(jìn)行查找所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域; 輸出模塊,用于輸出所述關(guān)鍵詞對(duì)應(yīng)的地理區(qū)域范圍所涉及的子區(qū)域中的所有空間對(duì)象的信 息。
全文摘要
本發(fā)明公開了一種空間索引的建立方法、使用方法及裝置,使用分類數(shù)據(jù)庫中設(shè)定的類別對(duì)空間數(shù)據(jù)庫中的空間對(duì)象進(jìn)行分類;針對(duì)每一類空間對(duì)象,根據(jù)此類空間對(duì)象在空間區(qū)域內(nèi)的分布,使用四叉樹方式不斷劃分空間區(qū)域,直至劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象的分布滿足設(shè)定的條件;使用R樹方式對(duì)劃分后的每個(gè)子區(qū)域內(nèi)的此類空間對(duì)象建立空間索引。本發(fā)明通過對(duì)各類空間對(duì)象建立空間索引,能夠降低由于各類空間對(duì)象相互重疊的幾率,并且由于在對(duì)每類空間對(duì)象建立空間索引時(shí),依據(jù)各類空間對(duì)象分布特征,將空間對(duì)象分布密集的空間區(qū)域劃分成更小的區(qū)域,進(jìn)一步降低了出現(xiàn)空間重疊的幾率,從而提高了使用建立的空間索引進(jìn)搜索的速度和精度。
文檔編號(hào)G06F17/30GK103092853SQ20111033803
公開日2013年5月8日 申請(qǐng)日期2011年10月31日 優(yōu)先權(quán)日2011年10月31日
發(fā)明者邢輝峰, 溫亮生, 賀贏, 閻嘯天 申請(qǐng)人:中國移動(dòng)通信集團(tuán)公司