一種基於矢量網格進行空間動目標位置計算的方法與流程
2023-05-22 04:13:51 1

本發明屬於gis顯示技術領域,涉及一種基於矢量網格進行空間動目標位置計算的方法,適用於二維和三維顯示環境。
背景技術:
基於矢量數據的空間動目標位置計算是gis系統中一種重要應用,在三維遊戲、空中管制系統以及軍用的態勢告警系統中都有著廣泛的應用。目前,常用的矢量數據動目標位置計算是通過遍歷矢量數據,依次計算動目標位置和所有矢量點的距離得到距離最近的那個距離,這種方法僅在數據量小,矢量數據所構成的圖形簡單時能得到很好的應用,一旦面對海量矢量數據,或者矢量數據構成的複雜不規則圖形時,其性能低、運算量大的弊端就明顯的體現出來了。
針對遍歷所有矢量數據所帶來的效率較低、計算量大的弊端,目前的改進方法通過對原始矢量數據做預處理,利用簡化矢量圖形的方法將原始點的密度減小,使得簡化後的矢量圖形能夠儘可能多的保留原始數據的特性,其根本目的是為了減少參與運算的矢量數據。這種方法在需要進行大規模計算且精度要求不高的情況下能得到很好的應用,但無法滿足精度要求高的應用場景。
網格化的思想最早出現在三維應用場景中,通過構建網格化的空間坐標系,實現對三維場景下靜態目標、動態目標的精準定位。網格化的思想,對於三維場景下位置計算應用是一種降維處理的思想。假設需要在三維場景下計算某個目標與指定參考範圍內的其他目標位置,通常的做法是以該目標為中心建立一個球面,以參考範圍作為這個球體的最大半徑,首先需遍歷和球面相交的其他目標,而這個過程是非常耗時的。引入網格化的思想後,將該目標包括其周邊一定區域做網格化處理,搜尋指定參考範圍內的其他目標也從面上的操作變成了線上的操作,其複雜度、時間消耗都得到了降低。
通常情況下,空間動目標具有方向、速度方面的不確定性,在基於矢量數據進行動目標位置信息分析時,不能直接簡單的引用網格化的方法。在進行動目標位置分析計算時,通常的做法是將動目標及其參考範圍內的空間進行網格化的劃分,劃分的粒度是一樣的,這種方法適用於動目標位置變化不劇烈、速度較低、參考範圍較小的情況。一旦動目標方向、速度變化劇烈,參考範圍較大,簡單的相同顆粒度空間網格化劃分方法就不太適用了。我們需要針對空間動目標的特殊性,對原始的簡單的空間網格化方法進行改進,以適用於基於矢量數據的動目標位置分析。
技術實現要素:
發明目的:為了解決現有技術在海量矢量數據條件下無法高效進行空間動目標實時位置信息計算的問題,本發明提供一種基於網格化矢量數據處理計算空間動目標的方法,該方法可以應用於二維場景或三維場景中,通過構建適合海量矢量數據的網格化處理機制,結合空間動目標的特性,實現空間動目標位置高效分析、高精度計算的能力。
技術方案:為了實現上述目的,本發明中基於矢量網格進行空間動目標位置計算的方法包括以下步驟:
(1)根據預設精度進行多層次網格劃分,所述網格的顆粒度由內向外按層次增加,將所有矢量數據分布在最內層的網格中;
(2)對於最內層的每個網格,根據分布在其內的矢量數據所包含的位置信息獲取該網格的最大似然位置信息,然後由內向外逐層次獲取各外層網格的最大似然位置信息;
(3)對於空間中某一運動目標,沿著空間動目標的當前運動方向做一條射線,得到該方向上對應的最內層網格,根據該運動目標當前所在網格與其運動方向上的最內層網格之間的距離與預設參考距離之間的差值以及該運動目標當前速度與預設的速度閾值之間的關係確定該運動目標的位置信息。
其中,步驟(1)中各層次網格的顆粒度為:其中,m表示網格的層次,prk為預設精度,rearth為地球半徑。
其中,步驟(2)中獲取第m個最內層網格的最大似然位置信息,具體為:
1)設該網格中第i個矢量數據所包含的經緯度位置信息為vi,將該位置信息做直角化處理得到相應的直角坐標系坐標{xi,yi};
2)在直角坐標系中計算所有矢量數據的數學期望,
3)獲取第i個矢量數據距離該數學期望的距離得到其分布概率
4)計算該網格的最大似然位置信息其中,n為該網格中矢量數據的個數。
其中,步驟(2)中獲取某一外層網格的最大似然位置信息,具體為:
1)以該網格的四個頂點計算該網格中心點的參考位置信息;
2)在與該網格鄰接的內層網格中,找到與該網格中心點距離最短的內層網格,記該網格中心點到該內層網格的距離為distancecenter;獲取該網格各頂點與該內層網格的距離,記第j個頂點到該內層網格的距離為distancepj;
3)計算該網格的最大似然位置信息其中,ppj為該網格的第j個頂點的位置信息,
其中,步驟(3)中對於某一運動目標,其位置信息計算公式為:
式中,ε為預設的距離差閾值,ω為預設的速度閾值,δtarget為該運動目標當前所在網格與其運動方向上的最內層網格之間的距離與預設參考距離之間的差值,p(m,j)為該運動目標當前所在網格的位置信息,p(α,β)為該運動目標當前運動方向上的射線所經過的各層網格的位置信息。
有益效果:本發明中基於矢量網格進行空間動目標位置計算的方法首先對原始矢量數據進行網格化劃分,根據實際使用的精度要求設置網格化的顆粒度,在保證精確度的前提下降低了利用矢量數據進行空間動目標位置計算的時間消耗,提高了計算性能;同時,可以並行計算不同精度下的矢量網格空間動目標位置信息,針對實際應用場景對精確度的要求進行實時調整;對單個網格根據矢量數據分布情況建立概率分布統計模型計算其最大似然位置信息,使得整個網格空間內所有的網格都具有高精度的位置信息屬性,進一步提高了空間動目標位置計算的效率與精確度;網格化預處理的兩個過程都採用了並發技術,提高了預處理的效率,特別適用於矢量數據量大、精度範圍廣的情況;綜合考慮空間動目標的速度、方向、參考範圍,根據需要、應用場景的不同採用不同的計算方法進行動目標位置信息的計算,在保證計算精度的情況下提高了計算效率。
附圖說明
圖1是本發明中基於矢量網格進行空間動目標位置計算的方法的流程示意圖;
圖2是需進行網格化處理的原始矢量數據示意圖;
圖3是利用本發明方法進行原始矢量數據網格化劃分示意圖;
圖4是經過概率統計模型處理後的矢量網格示意圖;
圖5是利用本發明方法結合矢量網格對空間動目標位置計算的示意圖,圖5(a)為距離在閾值內、速度超過閾值的情況;圖5(b)為距離超過閾值,速度在閾值內的情況。
具體實施方式
下面結合附圖對本發明作進一步的詳細描述。
如圖1所示,本發明中基於矢量網格進行空間動目標位置計算的方法,包括以下步驟:
步驟1、加載原始矢量數據,進行矢量數據網格劃分處理,如圖2所示。指定劃分精度prk,根據劃分精度計算最內層網格顆粒度最內層網格是完全將矢量數據進行劃分的網格,以國界線為例,國界線所包含的全部矢量數據在最內層的一系列網格上是隨機分布的。其下標0表示最內層網格,記錄0層每個網格所分布的矢量數據。緊貼最內層,即0層的外圍網格,定義為1層網格,以此類推。顆粒度計算公式如下:,
prk∈{prmin,pr1,…,prmax}
其中rearth表示地球半徑。上述公式中各參數如圖3所示,根據最內層網格顆粒度,可以推算出外圍的網格劃分顆粒度,如下公式:
步驟2、以基於步驟1所獲得的矢量網格為基礎,進行矢量網格概率統計。如圖4所示,遍歷0層網格,對每個網格利用大熵概率分布統計模型基於其內部的矢量數據計算最大似然位置信息。對於外層的網格根據其四個點的位置以及所靠近的內層的網格的位置信息,建立概率統計模型,計算其最大似然位置,依此類推。具體算法如下:
a)遍歷0層網格,根據步驟1的記錄獲得每個網格的矢量數據。
記單個矢量數據為v,每個網格所包含的矢量數據為{vm1、…、vmn},其中m表示網格的索引號,n表示當前網格矢量數據的索引號,n在不同網格的數量不一定相等。
b)根據數據建立概率分布統計模型。
針對步驟a)中每個網格抽取出的對應矢量數據計算離散數據的分布概率。矢量數據包含位置信息如下:
vmi={vlong.,vlat.}
在二維情況下矢量數據是通過經緯度來表示的,利用通用的經緯度二維直角轉換公式對其做直角化處理,得到的結果記為:
rightanglev={xv,yv}
由於矢量數據在0層網格的分布是隨機的,對於第m個0層網格,該網格所有矢量數據的數學期望值:
對於該網格中的第i個矢量數據,該矢量數據到數學期望的距離為:
則對應的分布概率為:
根據每個網格所包含的矢量數據求得該網格最大似然位置信息為:
其中vmi=(xmi,ymi)表示網格m所包含的矢量數據,矢量數據的個數為n。
c)計算外圍網格的位置信息,篩選出離網格最近的內部網格:
記需要計算位置信息的外圍網格為gridouter,網格的四個頂點位置參照所在矢量圖的位置記為pp1、pp2、pp3、pp4,計算網格的中心點參考位置信息pcenter,
記與gridouter接邊的內部網格{gridinner1,gridinner2,…,gridinnerk},其對應的位置信息為{pinner1,pinner2,…,pinnerk},計算pcenter與每個位置的距離,選取距離最短的內部網格作為計算參照對象。直角化處理後計算距離的公式為:
其中,i∈{1,2,…,k},選取距離最短的網格作為計算參照對象。
記距離最短的內部網格為gridinner-min,其位置信息為(xinner-min,yinner-min),待計算網格gridouter四個點距離內部網格的距離概率分布計算如下:
其中,j∈{1,2,3,4}為外部網格四個點的序號,pouter為外部網格的最大似然位置。
步驟3、進行空間動目標位置計算,記空間動目標為target,目標的實時速度、當前方向、參考距離分別標記為vtarget、dtarget、rtarget,針對不同的應用場景,計算所採取的方法也不一樣。記空間動目標的位置信息為ptarget,在矢量數據為國界線的情況下,ptarget即空間動目標相對於國界線的實時位置。如圖5所示,沿著空間動目標的當前方向dtarget做一條射線,得到該方向上對應的0層網格grid(0,k),下標中的k表示該網格的索引號,記動目標當前所在網格為grid(m,j),下標中的m表示網格所在的層次,j表示網格在該層次上的索引號。根據0層網格的位置信息p(0,k)以及當前所在網格的位置信息p(m,j)計算之間沿著dtarget方向上的距離,如下:
根據distance(m,j)(0,k)與參考範圍rtarget的差值δtarget=distance(m,j)(0,k)-rtarget,採用不同的方法計算動目標位置信息,公式如下:
公式中的ε和ω分別表示人為根據使用經驗和需求選擇的距離差閾值、速度閾值。如圖5(a)所示,當距離在閾值內、速度超過閾值即速度很快、動目標位置變化劇烈時,空間動目標的位置和它所在網格關聯的內部網格有關;如圖5(b)所示,當距離超過閾值,速度在閾值內即速度慢、動目標位置變化不劇烈時動目標所在網格的位置信息即它的位置信息。其中關聯網格即為步驟3中通過由動目標位置發出的一條與國界線距離最短的線段上所經過的網格。p(α,β)表示內部0層至m層線段所經過網格的位置信息,此時β表示在α層時網格的索引。
本發明方法同樣適用於三維場景,只需將二維平面坐標系擴展為三維空間坐標系,矢量數據的網格劃分擴展為對三維數字地球的網格劃分,其計算方法本質上是一致的。
以上詳細描述了本發明的優選實施方式,但是,本發明並不限於上述實施方式中的具體細節,在本發明的技術構思範圍內,可以對本發明的技術方案進行多種等同變換,這些等同變換均屬於本發明的保護範圍。