一、GIS中鏈狀雙重獨(dú)立式編碼結(jié)構(gòu)存儲優(yōu)化的方法
GIS中鏈狀雙重獨(dú)立式編碼結(jié)構(gòu)存儲優(yōu)化的方法有把坐標(biāo)對改為存儲起止點(diǎn)及增量。但只是某些優(yōu)化方法的一部分,本身起不到提高儲存效率的作用。如果只是針對儲存效率的優(yōu)化,可以用短整型數(shù)來替代浮點(diǎn)數(shù)存儲。舉個(gè)例子就是1.4 1.5 1.6三個(gè)數(shù)可以用14 15 16和-1(即10^-1)代替。C語言中,三個(gè)浮點(diǎn)數(shù)用了12個(gè)字節(jié),4個(gè)短整形只用了8字節(jié)。
鏈狀雙重獨(dú)立式
鏈狀雙重獨(dú)立式數(shù)據(jù)結(jié)構(gòu)是DIME數(shù)據(jù)結(jié)構(gòu)的一種改進(jìn)。在DIME中,一條邊只能用直線兩端點(diǎn)的序號及相鄰的面域來表示,而在鏈狀數(shù)據(jù)結(jié)構(gòu)中,將若干直線段合為一個(gè)弧段(或鏈段),每個(gè)弧段可以有許多中間點(diǎn)。
在鏈狀雙重獨(dú)立數(shù)據(jù)結(jié)構(gòu)中,主要有四個(gè)文件:多邊形文件、弧段文件、弧段坐標(biāo)文件、結(jié)點(diǎn)文件。
POLYVRT結(jié)構(gòu)
這種數(shù)據(jù)結(jié)構(gòu)的基本元素是“弧段”。 “弧段”在兩端有結(jié)點(diǎn),并伴隨有共享該弧段的左右多邊形的碼, “弧段”可以由任意多個(gè)結(jié)點(diǎn)構(gòu)成。此外,在POLYVRT中還為每個(gè)多邊形建立了一個(gè)環(huán)繞邊界的弧段目錄表,以及為點(diǎn)建立一個(gè)點(diǎn)所關(guān)聯(lián)的弧段目錄表,并在弧段關(guān)系表中,將點(diǎn)所關(guān)聯(lián)的弧段和組成多邊形的邊界弧段用串行指針連接起來。
延伸閱讀:
二、面條數(shù)據(jù)結(jié)構(gòu)(spaghetti)是什么
只記錄空間對象的位置坐標(biāo)和屬性信息,不記錄拓?fù)潢P(guān)系。
存儲:
獨(dú)立存儲:物體以獨(dú)立的實(shí)體存貯,不存貯點(diǎn)、線、面原始空間關(guān)系,只存幾何特征??臻g對象位置直接跟隨空間對象;
點(diǎn)位字典:點(diǎn)坐標(biāo)獨(dú)立存儲,線、面由點(diǎn)號組成。
特征
無拓?fù)潢P(guān)系,主要用于顯示、輸出及一般查詢;
公共邊重復(fù)存儲,存在數(shù)據(jù)冗余,難以保證數(shù)據(jù)獨(dú)立性和一致性
多邊形分解和合并不易進(jìn)行,鄰域處理較復(fù)雜;
處理嵌套多邊形比較麻煩。
適用范圍
制圖及一般查詢,不適合復(fù)雜的空間分析。