新四季網

一種POI數據檢索方法及裝置與流程

2023-07-29 06:59:06


本發明涉及資料庫領域,尤其涉及一種poi數據檢索方法及裝置。



背景技術:

目前,越來越多的用戶在電子地圖中查詢poi(pointofinterest,興趣點),資料庫中存儲的poi數據為poi查詢提供數據支撐。

現有技術中,將母庫poi數據存儲到支持海量存儲的oracle資料庫中,通過建立索引,執行對poi數據的查詢、刪除、備份等操作。也有將母庫poi數據存儲到mangodb資料庫中,並僅在mangodb資料庫中執行對poi數據的查詢操作。

但是,上述兩種資料庫查詢poi數據的效率較低。



技術實現要素:

本發明實施例提供了一種poi數據檢索方法及裝置,在保證檢索poi數據準確性的同時,提高了查詢poi數據的效率。

一方面,本發明實施例提供了一種poi數據檢索方法,包括:

接收用戶輸入的poi的位置信息;

根據所述poi的位置信息,以及預設的查詢距離,在mangodb資料庫中執行查詢操作;

根據mangodb的查詢結果,在lucene中建立索引,並進行全文檢索,得到目標poi。

在所述接收用戶輸入的poi的位置信息之前,還包括:

將poi母庫數據導入到mangodb資料庫中。

所述根據所述poi的位置信息,以及預設的查詢距離,在mangodb數 據庫中執行查詢操作包括:

在mangodb資料庫中建立以所述poi的位置信息為圓心,以所述預設的查詢距離為半徑的數據緩衝區;

在所述數據緩衝區中查詢poi數據。

在所述根據所述poi的位置信息,以及預設的查詢距離,在mangodb資料庫中執行查詢操作之後還包括:

計算所查詢到的位置信息與所述poi的位置信息之間的距離;

按照所述距離從小到大的順序輸出查詢結果。

所述poi母庫中的位置數據由gdal開源庫將所述位置數據轉換成bson格式插入到mangodb資料庫中。另一方面,本發明實施例還提供了一種poi數據檢索裝置,用於執行上述poi數據檢索方法,所述裝置包括:

接收模塊,用於接收用戶輸入的poi的位置信息;

查詢模塊,用於根據所述poi的位置信息,以及預設的查詢距離,在mangodb資料庫中執行查詢;

目標poi獲取模塊,用於根據mangodb的查詢結果,在lucene中建立索引,並進行全文檢索,得到目標poi。

所述裝置還包括導入模塊,

所述導入模塊用於將poi母庫數據導入到mangodb資料庫中。

所述查詢模塊包括:

數據緩衝區建立模塊,用於在mangodb資料庫中建立以所述poi的位置信息為圓心,以所述預設的查詢距離為半徑的數據緩衝區;

執行模塊,用於在所述數據緩衝區建立模塊建立的數據緩衝區中,執行查詢poi數據的步驟。

所述裝置還包括:

計算模塊,用於計算所查詢到的位置信息與所述poi的位置信息的距離;

輸出模塊,用於按照所述距離從小到大的順序輸出查詢結果。

所述裝置還包括:

轉換模塊,用於將所述poi母庫中的位置數據由gdal開源庫將所述位置數據轉換成bson格式插入到mangodb資料庫中。

本發明實施例提供的一種poi數據檢索方法及裝置,充分運用了mangodb資料庫對空間數據查詢的支持,以及lucene對全文檢索的支持,將兩者的優勢結合起來,提高了poi數據查詢的效率。

附圖說明

此處所說明的附圖用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:

圖1為本發明實施例提供的一種poi數據檢索方法的流程示意圖;

圖2為本發明實施例提供的一種poi數據檢索方法的創建索引流程圖;

圖3為本發明實施例提供的一種poi數據檢索方法的全文檢索的處理流程圖;

圖4為本發明實施例提供的一種poi數據檢索裝置的結構示意圖。

具體實施方式

如在說明書及權利要求當中使用了某些詞彙來指稱特定組件。本領域技術人員應可理解,硬體製造商可能會用不同名詞來稱呼同一個組件。本說明書及權利要求並不以名稱的差異來作為區分組件的方式,而是以組件在功能上的差異來作為區分的準則。如在通篇說明書及權利要求當中所提及的「包含」為一開放式用語,故應解釋成「包含但不限定於」。「大致」是指在可接收的誤差範圍內,本領域技術人員能夠在一定誤差範圍內解決所述技術問題,基本達到所述技術效果。本發明的保護範圍當視所附權利要求所界定者為準。

每個poi包含四個方面的信息:名稱,類別,經度,緯度,其中類別又分為大類,小類,比如poi數據包含100:餐飲服務,200:公共設施,300:公司企業,400:購物服務,500:交通設施服務,600:金融保險服務,700: 科教文化服務等等大類,而在600:金融保險服務下又包含601:保險公司,602:金融保險服務機構,603:銀行,604:銀行相關,605:證券公司,606:自動提款機等小類。

如圖1所示,本發明實施例提供的一種poi數據檢索方法包括:

s100:接收用戶輸入的位置信息。

這裡所說的位置信息一般指的是poi的經度和緯度信息,也就是poi的地理坐標。

s200:根據poi的位置信息,以及預設的查詢距離,在mangodb資料庫中,執行查詢操作。

在該步驟中,具體的查詢操作步驟包括:

s210:在mangodb資料庫中建立以poi的位置信息為圓心,以預設的查詢距離為半徑的數據緩衝區;

s220:在建立的數據緩衝區中查詢poi數據。

比如,輸入的poi位置信息,也就是地理坐標為:113.332205°e,23.156263°n。預設的查詢距離為1000米,則建立以113.332205°w,23.156263°n為圓心,以1000米為半徑的一個數據緩衝區,在建立的數據緩衝區中查詢poi數據具體為:遍歷所建立的數據緩衝區的數據。

具體查詢方法如下:

db.lbs.find({loc:{$near:{$geometry:{type:″point″,coordinates:[113.332205,23.156263]},$maxdistance:1000}}})

其中,lbs(locationbasedservice,基於位置的服務)是mangodb資料庫的一個表。

在本發明實施例中,執行步驟s200之前還包括:將poi母庫數據導入到mangodb資料庫中,導入到mangodb資料庫的欄位包括:id,name,kind,address,tel,x,y,citycode,除了坐標x,y之外的欄位id,name,kind,address,tel,citycode可以直接插入到mangodb,而因為地理坐標是二維結構,需要按照二維結構存儲到mangodb資料庫中, 因此地理坐標x,y需要利用gdal開源庫將poi的x,y欄位轉換成bson格式插入到mangodb中。具體轉換方法如下:

將母庫poi導入到mangodb資料庫中之後,需要建立索引,索引分為普通索引和空間索引,一般情況下,除地理坐標x,y之外的欄位建立普通索引,地理坐標建立空間索引,普通索引如:db.lbs.ensureindex({name:1}),空間索引如:db.lbs.ensureindex({loc:″2dsphere″}),這裡建立索引的目的是為了後續的查詢能夠快速進行。

在步驟s220中,可選地,將查詢結果按照距離所接收的poi的位置信息由近及遠輸出,具體操作步驟為:

s221:計算所查詢到的位置信息與poi的位置信息之間的距離;

s222:按照距離從小到大的順序輸出查詢結果。

可選地,輸出查詢結果的格式為json格式,然後從json格式的輸出結果中解析出id,name,kind,address,tel,x,y,citycode等欄位,解析完畢後,執行步驟s300:根據mangodb的查詢結果,在lucene中建立索引,並進行全文檢索,得到目標poi。在該步驟中,首先按照lucene的索引機制建立內存索引庫,具體執行為:

因為在該步驟中,直接利用lucene進行全文檢索,而不再需要執行空間查詢的步驟,因此沒有必要把地理坐標存儲到內存資料庫了。具體地,如圖2所示,創建索引的流程為首先將字符串string輸入分詞器analyzer進行分析,也就是對字符串string進行分詞,將字符串分成多個欄位field,將分成的多個欄位field組合成一個文檔document,也就是說,文檔document包含了mangodb資料庫的查詢結果中的各個欄位,比如id,name,kind等欄位,然後通過索引創建器indexwriter將文檔document寫入到內存中,形成目錄directory,生成內存索引資料庫。

經過mangodb資料庫的初步查詢,即空間數據查詢之後,已經縮小了poi數據檢索的範圍,再通過lucene的全文檢索,便可得到目標poi數據。舉例來說,如果檢索「北京四維圖新科技股份有限公司″,按照一般的文檢索的步驟如圖3所示,全文檢索的優勢就在於對整個字符串進行分析檢索,並計算各個部分的權重,選出最相似的poi。例如,全文檢索「北京四維圖新科技股份有限公司」,按照非全文檢索的分詞算法,可檢索「北京」,「四維」,「圖」,「新」,「科技」,「股份」,「有限」,「公司」等關鍵字,因為「圖新」一般認為是未登陸詞,所以一般的非全文檢索的索引智能按照單個字分詞,而在lucene中,則會根據每條poi含有以上關鍵詞的數量、包含順序、關鍵詞出現位置等計算出所檢索到的數據和需要檢索的poi數據之間的相似度,並按照相似度的大小排序給出檢索結果。由上述實施例可以看出,本發明實施例提供的poi數據檢索方法,充分運用了mangodb資料庫對空間數據查詢的支持,以及lucene對全文檢索的支持,將兩者的優勢結合起來,提高了poi數據查詢的效率。

基於相同的發明構思,本申請還提供了一種poi數據檢索裝置,包括:接收模塊410,用於接收用戶輸入的poi的位置信息;查詢模塊420,用於根據poi的位置信息,以及預設的查詢距離,在mangodb資料庫中執行查詢;目標poi獲取模塊430,用於根據mangodb的查詢結果,在lucene中建立索引,並進行全文檢索,得到目標poi。

優選地,前述的poi數據檢索裝置還包括導入模塊,用於將poi母庫數據導入到mangodb資料庫中。

優選地,前述的poi數據檢索裝置中的查詢模塊420還包括數據緩衝區模塊,用於在mangodb資料庫中建立以poi的位置信息為圓心,以預設的查詢距離為半徑的數據緩衝區;執行模塊,用於在數據緩衝區建立模塊建立的數據緩衝區中,執行查詢poi數據的步驟。

優選地,前述poi數據檢索裝置還包括計算模塊,用於計算所查詢到的位置信息與poi的位置信息的距離;輸出模塊,用於按照距離從小到大的順序輸出查詢結果。

優選地,前述的poi數據檢索裝置,還包括轉換模塊,用於將poi母庫中的位置數據由gdal開源庫將位置數據轉換成bson格式插入到mangodb資料庫中。

由上述實施例可以看出,本發明實施例提供的poi數據檢索裝置,用以實現poi數據檢索方法,充分運用了mangodb資料庫對空間數據查詢的支持,以及lucene對全文檢索的支持,將兩者的優勢結合起來,提高了poi數據查詢的效率。

上述說明示出並描述了本發明的若干優選實施例,但如前所述,應當理解本發明並非局限於本文所披露的形式,不應看作是對其他實施例的排除,而可用於各種其他組合、修改和環境,並能夠在本文所述發明構想範圍內,通過上述教導或相關領域的技術或知識進行改動。而本領域人員所進行的改動和變化不脫離本發明的精神和範圍,則都應在本發明所附權利要求的保護範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀