柵格計算器小知識集錦

http://blog.sina.com.cn/s/blog_7e88bdd80100u9gv.htmlhtml

 

1.柵格計算器中,表達式中的圖層名要用[]括起來,運算符先後都要加空格,否則會出錯。函數

2.Con命令工具

命令使用方法有兩種lua

一是使用柵格計算工具(Spatial Analyst/Raster Calculator),輸入柵格表達式後執行柵格計算(Evaluate)(下圖)。htm

 

 

表達式輸入方法爲:con(條件, 條件爲真時的值,條件爲假時的值)blog

具體如con(isnull([dem]),0,[dem])或con( [dem] == 0,0,[dem])等。get

若是要執行多個條件語句,則在每一個con語句結束時用分號(;)隔開。it

二是直接調用ArcToolbox下的con工具(Spatial Analyst Tools/Conditional/Con)。與ArcToolbox中的其餘工具相似,定義好相關參數後便可執行該命令。此外,在ArcToolbox中該工具名稱上單擊右鍵能夠進行批處理(Batch)。io

3.Nibbl命令ast

    命令使用方法有兩種:

一是使用柵格計算工具(Spatial Analyst/Raster Calculator),輸入柵格表達式後執行柵格計算(Evaluate)。

表達式輸入方法爲:nibble(mask圖層, 原始數據)

具體如nibble ([dem_Nodata]),[dem])等。

二是直接調用ArcToolbox下的Nibble工具(Spatial Analyst Tools/Generalization/Nibble)。與ArcToolbox中的其餘工具相似,定義好相關參數後便可執行該命令。此外,在ArcToolbox中該工具名稱上單擊右鍵能夠進行批處理(Batch)。



 

須要注意的是:一般咱們認爲輸入圖層應該爲原始圖層,mask圖層應爲通過處理的圖層,但在不少狀況下,這種作法得不到咱們想要的結果,把圖層順序調整一下,就能獲得咱們想要的結果。至於緣由,本人目前也不是很清楚,若是遇到問題,能夠試着這樣去處理。

4.DEM無值區或零值區替換

對於像元值是整型的DEM,用Con命令和Nibble命令相結合的方法便可實現。

對於像元值是浮點型的DEM,在Con命令的基礎上,配合使用focalmean函數便可實現。

focalmean函數的表達式輸入方法以下:

focalmean (原始數據,鄰域形狀 ,鄰域大小)

具體如focalmean([dem],rectangle,5,5)等。

Con命令和focalmean函數配合使用時,在柵格計算工具(Spatial Analyst/Raster Calculator)中,輸入以下柵格表達式:

con(isnull([dem]), focalmean([dem],rectangle,5,5),[dem])



 

實際應用中,根據數據狀況,應適當修改focalmean中鄰域的形狀和大小。

相關文章
相關標籤/搜索