海量空間數據庫實施策略-柵格數據 6

· 柵格切片尺寸

在導入柵格到ArcSDE中的時候[1],從《II.柵格數據模型》中可以知道,柵格實際上是被切割成一塊塊存儲在SDE_BLK_表中,每條記錄代表了一個切片。默認這個切片的尺寸大小是128×128像素,對於這個切片在數據庫中的存儲在這裏進行一下更深入的討論。

如果我們在導入柵格的時候選擇的壓縮方式爲None或者默認的LZ77,從上面的《壓縮格式與壓縮比》章節中可以知道,數據(基本)沒有被壓縮;對於沒有壓縮的數據,128×128像素大小的一個柵格切片應該包含16K個像素;而對於最常見的8 Bit深度的柵格,每個像素佔據1個字節;因此,這個切片將在數據庫中佔據16 KB存儲空間。

而如果採用Oracle,默認創建數據庫的數據塊大小爲8K,那麼上面的切片佔據了兩個數據塊,Oracle如果要讀取這個切片就需要做2個I/O操作。在數據庫中,I/O操作儘量需要減少,因此,所有都採用默認的設置可能並不符合實際的情況,特別是在數據量非常大的情況下。

· 其它存儲格式

除了最常見的TIFF、JPEG等格式,柵格數據還可以以一些更專業的壓縮格式進行存儲,比如MrSID等,這些格式有驚人的壓縮比和出色的讀取效率。因此,在獲取一些特殊的柵格存儲格式的時候,最好可以比較一下它們和無壓縮柵格的效率。

比如這裏有一個17M的MrSID數據,將其導出爲未壓縮的TIFF後,兩者的小範圍數據預覽比較如下:

壓縮格式/壓縮比

數據量

某小範圍預覽耗時

MrSID

17M

0.22秒

TIFF

622M

0.06秒

可見如MrSID格式有非常高的壓縮比,同時數據訪問的效率也不錯。


[1] 另外在Tiled TIFF中也會存在切片

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章