結合、切割、投影 RASTER DATA

在獲得網格資料的時候,我們往往會去取得較大範圍的資料,然後切割出想要的範圍。

這樣的"切割",和向量資料切割時一樣,都叫做"CLIP"


這裡我們以SRTM  90m   DEM檔案為例,操作切割台灣本島的範圍


STEP 1


下載SRTM  DEM 檔案

http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp

選擇目標網格  下載Geo Tiff 或 Arcinfo  ASC檔皆可

網頁下載頁面



下載


--------------------------------------------------------------------------------------------------------------------------
**tif 與ASC檔的差異:

asc檔是可以由人可以讀的文字檔,簡單即能開啟

欄位:cols:行
           rows:列
           xllcorner: LEFT LOWER CORNER  左下角的X座標值
           yllcorner: LEFT LOWER CORNER  左下角的Y座標值
           cellsize:網格大小 單位KM  (通常不會說是90M就會真的剛剛好90M)

由於是以影像的左下角為基準去計算剩下的網格的位置,因此X與Y的增加值皆為正

下面大量的數字,就是記錄著每一個網格的高程值,而 no data的值會表示為-9999



tif檔則是人不可讀的,需用軟體才能開啟檢視,但我可以開啟他的相關檔案 tfw檔

下圖為  ASTER 30M.tif     的 tfw檔內容

依據行序意義依序如下:

X方向的像元解析度:往X(橫軸)正方向每一方格多少公尺
平移量
旋轉量
Y方向的像元解析度:往Y(橫軸)正方向每一方格多少公尺,因為是左上角開始算在數學上Y往上才是正,因此左上已經是最上面之後的格子都是往下走,所以是負值
左上角的X座標  (這裡已設定為TWD97座標)
左上角的Y座標  (這裡已設定為TWD97座標)

為何下面沒有像ASC檔有大量的高程值?

因為數值都存在 tif 檔裡面了,tfw檔就是負責去定義它的位置與網格而已

-------------------------------------------------------------------------------------------------------------------------

STEP 2


將下載到的SRTM檔案,定義座標(WGS84)後打開

〈 注意:操作的圖層皆應為同一座標 〉



STEP 3


將四張RASTER結合

工具路徑:ArcToolbox\Data management tools\Raster\Raster dataset\Mosaic

**Target Raster:以哪一張為基準,去結合其他張,完成後這張就會變成所有的範圍

**結合完成後,需至Catlog再確認一次座標是否設定正確



STEP 4


將結合好的圖,投影成為常用的TWD97座標系統

工具路徑:ArcToolbox\Data management tools\Projection and transformations\Raster\Project raster

**於圖面邊緣可見變形,為橫麥卡托(Transfer Mercator)投影的結果





STEP 5


以縣市圖層切割DEM

工具路徑:ArcToolbox\Spatial Analyst Tools\Extration\Extract by Mask

**在切割RASTER檔案時,較建議使用這個功能

**進入Environment,將Extent設定選擇為縣市圖層

**下拉至Raser Analysis,Cell size網格大小設定為與來源相同(same as the DEM layer),並將Mask定義為縣市圖層





STEP 6


如此,即可切割出由"縣市.shp"檔案所規範切出的DEM範圍

**確認右下的座標數值,是否與TWD97座標常見之數值相同,若出現經緯度的數值,代表在上面的步驟中投影轉換可能已失敗






第二種切割法

我們由中央研究院GIS中心下載"台灣30米數值地形模型資料"


這個資料是由NASA與METI推出的全球數值地形資料,也可以從ASTER  DEM下載的相關網頁載得

當你在GIS軟體中打開後會發現,長成這副鬼樣子...

上面已經操作過如何用SHP檔案切割,這次,我們換個方式。


STEP 1


我們這次利用計算網格高程數值的方式來切割

理論上海底下的部分我們無法得知,因為在這個檔案裡面高程沒有負值,但是數值是"0"的部分非常多

雖然它代表的是海平面,或是與海平面接近的陸地,但我們為了方便研究需要,必須將其去除。

工具路徑:ArcToolbox\Spatial Analyst Tools\Reclass\Reclassify

這個功能,可以讓我們去區辨,屬於"0" 與 非"0" 的部分,二分法的目的,就是希望將大片的海洋和陸地作區別



STEP 2


點選"Classify",將區間分為"2"


STEP 3

**想法:我不要海洋的部分,也就是高程值是0的我都不要,因此要將"0"的部分,設為no data

那0以上,就是陸地部分,也就是我要的,所以要保留,因此"0~4000"設為"1"

**由於這張ASTER高程值皆為整數,沒有小數點,所以設定"0~4000"的意義等同於"1~4000"

**觀察DEM的高程值,在保留陸地的高程的時候,可以將最高值再往上加到漂亮的整數,第一是好看,第二是避免計算的太接近可能出錯



因此,就會出現下圖,藍色部分為數值"1",外邊沒有的為"NO DATA"


這樣出來雖然有了邊界,但還不能為我們所用

這樣設定的目的,是因為接下來要將這張Reclassify的圖,與原本的DEM圖層相乘


STEP 4


工具路徑:ArcToolbox\Spatial Analyst Tools\Map Algerba\Raster Caculator

這是一個在進行RASTER資料分析時,很常用的功能


雙擊讓圖層進入到運算式中,使用中間數學符號" * ",表示兩者相乘

**相乘的意義:原本是海洋的部分數值為"0",相乘"no data"後為"no data";原本陸地的部分都有0以上的高程值,因此乘以"1"表示維持原本的數值

**但是,如果是潟湖或是沿海低地的部分,也是海平面,就會一起 "no data"

STEP 5

到此,即可呈現已經去除高程"0"部分的DEM

當然,有些不需要的部分,就自行再用SHP切割


討論


⇒以SHP切割台灣本島  與  以RASTER CACULATOR的優劣

以SHP切割,就必須有那個地區的檔案,檔案有時不是open data或是行政區邊緣精度不足時,切割會變得沒有效益,但切割出來的區域非常精確,不會平白損失國土

以raster caculator 以數學方式計算,因為海洋部分一定是"0",但陸地有些地方低於海平面但也還是國土,或者剛好是跟海平面等高的區域,都會一併被乘為"no data" 。但這樣的好處是在遇到沒有SHP的區域時,可以快速的二分法做出檔案



沒有留言:

張貼留言