亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于QTM雙向掃描的球面Voronoi圖生成算法

文檔序號:9632076閱讀:842來源:國知局
基于QTM雙向掃描的球面Voronoi圖生成算法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于QTM雙向掃描的球面Voronoi圖生成方法,屬于球面Voronoi圖生成技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]隨著數(shù)字地球的提出與發(fā)展,球面Voronoi圖作為一種重要的數(shù)據(jù)模型,成為GIS領(lǐng)域的研究熱點之一,并被應用到全球空間索引、球面插值、球面動態(tài)操作等重要領(lǐng)域。然而,球面Voronoi生成算法在精度和效率方面存在的問題,限制了球面Voronoi圖的應用。
[0003]雙向掃描算法,作為一種距離變換算法,被應用于平面及球面Voronoi圖的生成。它通過一個3X3的鄰域模板將一個像素的信息傳遞給它的鄰近格網(wǎng),如圖1所示。
[0004]掃描開始之前像素P被賦予一個空值,當進行正向掃描,即從上到下,從左到右掃描,像素P的最近種子點通過距離的計算與比較從Ql、Q2、Q3和Q4四個鄰近像素的最近種子點中獲得,正向掃描完成后,像素P中已保存了一個臨時最近種子點;此時,再按相反的方向(從下到上,從右到左)進行掃描,反向掃描時,通過距離的計算與比較從P的臨時最近種子點及Q5、Q6、Q7和Q8的最近種子點中獲取P的最終最近種子點。
[0005]當雙向掃描完成后,平面上每個像素都保存了一個最近種子點,此時具有相同最近種子點的像素構(gòu)成了該最近種子點的Voronoi區(qū)域。
[0006]在大多數(shù)情況下,通過正向掃描和反向掃描之后,所有的像素都能夠獲取到正確的最近種子點;但在有些情況下部分像素可能會獲取到錯誤的“最近”種子點,而這些錯誤的“最近”種子點將導致較大的Voronoi圖誤差,如圖2所示。圖2a為雙向掃描后得到的Voronoi圖,圖2b為通過距離的計算和比較得到的正確的Voronoi圖,兩者對比可以看出,雙向掃描后部分像素的歸屬是錯誤的,如圖2c中的黑色像素。這種錯誤的出現(xiàn),主要有以下兩個方面的原因所致。
[0007](I)掃描過程中,像素沒有被其最近種子點掃描到
[0008]如圖3所示,像素M、N、P和Q的正確最近種子點均為種子點b,如圖3a ;由于像素M、N、P和Q均位于種子點a的下方、種子點b的上方,正向掃描在到達種子點b之前就已經(jīng)掃過像素M、N、P和Q,因此,正向掃描完成后這四個像素的最近種子點均為上方的種子點a,如圖3b ;當反向掃描到像素M時,它的5-8四個鄰近像素已經(jīng)獲得了正確的最近種子點C,此時像素M只能從種子點a和c的較近者中獲取到其最近種子點,而獲取不到正確的最近種子點(種子點b),如圖3c。在正向掃描和反向掃描的整個過程中,對于像素M的距離計算與比較并沒有包含其正確的最近種子點(種子點b),因此會造成錯誤的出現(xiàn)。同樣,雙向掃描完成后,像素N、P和Q也都沒有獲取到正確的最近種子點,如圖3d。
[0009](2)柵格空間中Voronoi區(qū)域的不連續(xù)性
[0010]在矢量空間中,空間實體的Voronoi區(qū)域為連續(xù)的區(qū)域,但在柵格空間中可能會出現(xiàn)Voronoi區(qū)域不連續(xù)的情況。如圖4所示,格網(wǎng)Q的最近種子點為b,而格網(wǎng)M和N的最近種子點分別為a和C,種子點b的Voronoi區(qū)域被格網(wǎng)M和N分割為不連續(xù)的區(qū)域。因此,格網(wǎng)Q無法從其鄰近格網(wǎng)中獲取到最近種子點。
[0011]除此以外,由于平面上像素的大小都是一致的,因此利用平面雙向掃描算法得到的平面Voronoi圖在各處精度都是均勻的;但將平面格網(wǎng)反投影到球面上后,從赤道到兩極格網(wǎng)具有較大的變形,易造成Voronoi圖精度的不均勻。

【發(fā)明內(nèi)容】

[0012]針對上述技術(shù)問題,為解決Voronoi圖精度不均勾的問題,本發(fā)明選用格網(wǎng)相對較為均勻的球面QTM格網(wǎng)作為球面Voronoi圖生成的基礎格網(wǎng),
[0013]具體的技術(shù)方案為:
[0014]基于QTM雙向掃描的球面Voronoi圖生成算法,以球面QTM格網(wǎng)作為基礎格網(wǎng),對每個格網(wǎng)進行雙周期掃描,并在掃描過程中同時考慮最近和次近種子點,具體過程為:
[0015]將球面按照QTM的方式剖分,沿0度經(jīng)線剖開,按從左到右、從上到下的順序?qū)θ切芜M行編碼;初始化時,將所有種子點格網(wǎng)的最近種子點編號賦值為自身編碼,到最近種子點的距離賦值為〇;將非種子點格網(wǎng)的臨時最近和次近種子點編號賦值為-1,到臨時最近和次近種子點的距離賦值為無窮大;利用鄰近搜索算法搜索并保存所有格網(wǎng)的鄰近格網(wǎng)的編碼,包含邊鄰近格網(wǎng)和角鄰近格網(wǎng)的編碼;
[0016]按照編碼順序,依次對球面上所有格網(wǎng)進行兩個周期的掃描,一次正向掃描和一次反向掃描為一個周期掃描,針對每個格網(wǎng)進行的掃描步驟如下:
[〇〇17](1)正向掃描
[0018]按從左到右、從上到下的順序即按照格網(wǎng)編碼順序?qū)η蛎嫠蠶TM格網(wǎng)進行掃描,對每個QTM格網(wǎng)掃描具體步驟如下:
[0019](a)根據(jù)當前格網(wǎng)即格網(wǎng)i的鄰近格網(wǎng)的編碼,獲取鄰近格網(wǎng)的臨時最近和次近種子點,連同格網(wǎng)i的臨時最近和次近種子點一起,組成初始種子點集合,并將該集合中的不重復且值不為-1的元素組成集合N1;鄰近格網(wǎng)的編碼在數(shù)據(jù)初始化時利用鄰近搜索算法計算得到;
[0020](b)若隊不為空,依次計算格網(wǎng)i到集合N沖所有種子點的距離;
[0021](c)通過比較從集合隊中得到當前格網(wǎng)的臨時最近和次近種子點,并保存其到最近和次近種子點的距離;
[0022](2)反向掃描
[0023]以正向掃描的結(jié)果為基礎數(shù)據(jù),按從右到左、從下到上的順序即格網(wǎng)編碼逆序?qū)η蛎嫠蠶TM格網(wǎng)進行反向掃描,除掃描順序不同外,反向掃描與正向掃描的步驟基本相同;
[0024]依次對球面上所有格網(wǎng)進行兩個周期的掃描,掃描完成后具有相同最近種子點的QTM格網(wǎng)構(gòu)成該最近種子點的Voronoi區(qū)域。
[0025]本發(fā)明提供的基于QTM雙向掃描的球面Voronoi圖生成算法,利用QTM作為基礎格網(wǎng),解決了平面格網(wǎng)投影到球面后生成的球面Voronoi圖精度不均勻的問題,該方法對格網(wǎng)進行兩個周期的掃描,并在掃描過程中同時考慮最近和次近種子點,解決了原雙向掃描算法掃描不完備的問題。
【附圖說明】
[0026]圖1為雙向掃描算法的掃描模板。
[0027]圖2為雙向掃描算法出現(xiàn)的錯誤。其中圖2a為雙向
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1