專利名稱:障礙物環境中可視移動近鄰的查詢方法
技術領域:
本發明涉及空間數據 庫中的索引和查詢技術,特別是涉及一種障礙物環境中可 視移動近鄰的查詢方法。
背景技術:
空間數據庫是存儲和管理空間數據的數據庫系統。為了快速、有效地訪問海量 空間數據,專家學者提出了大量的空間索引方法,其中有R樹索引、R*樹索引、K-D-B 樹索引、Hilbert曲線索引。在此基礎上,更提出了各種各具特色的查詢及其解決方案, 如近鄰查詢、K近鄰查詢、連續近鄰查詢、反向近鄰查詢、最遠鄰居查詢、skyline查 詢。隨著移動通信技術以及GPS服務的高速發展,在人類生活中,移動數據以難以 預計的速度增長。如此多的應用促使人們尋找更有效的方法來處理移動對象,提高移動 對象的查詢效率。目前移動對象主要通過基于線性函數的TPR樹以及基于空間填充曲線 的Bx樹這兩類索引及其變種來處理。在移動對象的諸多查詢中,近鄰查詢尤為重要。它是其他各種近鄰查詢的基 礎。目前最簡單、最流行的處理方式是以TPR樹對移動對象進行索引,采用分支定界法 來尋找最近鄰居。在現實世界,不可避免地存在許多障礙物,諸如建筑物、高地、森林,遮擋了 人的視線。由于這些障礙物的存在,原先找到的最近鄰居在很大的概率上會被遮擋住, 這樣找到的近鄰在許多應用中并無多大意義,這就要求提供一種新的方法去尋找未被遮 擋的、可視的最近鄰居。目前移動對象在無障礙物的環境中的近鄰查詢已有成熟的解決方法,同時靜止 對象在有障礙物環境中的近鄰查詢也有不少解決方案。在同時考慮物體的移動性以及環 境中存在的大量遮擋物的情況下,并未有一種合適的方法來解決可視近鄰查詢。
發明內容
本發明的目的在于提供一種障礙物環境中可視移動近鄰的查詢方法。本發明解決其技術問題采用的技術方案的步驟如下步驟1)對靜止的障礙物對象采用R樹索引,對移動對象采用TPR樹索引;步驟2)維護一個存放TPR樹索引節點的采用度量的優先隊列以及一個結果列 表,列表中存放了當前滿足可視近鄰條件的候選對象;步驟3)將TPR樹的根節點放入優先隊列,循環訪問隊列中度量最小的索引節 點,度量計算方法與步驟2)相同;步驟4)利用R樹索引來判斷TPR樹索引節點的可視性;步驟5)將可視的索引節點中下面的每個子節點加入到優先隊列里,忽略不可視 的索引節點;
步驟6)直到優先隊列中不存在索引節點,結果列表中的對象就是得到的在障礙 物環境中移動對象的近鄰。所述的步驟2)中的度量指的是在一段時間內優先隊列中的索引節點跟查詢點之 間的最小距離;該度量的計算,分兩種情況考慮1)當索引節點是個移動對象的情況下,計算跟查詢點之間在一段時間內的最小 距離;由于移動對象表示為關于時間的線性函數,根據數學原理,這兩者之間的距離表 示為關于時間的二次函數,于是該度量則為這一個二次函數在這段時間內的最小值;2)當索引節點是TPR樹上的中間索引節點時,由于其是個移動的四邊形,綜合 考慮各條邊,得到該索引節點跟查詢點的距離是個分段函數,并且在每個是基于時間的 二次函數,于是該度量是該分段函數在這段時間內的最小值。所述的步驟4)中可視性計算的步驟包括1)得到當前索引節點的方位以及速度信息;2)根據該索引節點在這段時間內掃過的范圍,在R樹索引中尋找相應有效的遮 擋體;3)根據這些有效的遮擋體,計算該TPR樹索引節點的可視效果;4)這里的有效的遮擋體是指相對于查詢點,能影響索引節點和移動對象的可視 效果的遮擋體。所述的步驟5)對于被判為不可視的索引節點,在其索引下的所有索引子節點, 肯定是不可視的,因此無需再訪問下去;而對于被判為可視的索引節點,說明在其下的 索引子節點中存在可視的情況;這種情況下,需分兩種情況考慮A)該節點是中間索引節點這種狀況下對于其下的索引子節點分三步處理a)比較該索引子節點跟查詢點之間距離同結果列表中的該時間段的候選對象跟 查詢點之間的距離;獲取前者距離較小的時間段,如若得不到,則說明該索引子節點在 這段時間內不可能是個近鄰,也無需下面的步驟b);b)求取步驟4)得到的可視時間段以及上一步驟中得到的距離時間段的交集,在 該交集中,該索引子節點才有可能是查詢點的可視近鄰;c)計算在該交集下的該索引子節點跟查詢點的最小距離,作為其度量,再將該 索引子節點添加到優先隊列里;B)該索引節點是移動對象這種狀況對于該節點的處理分三步a)比較該節點跟查詢點之間距離同結果列表中的該時間段的候選對象跟查詢點 之間的距離;獲取前者距離較小的時間段,如若得不到,則說明該索引節點在這段時間 內不可能是個近鄰,也無需下面的步驟b)。b)求取步驟4)得到的可視時間段以及上一步驟中得到的距離時間段的交集,在 該交集中,該索引節點才有可能是查詢點的可視近鄰。c)在前一步中得到的時間段交集中,該索引節點是當前的可視最近鄰居,于是 更新結果列表中這段時間的候選近鄰。所述的A)、B)中a)中比較索引節點跟查詢點之間距離同結果列表中該時間段 的候選對象跟查詢點之間的距離分為三步1)根據結果列表,確定各個分段時間及其對應的候選對象;
2)根據權利要求2中第二種情況下所述的方法,計算索引節點跟查詢點在各個 分段的距離;3)求取索引節點跟查詢點距離小于候選對象的時間段。所述的B)中的c)中得到的當前最近鄰居的候選對象,將其更新到結果列表中; 這一更新分為四步1)根據結果列表,確定各個分段時間及其對應的候選對象;2)確定第二步中的b)得到的時間段交集;3)計算上面兩步時間段的交集;4)以新的候選對象更新在得到的時間段交集下的結果列表。本發明具有的有益效果是本發明充分利用了空間數據庫中現有索引技術、移動對象近鄰查詢技術以及在 有障礙環境下的研究和實現成果,提供了在障礙環境中查詢某段時間內未被阻擋的移動 對象,使用者可根據應用需求選擇最合適的查詢時段,提供最好的性能。
圖1是本發明實施步驟流程圖。圖2是移動對象在障礙物環境中查詢未被遮擋的近鄰的工作原理示意圖。
具體實施例方式現結合附圖和具體實施例對本發明的技術方案作進一步說明。1、如圖1所示,本發明具體實施過程和工作原理如下步驟1)對空間數據進行索引,即對靜止的障礙物采用R樹索引,對移動對象采 用TPR樹索引;步驟2)維護一個存放TPR樹索引節點的采用度量的優先隊列以及一個結果列 表,列表中存放了當前滿足可視近鄰條件的候選對象;步驟3)遍歷移動對象索引,將TPR樹的根節點放入優先隊列,循環訪問隊列中 度量最小的節點;步驟4)利用R樹索引判斷遮擋效果,計算索引節點未被遮擋的時間;步驟5)計算可視索引節點的子節點跟查詢點之間的距離,將其加入到優先隊列 里,忽略不可視索引節點;步驟6)更新結果列表,直到優先隊列中不存在索引節點,結果列表中的對象就 是得到的在障礙物環境中移動對象的近鄰。本發明中需要處理的對象有靜止的障礙物以及移動對象,如圖2的索引模塊所 示,根據各自的特性,在步驟1)中分別采用R樹索引和TPR樹索引對應于圖2中的障礙 物索引和移動對象索引。步驟2)中的度量指的是在一段時間內優先隊列中的索引節點跟查詢點之間的 最小距離;該度量由圖2中所示的距離計算比較器計算所得,其計算過程分兩種情況考 慮1)當索引節點是個移動對象的情況下,計算跟查詢點之間在一段時間內的最小距離;由于移動對象表示為關于時間的線性函數,根據數學原理,這兩者之間的距離表 示為關于時間的二次函數,于是該度量則為這一個二次函數在這段時間內的最小值;2)當索引節點是TPR樹上的中間索引節點時,由于其是個移動的四邊形,綜合 考慮各條邊,得到該索引節點跟查詢點的距離是個分段函數,并且在每個是基于時間的 二次函數,于是該度量是該分段函數在這段時間內的最小值。步驟3)將TPR樹的根節點放入優先隊列,遍歷移動對象索引,循環訪問隊列中 度量最小的節點,其中的度量與步驟2)中所述的度量相同。接下來判斷遮擋效果,計算索引節點未被遮擋的時間,由圖2所示的遮擋計算 器計算獲得,具體的可視性計算的步驟包括1)得到當前索引節點的方位以及速度信息;2)根據該索引節點在這段時間內掃過的范圍,在R樹索引中尋找相應有效的遮 擋體;3)根據這些有效的遮擋體,計算該TPR樹索引節點的可視效果;4)這里的有效的遮擋體是指相對于查詢點,能影響索引節點和移動對象的可視 效果的遮擋體。對于被判為不可視的索引節點,在其索引下的所有索引子節點,肯定是不可視 的,因此無需再訪問下去;而對于被判為可視的索引節點,說明在其下的索引子節點中 存在可視的情況;這種情況下,需分兩種情況考慮1)該節點是中間索引節點這種狀況下對于其下的索引子節點分三步處理a)比較該索引子節點跟查詢點之間距離同結果列表中的該時間段的候選對象跟 查詢點之間的距離;獲取前者距離較小的時間段,如若得不到,則說明該索引子節點在 這段時間內不可能是個近鄰,也無需下面的步驟b);b)求取步驟4)得到的可視時間段以及上一步驟中得到的距離時間段的交集,在 該交集中,該索引子節點才有可能是查詢點的可視近鄰;c)計算在該交集下的該索引子節點跟查詢點的最小距離,作為其度量,再將該 索引子節點添加到優先隊列里;2)該索引節點是移動對象這種狀況對于該節點的處理分三步a)比較該節點跟查詢點之間距離同結果列表中的該時間段的候選對象跟查詢點 之間的距離;獲取前者距離較小的時間段,如若得不到,則說明該索引節點在這段時間 內不可能是個近鄰,也無需下面的步驟b)。b)求取步驟4)得到的可視時間段以及上一步驟中得到的距離時間段的交集,在 該交集中,該索引節點才有可能是查詢點的可視近鄰。c)在前一步中得到的時間段交集中,該索引節點是當前的可視最近鄰居,于是 更新結果列表中這段時間的候選近鄰。在圖2的距離計算比較器中比較索引節點跟查詢點之間距離同結果列表中該時 間段的候選對象跟查詢點之間的距離具體分為三步1)根據結果 列表,確定各個分段時間及其對應的候選對象;2)根據權利要求2中第二種情況下所述的方法,在距離計算比較器中計算索引 節點跟查詢點在各個分段的距離;
3)求取索引節點跟查詢點距離小于候選對象的時間段。對于得到的當前最近鄰居的候選對象,將其更新到結果列表中,由圖2的查詢 處理器完成,更新方法具體分為四步1)根據結果列表,確定各個分段時間及其對應的候選對象;2)通過距離比較器,計算得到的時間段交集;3)計算上面兩步得到的時間段的交集;4)以新的候選對象更新在得到的時間段交集下的結果列表。
權利要求
1.一種障礙物環境中可視移動近鄰的查詢方法,其特征在于其特征在于該方法的步 驟如下步驟1)對靜止的障礙物對象采用R樹索引,對移動對象采用TPR樹索引;步驟2)維護一個存放TPR樹索引節點的采用度量的優先隊列以及一個結果列表,列 表中存放了當前滿足可視近鄰條件的候選對象;步驟3)將TPR樹的根節點放入優先隊列,循環訪問隊列中度量最小的索引節點,度 量計算方法與步驟2)相同;步驟4)利用R樹索引來判斷TPR樹索引節點的可視性;步驟5)將可視的索引節點中下面的每個子節點加入到優先隊列里,忽略不可視的索 引節點;步驟6)直到優先隊列中不存在索引節點,結果列表中的對象就是得到的在障礙物環 境中移動對象的近鄰。
2.根據權利要求1所述的一種障礙物環境中可視移動近鄰的查詢方法,其特征在于 所述的步驟2)中的度量指的是在一段時間內優先隊列中的索引節點跟查詢點之間的最小 距離;該度量的計算,分兩種情況考慮1)當索引節點是個移動對象的情況下,計算跟查詢點之間在一段時間內的最小距 離;由于移動對象表示為關于時間的線性函數,根據數學原理,這兩者之間的距離表示 為關于時間的二次函數,于是該度量則為這一個二次函數在這段時間內的最小值;2)當索引節點是TPR樹上的中間索引節點時,由于其是個移動的四邊形,綜合考慮 各條邊,得到該索引節點跟查詢點的距離是個分段函數,并且在每個是基于時間的二次 函數,于是該度量是該分段函數在這段時間內的最小值。
3.根據權利要求1所述的一種障礙物環境中可視移動近鄰的查詢方法,其特征在于 所述的步驟4)中可視性計算的步驟包括1)得到當前索引節點的方位以及速度信息;2)根據該索引節點在這段時間內掃過的范圍,在R樹索引中尋找相應有效的遮擋體;3)根據這些有效的遮擋體,計算該TPR樹索引節點的可視效果;4)這里的有效的遮擋體是指相對于查詢點,能影響索引節點和移動對象的可視效果 的遮擋體。
4.根據權利要求1所述的一種障礙物環境中可視移動近鄰的查詢方法,其特征在于 所述的步驟5)對于被判為不可視的索引節點,在其索引下的所有索引子節點,肯定是不 可視的,因此無需再訪問下去;而對于被判為可視的索引節點,說明在其下的索引子節 點中存在可視的情況;這種情況下,需分兩種情況考慮1)該節點是中間索引節點這種狀況下對于其下的索引子節點分三步處理a)比較該索引子節點跟查詢點之間距離同結果列表中的該時間段的候選對象跟查詢 點之間的距離;獲取前者距離較小的時間段,如若得不到,則說明該索引子節點在這段 時間內不可能是個近鄰,也無需下面的步驟b);b)求取步驟4)得到的可視時間段以及上一步驟中得到的距離時間段的交集,在該交 集中,該索引子節點才有可能是查詢點的可視近鄰;C)計算在該交集下的該索引子節點跟查詢點的最小距離,作為其度量,再將該索引 子節點添加到優先隊列里;2)該索引節點是移動對象這種狀況對于該節點的處理分三步a)比較該節點跟查詢點之間距離同結果列表中的該時間段的候選對象跟查詢點之間 的距離;獲取前者距離較小的時間段,如若得不到,則說明該索引節點在這段時間內不 可能是個近鄰,也無需下面的步驟b)。b)求取步驟4)得到的可視時間段以及上一步驟中得到的距離時間段的交集,在該交 集中,該索引節點才有可能是查詢點的可視近鄰。c)在前一步中得到的時間段交集中,該索引節點是當前的可視最近鄰居,于是更新 結果列表中這段時間的候選近鄰。
5.根據權利要求4所述的一種障礙物環境中可視移動近鄰的查詢方法,其特征在于 所述的兩個步驟1)、2)中a)中比較索引節點跟查詢點之間距離同結果列表中該時間段的 候選對象跟查詢點之間的距離分為三步1)根據結果列表,確定各個分段時間及其對應的候選對象;2)根據權利要求2中第二種情況下所述的方法,計算索引節點跟查詢點在各個分段 的距離;3)求取索引節點跟查詢點距離小于候選對象的時間段。
6.根據權利要求4所述的一種障礙物環境中可視移動近鄰的查詢方法,其特征在于 所述的在第二步驟中的C)中得到的當前最近鄰居的候選對象,將其更新到結果列表中; 這一更新分為四步1)根據結果列表,確定各個分段時間及其對應的候選對象;2)確定第二步中的b)得到的時間段交集;3)計算上面兩步時間段的交集;4)以新的候選對象更新在得到的時間段交集下的結果列表。
全文摘要
本發明公開了一種障礙物環境中可視移動近鄰的查詢方法。利用空間數據庫中移動對象的近鄰查詢技術,在存在障礙物的環境中,將現有分支定界方法運用到未被遮擋的近鄰的查詢之中。在空間數據中,對障礙物運用R樹索引,對于移動對象,采用TPR樹索引,利用分支定界法遍歷索引,同時結合移動對象的遮擋時間計算來實現查詢。利用了空間數據庫中現有索引技術、移動對象近鄰查詢技術以及在有障礙環境下的研究和實現成果,提供了在障礙環境中查詢某段時間內未被阻擋的移動對象,使用者可根據應用需求選擇最合適的查詢時段,提供最好的性能。
文檔編號G06F17/30GK102012908SQ20101054543
公開日2011年4月13日 申請日期2010年11月12日 優先權日2010年11月12日
發明者壽黎但, 龐貴鋒, 胡天磊, 陳剛, 陳珂 申請人:浙江大學