Featured image of post 適合造林的地點 — 非洲的尤加利樹

適合造林的地點 — 非洲的尤加利樹

找出非洲最適合種植尤加利樹的區域。

目標

從非洲找出適合種植尤加利樹的區域。

條件

  1. 年雨量在 700-2500 mm
  2. 雨季:夏季
  3. 最熱月均溫最高 31 ℃
  4. 最冷月均溫最低 -1 ℃
  5. 年均溫在 14-22 ℃

南、北半球

在此資料中,北半球的座標範圍為 r:0-227;南半球的座標範圍為 r:228-437。

季節

北半球夏季:5 月至 10 月。
北半球冬季:11 月至隔年 4 月。

南半球夏季:11 月至隔年 4 月。
南半球冬季:5 月至 10 月。

雨季

雨季會至少比乾季多出 30% 的雨量。如果夏季雨量比冬季多 30%,則夏季為雨季。同理,如果冬季雨量比夏季多 30%,則冬季為雨季。

Marco Modeler 操作

年雨量在 700-2500 mm

annprec 為年雨量:

操作 reclass 取出我們需要的區域:700-2500 mm。

建立一個 rcl. 檔,取名為 annprec,內容如下:

1
2
3
1 700 2500
0 0 700
0 2500 9999

再放入 reclass 內,output 的檔名取名為 annprecb,這樣我們第一個條件就完成了。

滿足第一個條件的模型

雨季:夏季

因為不管南、北半球,都是以 5-10 月與 11 月到隔年 4 月分兩季。所以先將 12 個月份相加為兩組,分別為 5-10 月的 may2octprec 與 11月到隔年 4 月的 nov2aprprec,可以用上方工具列的計算機 Image Caclulator。相加後的結果如下:

然後雨季的定義如上方條件的補充,雨季至少比乾季多 30% 的降雨量。所以夏季/冬季 > 1.3 的話,則夏季即為雨季,但其實只要冬季不為雨季就好,所以取 1.3 的倒數 1/1.3 ≓ 0.77,最後的結果為夏季/冬季 > 0.77。

使用 overlay夏季/冬季冬季/夏季,使用的除法為 zero option,如下圖,output 的檔案分別取名為 ratio1、ratio2。

然後再分別進行 reclass 取出需要的區域:雨季不為冬季的區域。

建立一個 rcl. 檔,取名為 rainseason,這個 rcl. 檔兩組都可以用,內容如下:

1
2
0 0 0.77
1 0.77 999

再放入 reclass 內,output 的檔名分別取名為 Nrainseason 與 Srainseason(北半球與南半球)。

此時的模型如下:

因為南北半球的季節不一樣,北半球的部分只要取圖片上半部;南半球的部分只要取圖片下半部。

使用 intital 建立兩個值為 1 的空白像素圖,intital 內 Intital value 的部分從 0 改成 1(值為 1 的空白像素圖):

output 的影像分別取名為 u1d0 與 u0d1(u:up。d:down)。再分別對兩張像素圖使用 updte 設定影像的值。

北半球的範圍 (c, r) 為 (0→479, 0→227);南半球的範圍為 (c, r) 為 (0→479, 228→437),updte 內的資料如下:

  • Value to be inserted 為設定範圍的值,設定北半球的部分不要南半球,所以把南半球的範圍設定為 0;同理,設定南半球的部分不要北半球,所以把北半球的範圍設定為 0

座標

Terrset 左下角的座標有 c 與 r 跟 x 與 y 的座標。c 與 r 為電腦讀取影像的座標,x 與 y 為我們實際的座標(像是經緯度等)。

Run 的時候可以發現新的 u1d0 與 u0d1 沒有出來,那是 updte 再回傳,所以跑過 updte 的 u1d0 與 u0d1 就可以使用了。

再將 Nrainseason、Srainseason 分別與 u1d0、u0d1 使用 overlay 相乘,檔案也分別取名為 North 與 South。把 intital 模型先整組刪掉(前提是已先 Run 過前面的模型),因為 updte 的計算速度較慢,會影響到 North 與 South 的結果。

Output 出的 North 與 South 結果如下:

最後再把 North 與 South 使用 overlay 相加,就是滿足第二個條件的結果了,如下圖:

滿足第二個條件的模型

最熱月均溫最高 31 ℃

maxhot 為最熱月均溫(此溫度資料為攝氏溫度 × 10):

操作 reclass 取出我們需要的區域:0-310。

建立一個 rcl. 檔,取名為 maxhot,內容如下:

1
2
1 0 310
0 310 999

再放入 reclass 內,output 的檔名取名為 maxhotb,這樣我們第三個條件就完成了。

滿足第三個條件的模型

最冷月均溫最低 -1 ℃

mincold 為最冷月均溫(此溫度資料為攝氏溫度 × 10):

操作 reclass 取出我們需要的區域:-10~999。

建立一個 rcl. 檔,取名為 mincold,內容如下:

1
2
1 -10 999
0 -999 -10

這部分需要注意 0 的部分,-999 要在 -10 前面。

再放入 reclass 內,output 的檔名取名為 mincoldb,這樣我們第四個條件就完成了。

滿足第四個條件的模型

年均溫在 14-22 ℃

anntemp 為年均溫(此溫度資料為攝氏溫度 × 10):

操作 reclass 取出我們需要的區域:14-22 ℃。

建立一個 rcl. 檔,取名為 anntemp,內容如下:

1
2
3
1 140 220
0 0 140
0 220 999

再放入 reclass 內,output 的檔名取名為 anntempb,這樣我們第五個條件就完成了。

滿足第五個條件的模型

結果

五個條件都有了後,再使用 overlay 將五個全都相乘,最後的結果就是滿足五個條件,可以種尤加利樹的地方了。

結果圖

Marco Modeler 的所有流程

comments powered by Disqus
使用 Hugo 建立
主題 StackJimmy 設計