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中鄰域的形狀和大小。