一種面向TIN構(gòu)建的Hilbert排序方法
【專利摘要】本發(fā)明涉及一種面向TIN構(gòu)建的Hilbert排序方法。該方法包括:(1)讀入待排序的二維點(diǎn)集P;(2)分解點(diǎn)集P以調(diào)整點(diǎn)集P內(nèi)點(diǎn)的存儲(chǔ)順序;(3)分解點(diǎn)集PW以調(diào)整點(diǎn)集PW中點(diǎn)的存儲(chǔ)順序;(4)分解點(diǎn)集PE以調(diào)整點(diǎn)集PE中點(diǎn)的存儲(chǔ)順序;(5)判斷子點(diǎn)集是否分解完成;(6)等待所有子點(diǎn)集分解結(jié)束,即完成點(diǎn)集的Hilbert排序。本發(fā)明利用點(diǎn)集分割的思想來調(diào)整點(diǎn)集的存儲(chǔ)順序,能夠擺脫對(duì)網(wǎng)格的依賴,直接根據(jù)點(diǎn)集的坐標(biāo)進(jìn)行Hilbert排序,從而避免傳統(tǒng)Hilbert排序方法的不足,能夠有效地解決TIN構(gòu)建過程中點(diǎn)集的Hilbert排序問題,提高了排序的效率。
【專利說明】
-種面向TIN構(gòu)建的Hi Ibert排序方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及地理信息系統(tǒng)、地質(zhì)學(xué)、計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)仿真及虛擬現(xiàn)實(shí)等領(lǐng) 域,具體設(shè)及一種面向TIN構(gòu)建的化化ert排序方法。
【背景技術(shù)】
[0002] DTM(數(shù)字表面模型)是實(shí)現(xiàn)地形S維可視化的一種有效途徑。柵格和TIN(不規(guī)則 S角網(wǎng))是表示DTM的兩種主要數(shù)據(jù)格式。與柵格方法對(duì)格網(wǎng)的周圍采樣點(diǎn)按照距離遠(yuǎn)近加 權(quán)平均的思想不同,TIN方法采取的是一種更加忠實(shí)于原始數(shù)據(jù)的方法,它幾乎完整地保留 了原始數(shù)據(jù),按Delaunay原則將采樣點(diǎn)直接連成網(wǎng)建立起模型。因此,TIN在地理信息系統(tǒng)、 地質(zhì)學(xué)、計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)仿真及虛擬現(xiàn)實(shí)等領(lǐng)域都有著廣泛的應(yīng)用,是目前DTM常采 用的一種格式。
[0003] 在眾多的TIN構(gòu)建算法中,逐點(diǎn)插入法由于算法簡單、占用空間小、便于動(dòng)態(tài)更新 等優(yōu)點(diǎn)逐漸成為目前最流行的一種算法。起初逐點(diǎn)插入法的效率比較低,為了提高構(gòu)網(wǎng)的 效率,學(xué)者們?cè)O(shè)計(jì)了許多的改進(jìn)方案。經(jīng)過先后對(duì)逐點(diǎn)插入法不同程度的發(fā)展和完善,形成 了 W創(chuàng)建初始包圍盒、點(diǎn)定位、空腔擴(kuò)展、更新=角網(wǎng)為主要流程的逐點(diǎn)插入法。在此基礎(chǔ) 上,為了進(jìn)一步提高逐點(diǎn)插入法的算法效率,學(xué)者們的研究焦點(diǎn)主要集中在"點(diǎn)定位"運(yùn)個(gè) 過程上。Sloan提出了劃分均勻網(wǎng)格,按網(wǎng)格將點(diǎn)排序后插入的方法。Buchin (Buchin !(.Constructing Del曰UMy tri曰ngul曰tions 曰long space-filling curves[M].Springer Berlin Heide化erg,2009:119-130.)在劃分均勻網(wǎng)格排序的基礎(chǔ)上提出了依照不同的空 間填充曲線順序遍歷插入網(wǎng)格中點(diǎn)的方法,進(jìn)一步提高了"點(diǎn)定位"的效率。
[0004] 空間填充曲線是閉合間隔單元I = [0,1巧Ij閉合矩形單元S= [0,1]2的連續(xù)映射, 也是所有能夠填滿二維或更高維空間的連續(xù)分形曲線的總稱,應(yīng)用最廣泛的空間曲線包括 Modon曲線、Peano曲線和化化ert曲線。HHbed曲線具有良好的空間聚集性及空間連續(xù) 性,可W與逐點(diǎn)插入法結(jié)合,W提高構(gòu)網(wǎng)的效率。然而,傳統(tǒng)中利用化化ert曲線進(jìn)行排序的 算法都是面向空間剖分的方法,W柵格輔助進(jìn)行點(diǎn)集排序,需要將柵格不斷的細(xì)分至每個(gè) 格元中僅包含一個(gè)點(diǎn),然后根據(jù)格元的行、列號(hào)計(jì)算對(duì)應(yīng)的化Ibert編碼值,再將柵格中的 點(diǎn)按照化化ert編碼順序輸出,進(jìn)而得到排好序的點(diǎn)集。但是運(yùn)些方法不適用于TIN構(gòu)建過 程的排序操作,因?yàn)閃下兩點(diǎn)原因:(1)內(nèi)存消耗過大。隨著數(shù)據(jù)采集技術(shù)的發(fā)展,點(diǎn)集的數(shù) 據(jù)量越來越大,點(diǎn)與點(diǎn)之間的間距越來越小,使得用于輔助的網(wǎng)格往往很龐大,而且細(xì)分的 層次非常高,占用極高的內(nèi)存;(2)排序效率較低。使用網(wǎng)格輔助排序,是一種從網(wǎng)格出發(fā)的 排序方法,需要逐個(gè)判斷每個(gè)點(diǎn)所處的網(wǎng)格,運(yùn)個(gè)過程非常費(fèi)時(shí),使用運(yùn)種方法,往往排序 的時(shí)間比構(gòu)網(wǎng)的時(shí)間還要久。
【發(fā)明內(nèi)容】
[0005] 為了改善傳統(tǒng)化化ert排序方法的不足及提高逐點(diǎn)插入法構(gòu)網(wǎng)的效率,本發(fā)明提 出一種全新的Hilbeパ排序方法,在顯著降低算法內(nèi)存需求的情況下,極大的提高了 Hi Aed排序的效率,有利于化化ert排序的推廣和應(yīng)用。
[0006] 本發(fā)明采用的技術(shù)方案是:
[0007] 一種面向TI咐勾建的化化ert排序方法,其特征在于,包括W下步驟:
[000引(1)讀入待排序的二維點(diǎn)集P={pi,iG [0,n)},包括n個(gè)點(diǎn)的X坐標(biāo)和Y坐標(biāo),定義 點(diǎn)集的四個(gè)方位:西北NW、西南SW、東北肥、東南SE,設(shè)初始點(diǎn)集P的方位為西南SW;
[0009] (2)分解點(diǎn)集P W調(diào)整點(diǎn)集P內(nèi)點(diǎn)的存儲(chǔ)順序:根據(jù)初始點(diǎn)集P的方位,將點(diǎn)集P分解 為兩部分:扣和Pw,具體過程為:如果點(diǎn)集P的方位是西南SW或東北NE,則計(jì)算點(diǎn)集P的X坐標(biāo) 中位數(shù)Xo.5,否則計(jì)算P的Y坐標(biāo)中位數(shù)Yo.5,利用中位數(shù)調(diào)整點(diǎn)集P內(nèi)點(diǎn)的存儲(chǔ)順序,W滿足 如下條件:
[0010] 對(duì)于西南SW或者東北肥方位,
[0011]
[0012]
[0013]
[0014]
[001引(3)分解點(diǎn)集P似調(diào)整點(diǎn)集P沖點(diǎn)的存儲(chǔ)順序:根據(jù)點(diǎn)集P的方位,將點(diǎn)集Pw分解為 兩個(gè)子點(diǎn)集:Pnw和Psw,具體過程為:如果點(diǎn)集P的方位是西南SW或東北肥,則計(jì)算點(diǎn)集Pw的Y 坐標(biāo)中位數(shù)Yo.5;若點(diǎn)集P的方位是西北NW或者東南SE,則計(jì)算Pw的X坐標(biāo)中位數(shù)姑.5,利用計(jì) 算出的中位數(shù)調(diào)整點(diǎn)集Pw內(nèi)點(diǎn)的存儲(chǔ)順序,W滿足W下條件:
[0016] 對(duì)于西南SW或者東北肥方位,
[0017]
[001 引
[0019]
[0020]
[0021] (4)分解點(diǎn)集扣W調(diào)整點(diǎn)集扣中點(diǎn)的存儲(chǔ)順序:根據(jù)點(diǎn)集P的方位,將點(diǎn)集扣分解為 兩個(gè)子點(diǎn)集:Pne和Pse,具體過程為:如果點(diǎn)集P的方位是西南SW或東北肥,則計(jì)算點(diǎn)集扣的Y 坐標(biāo)中位數(shù)Yo.日;若點(diǎn)集P的方位是西北NW或者東南SE,則計(jì)算點(diǎn)集Pe的X坐標(biāo)中位數(shù)Xo.日,利 用計(jì)算出的中位數(shù)調(diào)整點(diǎn)集Pe內(nèi)點(diǎn)的存儲(chǔ)順序,W滿足W下條件:
[0022] 對(duì)于西南SW或者東北肥方位,
[0023]
[0024]
[0025]
[00%] 此的
[0027] (5)對(duì)于步驟(3)和(4)中分解得到的子點(diǎn)集Pnw、Psw、Pne和PsE,逐個(gè)判斷其中包含的 點(diǎn)數(shù)是否大于1,如果是,則說明該子點(diǎn)集需要繼續(xù)進(jìn)行分割,分別W子點(diǎn)集Pnw、Psw、Pne和Pse 作為輸入點(diǎn)集P,各點(diǎn)集方位依次為西北NW、西南SW、東北NE和東南SE,遞歸執(zhí)行步驟(2)、 (3)、(4)和(5);否則該子點(diǎn)集分解完成;
[002引(6)等待所有子點(diǎn)集分解結(jié)束,即完成點(diǎn)集的化化ert排序。
[0029] 點(diǎn)集的方位定義:過點(diǎn)集P的X坐標(biāo)中位數(shù)Xo.5作一條垂直于X軸的直線,過點(diǎn)集P的 Y坐標(biāo)中位數(shù)Yo.5作一條垂直于Y軸的直線,兩條直線相交于點(diǎn)p(Xo.5,Yo.5),將點(diǎn)集P的最小 外接矩形MBR分為四個(gè)小矩形,每個(gè)矩形包含點(diǎn)集P的一個(gè)子點(diǎn)集,根據(jù)各矩形的方位,將點(diǎn) 集P分為W下四類:
[0030] 左上角矩形的方位為西北NW,對(duì)應(yīng)的子點(diǎn)集是Pnw;
[0031] 左下角矩形的方位為西南SW,對(duì)應(yīng)的子點(diǎn)集是Psw;
[0032] 右上角矩形的方位為東北肥,對(duì)應(yīng)的子點(diǎn)集是Pne;
[0033] 右下角矩形的方位為東南SE,對(duì)應(yīng)的子點(diǎn)集是Pse;
[0034] 其中,子點(diǎn)集Pnw和子點(diǎn)集Pne合并稱為點(diǎn)集Pn,子點(diǎn)集Psw和子點(diǎn)集Pse合并稱為點(diǎn)集 Ps,子點(diǎn)集扣E和子點(diǎn)集Pse合并稱為點(diǎn)集扣,子點(diǎn)集Pnw和子點(diǎn)集Psw合并稱為點(diǎn)集Pw。
[0035] 所述點(diǎn)集P的最小外接矩形MBR定義如下:
[0036] xmax=max(pi ? x),iG [0,n)、xmin=min(pi ? x),iG [0,n);
[0037] ymax=max(pi ? y),iG [0,n)、ymin=min(pi ? y),iG [0,n);
[0038] 則由pNE(xmax,ymax),psE(xmax,ymin),pNw(xmin,ymax),psw(xmin,ymin)四個(gè)點(diǎn)組 成的矩形就是點(diǎn)集P的最小外接矩形MBR。
[0039] 中位數(shù)的定義:對(duì)于點(diǎn)集口={口1,16[0,11)},其乂坐標(biāo)的中位數(shù)姑.5是將點(diǎn)集口中的 點(diǎn)按照X坐標(biāo)從小到大排序,然后取中間點(diǎn)的X坐標(biāo)值,即X坐標(biāo)的中位數(shù)Xo. 5 = Pn/2 ? X ;其Y 坐標(biāo)的中位數(shù)Yo.5是將點(diǎn)集P中的點(diǎn)按照Y坐標(biāo)從小到大排序,然后去中間點(diǎn)的Y坐標(biāo)值,即Y 坐標(biāo)的中位數(shù)Yo.日= Pn/2 ? y。
[0040] 現(xiàn)有的化Ibert排序方法都是面向空間剖分的,W網(wǎng)格不斷剖分點(diǎn)集的最小外接 矩形,直到網(wǎng)格中的每個(gè)格元里僅包含一個(gè)點(diǎn),最后按照各格元的化化ert編碼順序輸出格 元中的點(diǎn),W實(shí)現(xiàn)點(diǎn)集的Hilbert排序。但是,當(dāng)點(diǎn)集較大時(shí),需要花費(fèi)較多的時(shí)間和內(nèi)存進(jìn) 行網(wǎng)格剖分和判斷網(wǎng)格中格元與點(diǎn)集中各點(diǎn)的包含關(guān)系,嚴(yán)重影響了排序方法的效率,也 約束了 TIN構(gòu)建的效率。本發(fā)明的方法利用點(diǎn)集分割的思想來調(diào)整點(diǎn)集的存儲(chǔ)順序,直接根 據(jù)點(diǎn)集的坐標(biāo)進(jìn)行化化ert排序,從而擺脫對(duì)網(wǎng)格的依賴,可W避免傳統(tǒng)化化ert排序方法 的不足,能夠有效地解決TIN構(gòu)建過程中點(diǎn)集的化化ert排序問題,提高了排序的效率,并且 脫離了網(wǎng)格的輔助,因而極大降低了算法對(duì)于內(nèi)存的需求,大大減少了不必要的計(jì)算開銷。
【附圖說明】
[0041 ]圖1是本發(fā)明方法的流程圖;
[0042] 圖2是本發(fā)明實(shí)施例的點(diǎn)集方位示意圖;
[0043] 圖3是本發(fā)明實(shí)施例的輸入點(diǎn)集示意圖;
[0044] 圖4是本發(fā)明實(shí)施例的排序結(jié)果示意圖。
【具體實(shí)施方式】
[0045] 下面結(jié)合附圖和實(shí)施例作進(jìn)一步詳細(xì)說明。
[0046] 如圖1所示,本發(fā)明所述的一種面向TIN構(gòu)建的化化ert排序方法包括W下基本步 驟:
[0047] (1)讀入待排序的二維點(diǎn)集P={pi,iG [0,n)},包括n個(gè)點(diǎn)的X坐標(biāo)和Y坐標(biāo),定義 點(diǎn)集的四個(gè)方位:西北NW、西南SW、東北肥、東南SE,設(shè)初始點(diǎn)集P的方位為西南SW;
[0048] 本實(shí)施例的初始點(diǎn)集為
[0049] P={(3,3)、(11,1)、(15,3)、(3,15)、(3,7)、(1,13)、(5,11)、(13,7)、(9,9)、(7, 5)、(9,15)、(13,13)、(11,13)、(11,5)},P的默認(rèn)方位是SW,其分布如附圖3所示。
[0050] (2)分解點(diǎn)集P W調(diào)整點(diǎn)集P中點(diǎn)的存儲(chǔ)順序。根據(jù)初始點(diǎn)集P的方位,將點(diǎn)集P分解 為兩部分:扣和Pw;具體包括:如果點(diǎn)集P的方位是西南SW或西南NE,則計(jì)算點(diǎn)集P的X坐標(biāo)中 位數(shù)Xo.5,否則計(jì)算P的Y坐標(biāo)中位數(shù)Yo.5,利用中位數(shù)調(diào)整點(diǎn)集P內(nèi)點(diǎn)的存儲(chǔ)順序,W滿足如 下條件:
[0051 ] 對(duì)于西南SW或者東北肥方位,
[0化2]
[0化3]
[0化4]
[0化5]
[0化6] 本實(shí)施例的P的方位是SW,計(jì)算P的X坐標(biāo)中位數(shù)Xq. 5 = 9,此時(shí):
[0057] Pw={(l,13)、(3,3)、(3,15)、(3,7)、(5,ll)、(7,5)、(9,9)}
[005引扣={(9,15)、(11,1)、(11,13)、(11,5)、(13,7)、(13,13)、(15,3)}
[0059] (3)分解點(diǎn)集PwW調(diào)整Pw中點(diǎn)的存儲(chǔ)順序。根據(jù)點(diǎn)集P的方位,將點(diǎn)集Pw分解為兩個(gè) 子點(diǎn)集:Pnw和Psw;具體包括:如果點(diǎn)集P的方位是西南SW或東北NE,則計(jì)算點(diǎn)集Pw的Y坐標(biāo)中 位數(shù)Yo. 5;若點(diǎn)集P的方位是西北NW或者東南SE,則計(jì)算Pw的X坐標(biāo)中位數(shù)Xo. 5,利用計(jì)算出的 中位數(shù)調(diào)整點(diǎn)集Pw內(nèi)點(diǎn)的存儲(chǔ)順序,W滿足W下條件:
[0060] 對(duì)于西南SW或者東北肥方位,
[0065] 本實(shí)施例的P的方位是SW,計(jì)算Pw的Y坐標(biāo)中位數(shù)Yd.日=9,此時(shí):[0066] Pnw={(3,3)、(3,7)、(7,5)}
[0061]
[0062]
[0063]
[0064]
[0067] Psw={(l,13)、(3,15)、(9,9)、(5,ll)}
[0068] (4)分解點(diǎn)集扣W調(diào)整扣中點(diǎn)的存儲(chǔ)順序。根據(jù)點(diǎn)集P的方位,將點(diǎn)集扣分解為兩個(gè) 子點(diǎn)集:Pne和Pse;如果點(diǎn)集P的方位是西南SW或東北NE,則計(jì)算點(diǎn)集扣的Y坐標(biāo)中位數(shù)機(jī).日;若 點(diǎn)集P的方位是西北NW或者東南SE,則計(jì)算點(diǎn)集Pe的X坐標(biāo)中位數(shù)姑.5,利用計(jì)算出的中位數(shù) 調(diào)整點(diǎn)集扣內(nèi)點(diǎn)的存儲(chǔ)順序,W滿足W下條件:
[0069] 對(duì)于西南SW或者東北肥方位,
[0070]
[0071]
[0072]
[0073]
[0074] 本實(shí)施例的P的方位是SW,計(jì)算Pe的Y坐標(biāo)中位數(shù)Yo.日=7,此時(shí):
[0075] Pne= {(9,15)、(11,13)、(13,13)}
[0076] Pse={(11,1)、(11,5)、(13,7)、(15,3)}
[0077] (5)對(duì)于步驟(3)和(4)中分解得到的子點(diǎn)集Pnw、Psw、Pne和PsE,逐個(gè)判斷其中包含的 點(diǎn)數(shù)是否大于1,如果是,則說明該子點(diǎn)集需要繼續(xù)進(jìn)行分割,分別W子點(diǎn)集Pnw、Psw、Pne和Pse 作為輸入點(diǎn)集P,各點(diǎn)集方位依次為西北NW、西南SW、東北NE和東南SE,遞歸執(zhí)行步驟(2)、 (3)、(4)和(5);否則該子點(diǎn)集分解完成;
[007引由于此時(shí)Pnw、Psw、Pne和Pse包含的點(diǎn)數(shù)都大于1,因而分別令P = Pnw、Psw、Pne和Pse,方 位依次為西北NW、西南SW、東北NE和東南SE,遞歸執(zhí)行(2)、(3)、(4)和(5)。
[0079] 對(duì)于Pnw,其方位為NW,最終排序結(jié)果:{(3,3)、(7,5)、(3,7)};
[0080] 對(duì)于Psw,其方位為SW,最終排序結(jié)果:Kl,13)、(3,15)、巧,11)、(9,9)};
[0081] 對(duì)于Pne,其方位為肥,最終排序結(jié)果:{(9,15)、(11,13)、(13,13)};
[0082] 對(duì)于 Pse,其方位為 SE,最終排序結(jié)果:{(13,7)、(11,5)、(11,1)、(15,3)}。
[0083] (6)等待所有子點(diǎn)集分解結(jié)束,即完成點(diǎn)集的化化ert排序。
[0084] 將步驟(5)中最后的排序結(jié)果按照NW一SW一肥一SE的順序輸出,即實(shí)現(xiàn)了對(duì)輸入 點(diǎn)集的排序,最終的排序結(jié)果為:
[0085] {(3,3)、(7,5)、(3,7)、(1,13)、(3,15)、巧,11)、(9,9)、(9,15)、(11,13)、(13,13)、 (13,7)、(11,5)、(11,1)、(15,3)},與附圖4中曲線經(jīng)過點(diǎn)集的順序一致。
【主權(quán)項(xiàng)】
1. 一種面向TIN構(gòu)建的Hilbert排序方法,其特征在于,包括以下步驟: (1) 讀入待排序的二維點(diǎn)集P = {Pi,i e [ 0,η)},包括η個(gè)點(diǎn)的X坐標(biāo)和Y坐標(biāo),定義點(diǎn)集的 四個(gè)方位:西北NW、西南SW、東北ΝΕ、東南SE,設(shè)初始點(diǎn)集Ρ的方位為西南SW; (2) 分解點(diǎn)集Ρ以調(diào)整點(diǎn)集Ρ內(nèi)點(diǎn)的存儲(chǔ)順序:根據(jù)初始點(diǎn)集Ρ的方位,將點(diǎn)集Ρ分解為兩 部分:Ρε和Pw,具體過程為:如果點(diǎn)集Ρ的方位是西南SW或東北ΝΕ,則計(jì)算點(diǎn)集Ρ的X坐標(biāo)中位 數(shù)Χο. 5,否則計(jì)算P的Y坐標(biāo)中位數(shù)Υο. 5,利用中位數(shù)調(diào)整點(diǎn)集P內(nèi)點(diǎn)的存儲(chǔ)順序,以滿足如下 條件: 對(duì)于西南SW或者東北NE方位,(3) 分解點(diǎn)集Pw以調(diào)整點(diǎn)集Pw中點(diǎn)的存儲(chǔ)順序:根據(jù)點(diǎn)集P的方位,將點(diǎn)集Pw分解為兩個(gè) 子點(diǎn)集:P冊(cè)和Psw,具體過程為:如果點(diǎn)集P的方位是西南SW或東北NE,則計(jì)算點(diǎn)集Pw的Y坐標(biāo) 中位數(shù)Υο. 5;若點(diǎn)集P的方位是西北NW或者東南SE,則計(jì)算Pw的X坐標(biāo)中位數(shù)Χο. 5,利用計(jì)算出 的中位數(shù)調(diào)整點(diǎn)集Pw內(nèi)點(diǎn)的存儲(chǔ)順序,以滿足以下條件: 對(duì)于西南SW或者東北NE方位,(4) 分解點(diǎn)集PE以調(diào)整點(diǎn)集PE中點(diǎn)的存儲(chǔ)順序:根據(jù)點(diǎn)集P的方位,將點(diǎn)集PE分解為兩個(gè) 子點(diǎn)集:Pne和Pse,具體過程為:如果點(diǎn)集P的方位是西南SW或東北NE,則計(jì)算點(diǎn)集P E的Y坐標(biāo) 中位數(shù)Υο. 5;若點(diǎn)集P的方位是西北NW或者東南SE,則計(jì)算點(diǎn)集PE的X坐標(biāo)中位數(shù)Χο. 5,利用計(jì) 算出的中位數(shù)調(diào)整點(diǎn)集Ρε內(nèi)點(diǎn)的存儲(chǔ)順序,以滿足以下條件: 對(duì)于西南SW或者東北ΝΕ方位,(5) 對(duì)于步驟(3)和(4)中分解得到的子點(diǎn)集PNW、Psw、ΡΝΕ和PSE,逐個(gè)判斷其中包含的點(diǎn)數(shù) 是否大于1,如果是,則說明該子點(diǎn)集需要繼續(xù)進(jìn)行分割,分別以子點(diǎn)集PNw、Psw、PNE和Pse作為 輸入點(diǎn)集P,各點(diǎn)集方位依次為西北NW、西南SW、東北NE和東南SE,遞歸執(zhí)行步驟(2)、(3)、 (4)和(5);否則該子點(diǎn)集分解完成; (6)等待所有子點(diǎn)集分解結(jié)束,即完成點(diǎn)集的Hilbert排序。2. 根據(jù)權(quán)利要求1所述的一種面向TIN構(gòu)建的Hilbert排序方法,其特征在于,點(diǎn)集的方 位定義:過點(diǎn)集P的X坐標(biāo)中位數(shù)Χο. 5作一條垂直于X軸的直線,過點(diǎn)集P的Y坐標(biāo)中位數(shù)Υο. 5作 一條垂直于Y軸的直線,兩條直線相交于點(diǎn)Ρ(Χ〇.5,Υ〇.5),將點(diǎn)集P的最小外接矩形MBR分為四 個(gè)小矩形,每個(gè)矩形包含點(diǎn)集Ρ的一個(gè)子點(diǎn)集,根據(jù)各矩形的方位,將點(diǎn)集Ρ分為以下四類: 左上角矩形的方位為西北NW,對(duì)應(yīng)的子點(diǎn)集是Pnw; 左下角矩形的方位為西南SW,對(duì)應(yīng)的子點(diǎn)集是PSW; 右上角矩形的方位為東北NE,對(duì)應(yīng)的子點(diǎn)集是PNE; 右下角矩形的方位為東南SE,對(duì)應(yīng)的子點(diǎn)集是PSE; 其中,子點(diǎn)集Pnw和子點(diǎn)集Pne合并稱為點(diǎn)集Pn,子點(diǎn)集Psw和子點(diǎn)集Pse合并稱為點(diǎn)集Ps,子 點(diǎn)集Pne和子點(diǎn)集Pse合并稱為點(diǎn)集Pe,子點(diǎn)集Pm和子點(diǎn)集Psw合并稱為點(diǎn)集Pw。3. 根據(jù)權(quán)利要求1所述的一種面向TIN構(gòu)建的Hilbert排序方法,其特征在于,所述點(diǎn)集 P的最小外接矩形MBR定義如下: xmax=max(pi .x),ie[〇,n)、xmin=min(pi .x),ie[〇,n); ymax=max(pi .y),ie[〇,n) ,ymin=min(pi .y), i e [〇,n); 貝丨J 由Pne(xmax,ymax),pse(xmax,ymin),pnw(xmin,ymax),psw(xmin,ymin)四個(gè)點(diǎn)組成的 矩形就是點(diǎn)集P的最小外接矩形MBR。4. 根據(jù)權(quán)利要求1所述的一種面向TIN構(gòu)建的Hilbert排序方法,其特征在于,中位數(shù)的 定義:對(duì)于點(diǎn)集P= {pi,i e [〇,n)},其X坐標(biāo)的中位數(shù)X〇.5是將點(diǎn)集P中的點(diǎn)按照X坐標(biāo)從小 到大排序,然后取中間點(diǎn)的X坐標(biāo)值,即X坐標(biāo)的中位數(shù)Χο. 5 = ρη/2 · X ;其Y坐標(biāo)的中位數(shù)Yo. 5 是將點(diǎn)集Ρ中的點(diǎn)按照Υ坐標(biāo)從小到大排序,然后去中間點(diǎn)的Υ坐標(biāo)值,即Υ坐標(biāo)的中位數(shù)Υ〇. 5 =ρη/2 · y〇
【文檔編號(hào)】G06T17/05GK105957142SQ201610243194
【公開日】2016年9月21日
【申請(qǐng)日】2016年4月19日
【發(fā)明人】劉年濤, 周良辰, 林冰仙
【申請(qǐng)人】南京師范大學(xué)