地理信息系統(tǒng)課件07柵格矢量的相互轉(zhuǎn)化來自華北科技學院魏志剛.ppt
《地理信息系統(tǒng)課件07柵格矢量的相互轉(zhuǎn)化來自華北科技學院魏志剛.ppt》由會員分享,可在線閱讀,更多相關(guān)《地理信息系統(tǒng)課件07柵格矢量的相互轉(zhuǎn)化來自華北科技學院魏志剛.ppt(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1,第三章空間數(shù)據(jù)模型與數(shù)據(jù)庫,,2,3.4矢量結(jié)構(gòu)與柵格結(jié)構(gòu)的相互轉(zhuǎn)換,矢量數(shù)據(jù)結(jié)構(gòu)向柵格數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換(柵格化)柵格數(shù)據(jù)結(jié)構(gòu)向矢量數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換(矢量化),3,3.4.1矢量到柵格,柵格化過程包括以下操作:1)確定柵格矩陣(行列數(shù)\分辨率);2)點的變換3)線的變換4)多邊形的變換(面的變換),4,1)確定柵格矩陣,矢量數(shù)據(jù)轉(zhuǎn)換成柵格數(shù)據(jù)后,圖形的幾何精度必然要降低,所以選擇柵格尺寸的大小要盡量滿足精度要求,使之不過多地損失地理信息。為了提高精度,柵格需要細化,但柵格細化,數(shù)據(jù)量將以平方指數(shù)遞增,因此,精度和數(shù)據(jù)量是確定柵格大小的最重要的影響因素。,5,I=(Ymax-Ymin)/dyJ=(Xmax-Xmin)/dxI,J為整數(shù),尾數(shù)入上去dx=(Xmax-Xmin)/Jdy=(Ymax-Ymin)/I,1)確定柵格矩陣,在轉(zhuǎn)換之前需要確定柵格單元的大小,柵格單元的大小又稱為柵格圖像的分辨率,直接決定了柵格數(shù)據(jù)的精度。,6,2)點的柵格化,X,Y,7,3)線的柵格化方法,線是由多個直線段組成的,因此線的柵格化的核心就是直線段如何由矢量數(shù)據(jù)轉(zhuǎn)換為柵格數(shù)據(jù)。柵格化的兩種常用方法為:DDA法(DigitalDifferentialAnalyzer數(shù)字微分分析法)Bresenham法,8,DDA法(數(shù)字微分分析法),設(shè)(xA,yA),(xB,yB)與柵格網(wǎng)的交點為(xi,yi),則:其中:這樣從i=0計算到i=n-1,即可得直線與格網(wǎng)的n個交點坐標,對其取整就是該點的柵格數(shù)據(jù)了。該方法的基本依據(jù)是直線的微分方程,即dy/dx=常數(shù)。其本質(zhì)是用數(shù)值方法解微分方程,通過同時對x和y各增加一個小增量來計算下一步的x,y值,即這是一種增量算法。在該算法中,必須以浮點數(shù)表示坐標,且每次都要舍入取整,因此,盡管算法正確,但速度不夠快。,,9,Bresenham算法,該算法原來是為繪圖機設(shè)計的,但同樣適合于柵格化。該算法構(gòu)思巧妙,只需根據(jù)由直線斜率構(gòu)成的誤差項的符號,就可確定下一列坐標的遞增值。根據(jù)直線的斜率,把直線分為8個卦限。下面舉斜率在第一卦限的情況為例,其余卦限的情況類似。該算法的基本思路可描述為:若直線的斜率為1/2≤△y/△x≤1,則下一點取(1,1)點,若0≤△y/△x<1/2,則下一點取(1,0)點。,10,,在算法實現(xiàn)時,令起始的誤差項為e=-1/2,然后在推斷出下一點后,令e=e+△y/△x,若e≥0時,e=e-1。這樣只要根據(jù)e的符號就可確定下一點的增量,即:若e≥0,取(1,1)點若e<0,取(1,0)點例如,一直線的斜率為1/3,起始點:e0=-1/2,取點0第1點:e1=-1/2+1/3=-1/6取點①第2點:e2=-1/6+1/3=1/6且e2’=-5/6;取點②第3點:e3=-5/6+1/3=-1/2取點③第4點:e4=-1/2+1/3=-1/6取點④第5點:e5=-1/6+1/3=1/6且e2’=-5/6;取點⑤第6點:e6=-5/6+1/3=-1/2取點⑥依次進行,直到到達直線的另一端點。這種算法不僅速度快、效果好,而且可以理論上證明它是目前同類各種算法中最優(yōu)的。為避免浮點運算,可令初值e’=e*2*△x當△x≥0時與e同號當e’>0時,y方向獲增量1,即令e’=e’-2*△x;一般情況下e’=e’+2△y起始點:e=-1/2,即e’=-3第2點:e=-1/2+1/3=-1/6,e’=-3+2△y=-1取點①第3點:e=-1/6+1/3=1/6,即e’=-1+2=1,取點②且e=-5/6,e’=-5;,,,,,11,4)面域的柵格化,邊界線的轉(zhuǎn)化與線的柵格化方法相同,接下來就是屬性的填充。填充的方法很多,關(guān)鍵問題是正確判斷哪些柵格單元位于多邊形之內(nèi),哪些位于多邊形之外。為此,多邊性必須嚴格封閉,沒有縫隙。方法有:內(nèi)部點擴散法射線算法平行線掃描法與鉛垂線跌落法邊界代數(shù)充填算法邊界點跟蹤算法,12,(1)內(nèi)部點擴散算法,該算法由每個多邊形一個內(nèi)部點(種子點)開始,向其八個方向的鄰點擴散,判斷各個新加入點是否在多邊形邊界上,如果是邊界上,則該新加入點不作為種子點,否則把非邊界點的鄰點作為新的種子點與原有種子點一起進行新的擴散運算,并將該種子點賦以該多邊形的編號。重復上述過程直到所有種子點填滿該多邊形并遇到邊界停止為止。擴散算法程序設(shè)計比較復雜,并且在一定的柵格精度上,如果復雜圖形的同一多邊形的兩條邊界落在同一個或相鄰的兩個柵格內(nèi),會造成多邊形不連通,這樣一個種子點不能完成整個多邊形的填充。,13,(2)射線算法,射線算法可逐點判斷數(shù)據(jù)柵格點在某多邊形之外或在多邊形內(nèi),由待判點向圖外某點引射線,判斷該射線與某多邊形所有邊界相交的總次數(shù),如相交偶數(shù)次,則待判點在該多邊形外部,如為奇數(shù)次,則待判點在該多邊形內(nèi)部。采用射線算法,要注意的是:射線與多邊形邊界相交時,有一些特殊情況會影響交點的個數(shù),必須予以排除。,,射線算法,14,射線算法的特殊情況,15,(3)平行線掃描法與鉛垂線跌落法,射線算法的改進,將射線改為沿柵格陣列列方向或行方向掃描線,判斷與射線算法相似。省去了計算射線與多邊形邊界交點的大量運算,大大提高了效率。,16,(4)邊界代數(shù)算法(BAF-BoundaryAlgebraFilling),邊界代數(shù)多邊形填充算法是一種基于積分思想的矢量格式向柵格格式轉(zhuǎn)換算法,它適合于記錄拓撲關(guān)系的多邊形矢量數(shù)據(jù)轉(zhuǎn)換為柵格結(jié)構(gòu)。轉(zhuǎn)換單個多邊形:設(shè)多邊形編號為a,初始化的柵格陣列各柵格值為零,以柵格行列為參考坐標軸,由多邊形邊界上某點開始順時針搜索邊界線,當邊界上行時,位于該邊界左側(cè)的具有相同行坐標的所有柵格被減去a;當邊界下行時,該邊界左側(cè)(前進方向看為右側(cè))所有柵格點加一個值a,邊界搜索完畢則完成了多邊形的轉(zhuǎn)換。,單個多邊形的轉(zhuǎn)換,17,,事實上,每幅數(shù)字地圖都是由多個多邊形區(qū)域組成的,如果把不屬于任何多邊形的區(qū)域(包含無窮遠點的區(qū)域)看成編號為零的特殊的多邊形區(qū)域,則圖上每一條邊界弧段都與兩個不同編號的多邊形相鄰,按弧段的前進方向分別稱為左、右多邊形,對于這種多個多邊形的矢量向柵格轉(zhuǎn)換問題,只需對所有多邊形邊界弧段作如下運算而不考慮排列次序:當邊界弧段上行時,該弧段與左圖框之間柵格增加一個值(左多邊形編號減去右多邊形編號);當邊界弧段下行時,該弧段與左圖框之間柵格增加一個值(右多邊形編號減去左多邊形編號)。,18,,,,,,,19,,,,,,,,,,20,,,,,,,,,,,21,,,,,,,,,,,,22,,邊界代數(shù)法與前述其他算法的不同之處,在于它不是逐點判斷與邊界的關(guān)系完成轉(zhuǎn)換,而是根據(jù)邊界的拓撲信息,通過簡單的加減代數(shù)運算將邊界位置信息動態(tài)地賦給各柵格點,實現(xiàn)了矢量格式到柵格格式的高速轉(zhuǎn)換,而不需要考慮邊界與搜索軌跡之間的關(guān)系,因此算法簡單、可靠性好,各邊界弧段只被搜索一次,避免了重復計算。但是這并不意味著邊界代數(shù)法可以完全替代其它算法,在某些場合下,還是要采用種子填充算法和射線算法,前者應(yīng)用于在柵格圖像上提取特定的區(qū)域;后者則可以進行點和多邊形關(guān)系的判斷,23,(5)邊界點跟蹤算法,以多邊形為單位按順時針方向跟蹤單元格上行L橫向N下行R(島則相反)逐行掃描,充填LR間的單元格,24,3.4.2柵格到矢量,從柵格單元轉(zhuǎn)換到幾何圖形的過程稱為矢量化,矢量化過程要保證以下兩點:1)拓撲轉(zhuǎn)換,即保持柵格表示出的連通性與鄰接性;2)轉(zhuǎn)換物體正確的外形。,25,3.4.2柵格數(shù)據(jù)結(jié)構(gòu)向矢量數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換,主要步驟:邊界提取邊緣銳化(遙感影像或分類柵格,面狀地物)線的細化(掃描矢量圖,線狀地物)二值化邊界追蹤拓撲關(guān)系生成線的簡化及曲線圓滑,26,1.邊界提取,邊緣檢測(圖像處理)對于影像柵格數(shù)據(jù),檢測出不同特征區(qū)域的邊界。,27,Lenna的Sobel邊界,Lenna的Prewitt邊界,28,,2)線的細化:將占有多個柵格寬的圖形要素縮減為只有1個像素。剝皮法:每次剝掉等于一個柵格寬的一層,最后只留下彼此連通的由單個柵格組成的圖形。,29,,2.骨架法:確定圖形的骨架,而將非骨架上的多余柵格刪除。具體做法是掃描全圖,凡是像元值為1的柵格都用V值取代。V值是該柵格與北、東和北東三個相鄰柵格像元值之和,即在V值圖上保留最大V值的柵格,刪去其他柵格,但必須保證連通。因為最大V值的柵格只能分布在圖形的中心線上(骨架上),因此選取最大值柵格的過程就是細化的過程。3.數(shù)學形態(tài)法,30,31,1.邊界提取,3)二值化一般情況下,柵格數(shù)據(jù)是按0~255的不同灰度值表達的。為了簡化追蹤算法,需把256個灰階壓縮為2個灰階,即0和1兩級。為此,假設(shè)任一格網(wǎng)的灰度值為G(i,j),閥值為T,那么,根據(jù)下式就可以得到二值圖。,32,,2.邊界線追蹤:邊界線跟蹤的目的就是將細化處理后的柵格數(shù)據(jù),整理為從結(jié)點出發(fā)的線段或閉合的線條,并以矢量形式存儲(坐標)。3.線的簡化及曲線圓滑:由于搜索是逐個柵格進行的,所以弧段或多邊形的數(shù)據(jù)列十分密集。為了減少存儲量,在保證線段精度的情況下可以刪除部分數(shù)據(jù)點。4.拓撲關(guān)系生成:判斷弧段與多邊形間的空間關(guān)系,以形成完整的拓撲結(jié)構(gòu)并建立與屬性數(shù)據(jù)的關(guān)系。,33,3.4.3矢量格式和柵格格式的相互轉(zhuǎn)換,矢量格式向柵格格式的轉(zhuǎn)換建立空白柵格點、線的柵格化多邊形填充①內(nèi)部點擴散法②復數(shù)積分算法③射線算法④掃描算法⑤邊界代數(shù)算法柵格格式向矢量格式的轉(zhuǎn)換邊界提取邊界追蹤去除多余點及曲線圓滑拓撲關(guān)系生成,- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 地理信息系統(tǒng) 課件 07 柵格 矢量 相互 轉(zhuǎn)化 來自 華北 科技學院 魏志剛
鏈接地址:http://kudomayuko.com/p-11526464.html