1. 程式人生 > >柵格那點兒事(一)---Raster是個啥子東西

柵格那點兒事(一)---Raster是個啥子東西

記錄 sha 離散數據 tin 位置 直接 tro 大小 有時

Raster是個啥子東西

現如今,不僅是在遙感應用中能看到花花綠綠的影像了,在GIS應用中也能隨處看到她們的身影。在各種在線地圖中,衛星影像作為底圖與矢量的道路層疊加;高程DEM作為高程來源實現地形的山影效果。相信大家對影像這個詞,應該一點兒也不感到陌生。

技術分享

技術分享

那麽柵格呢?相對與我們熟悉的影像,這倆只是名詞上的區別麽?

柵格(Raster)和影像(Images/Imagery)在GIS應用中經常被相互指代。如果非要區別一下呢,影像是指通過各種遙感設備,傳感器,或者照相機得到的電子的或者紙質的圖片,柵格則是一種數據模型,用來特指影像存儲方式的。類比一下,如果把ArcGIS中存儲顯示的圖片都稱之為酒的話,柵格就是酒瓶,而影像就是瓶中的美酒了。

咱們再來仔細看看柵格數據。

如果說使用矢量來描繪我們的世界,需要使用到點,線或者是面。而構成點,線,或者面的最小單元,是點(結點)。那麽另外一種用於描繪地物的數據-柵格的最小單元又是什麽呢?

如果你曾經好奇的把影像/柵格數據放大放大再放大,那麽可能會註意到,當放大到某一個層級後,柵格數據就會變成下圖所示的狀態,變成了一個個的小格子。這些小格子,就是柵格數據的最小單元,Cell,也叫像元。對影像來說,這個最小的單元被叫做pixel,像素。

技術分享

熟悉shape格式的筒子們都知道,線或者面數據都是通過點串來存儲的。打開屬性表也能夠看到,撇開業務屬性,就空間屬性而言,每一條線就是一條記錄,而這條記錄中存儲的shape再展開來才是構成這條線的點串的坐標(xy坐標)。而柵格數據的組織方式就非常的簡單,有多簡單呢,它就是一矩陣!柵格/影像數據看起來很復雜,還那麽大一塊,但是其實就是按行和列存儲的像元。柵格運算的時候與矩陣運算是一樣的,找到相應的位置,然後將象元值進行相應的加減乘除就可以了。

通過矩陣方式存儲的柵格數據有顯而易見的優點,數據結構簡單。矢量的點,線,面也可以存儲在柵格數據中,這樣更方便參與空間分析的運算。BUT,將地物都柵格化了存儲也有自己的弊端的。首先,柵格化之後,數據的精度取決於且僅取決於柵格的象元大小。象元越小,數據的所占的磁盤空間越大,處理起來越慢。再有呢,就是柵格的最小單元是不能夠再分割的,在數據存儲或者重建的時候會有誤差。例如像元大小為1m的柵格是不能精確存儲邊長為10.5m的矢量邊的。

正如上面提到的,像元有個不能被改變的特性,就是它是一個正方形,長 = 寬 = 像元大小 = 格網大小(柵格) = 分辨率(影像)。對於一個柵格來說,長與寬可以不同,說明柵格的行數與列數不等,也就是每一行的像元數與每一列的像元數不等。但是在一個柵格數據中,像元大小是一定的。

象元值又代表了什麽呢?

如果需要了解一個矢量數據的屬性,我們Identify一下,就可以看到該矢量背後的故事。這個多邊形代表的是那個省,這個省的人口有多少,編碼是什麽等等等等。那麽我們Identify一下柵格的某個位置,得到的RGB的值表示又是什麽意思呢?

小時候的自然課應該也有講過,世間萬物對不同光的吸收和反射是不同的。而我們看到的影像,就是通過傳感器記錄下每一個位置對紅光(Red),綠光(Green)和藍光(Blue)的反射值得到的。(高級傳感器例如衛星上用的還記錄了更多光波段的反射值,這裏不羅嗦了)柵格數據中,代表實際“屬性”的像元值就是反射值。

當然了,反射值只是針對航片,衛片和照片的。對於DEM或者其他高程影像來說,像元值代表的就是該位置的實際高度。而土地分類圖中每一個像元值代表的是該位置上的土地利用類型。

還有一個問題,就是如果柵格都是矩陣,那麽為什麽會有離散數據(Discrete Data)和連續數據(Continues Data)的區別?

這個是由於柵格數據所表現的事物類型是多種多樣的。根據柵格中像元值的分布類型,將他們分成了3類,離散數據(有時也叫專題數據),主要是指分類結果數據,例如土地利用圖;連續數據,一般是真實地物的直接體現,比如各種遙感影像,DEM,溫度圖等等等等;最後一類是圖片,例如掃描地圖或者樓房照片等。

預告一下,下一貼要講講像元深度(pixel depth),波段等屬性信息。

柵格那點兒事(一)---Raster是個啥子東西