1. 程式人生 > >柵格那點兒事(二)---細看Raster屬性

柵格那點兒事(二)---細看Raster屬性

細看Raster屬性

如果你已經看完了上一章,你已經瞭解了柵格資料是由一個個像元(Cell)按照行列方式構成的,每一個像元都有自己的像元值,並且這些像元值根據柵格型別的不同,可以代表反射值,或高程值,或分類類別等等。But,關於柵格資料屬性的細節還是有很多問題。好像是像元值是不是也可以分成Integer, Float,或者Double?為什麼柵格資料有的只有一個band,有的確有多個band?柵格統計值是幹什麼用的?

在ArcCatalog(10.1版本)裡面檢視柵格資料的屬性,見下圖:

 

紅框中的內容就是柵格的屬性了。這些屬性具體告訴了我們關於柵格的什麼故事呢?

Columns and Rows

行列數告訴我們這個柵格一共有15781x13442個像元,而Cellsize則說明了像元大小為0.1單位。如果柵格是在投影座標系下,則像元大小為0.1 米。根據這兩個屬性,我們對柵格資料覆蓋的面積就有了概念(行數 x 列數 x 象元大小的平方)。

Number of bands說明了一個柵格資料帶有幾個波段。我們先不要糾結於柵格資料為什麼會有多個波段,以及多波段的影像如何顯示的問題(後文有詳解)。單純的從柵格資料的資料結構來看,波段就是描繪柵格資料的除行列數外的另外一個維度。可以這樣來理解波段,如果將柵格資料看做一個切片面包,每一個波段就是這個切片面包中的一片,而每個麵包片的大小(長和寬)就是柵格的行列數。從柵格的屬性也不難看出,柵格資料中每個波段的行列數,像元大小是完全相同的。

再來看下Pixel TypePixel Depth

這兩個屬性通常情況下是一起出現的。而這兩個屬性定義的就是柵格資料的像元值的值域範圍。例如8bit的 unsigned integer柵格資料的像元值範圍就是0~255,8bit的signed integer的像元值範圍是 -128~127等等。

一般常見的遙感影像資料都是8bit unsigned integer的。會用到16 bit unsigned 或是32bit float型別的柵格多是高程表面資料,需要用到更大的帶小數位的值來精確的記錄高程資訊。詳細的位元深度和值域範圍的對照請參見下表。

 

在拿到新的柵格/影像時,上述的資訊可以幫助你快速瞭解手上的資料。再有就是在建立一個新的柵格資料時,也需要這些資訊作為新建柵格的引數。在ArcGIS中建立一個柵格資料集時,會看到如下視窗:

 

其中像元型別和波段數是必填的。像元大小如果在新建時置空,將會由匯入/鑲嵌進來的第一幅影像決定。

此外,如果得知柵格資料的這些屬性,根據一個8bit像元佔1B的空間,32bit的像元佔4B的空間,就可以直接得到柵格資料未壓縮的大小。

例如上上圖中,一個3波段,15781列13442行,8bit的柵格資料未壓縮大小為

1B x 15781 x 13442 x 3 =636384606 B = 606.903MB(Uncompressed Size)

柵格屬性中的顏色表(color map),金字塔(pyramid),統計值(statistics)等內容都會在下面的柵格的渲染中仔細說說。

預告一下,下一貼講講影像壓縮(compression)