柵格計算器

柵格計算器

柵格計算器是一種空間分析函式工具,可以輸入地圖代數表達式,使用運算符和函式來做數學計算,建立選擇查詢,或鍵入地圖代數語法。

基本介紹

  • 中文名:柵格計算器
  • 外文名:Raster Calculator
  • 性質:一種空間分析函式工具
  • 作用:可以輸入地圖代數表達式
柵格計算器(Raster Calculator),工作原理,使用柵格計算器工具,地圖代數語言,

柵格計算器(Raster Calculator)

可輸入柵格數據、柵格圖層、coverages,shapefiles,表格,常數,數值。在“空間分析”(Spatial Analyst)下拉選單中可找到。柵格計算機使用“運算符”和“函式”來執行任務。
函式(functions)
1. 函式執行專門任務,如由海拔(elevation)計算邊坡(slope),通常返回的是數值。柵格計算機提供算術函式、三角函式、指數對數函式以及冪函式。
2. 套用實例(實習數據:landuse,elevation):
① 對landuse每個柵格取平方(平方後=sqr([landuse]))
② 柵格數據空間分析函式:用山體陰影函式(hillshade)作用於elevation圖層得到立體形態(立體圖=hillshade([elevation]))
運算符(operators)
運算符的使用通常與科學計算器相類似。柵格計算器提供算術運算符、關係運算符以及布爾運算符。
①算術運算符(+,-,*,/)。加減乘除四則運算。對相應空間位置上的柵格單元進行算術運算,可用於土地利用價值的評價。規則:整數的運算是整數;浮點數與整數的運算得到的結果是浮點數;Mod運算符的結果是整數(實習數據:landuse):
(1)選擇出耕地柵格(耕地=[landuse] == 5),選擇出森林柵格(森林=[landuse] == 6);
(2)將耕地和森林柵格相加(綠地=[耕地] + [森林]),又例如創建三個火災危險性柵格,互相疊加顯得出新的全面危險分析柵格。
(3)用來轉換值從一個測量到另一個(例如, x英尺= 0.3048米)。
②關係運算符(>,<,==,<=,>=,<>)。建立邏輯測試,返回真假值(true (1),false (0))(實習數據:landuse,mask,elevation)。
(1)選擇出城區柵格(設定環境加Mask)(城區=[landuse]);
(2)選擇出高程高於1000的柵格(高地=[elevation] > 1000)。
③布爾運算符(和and ^,或or &,異或xor !,非not | )。and:當相同位置的柵格單元取值不為0時,返回1,但有一個柵格中取值0時,返回0連結邏輯測試(實習數據:landuse,mask,elevation):選擇高於1000m的城區柵格(高城區=[高地]&[城區])
④邏輯運算符(diff,in,and over)。不同運算符有不同結果(實習數據:xs_1991和xs_2006):
(1)A diff B:差異運算符:對兩個柵格圖層單元格的數值是否存在差異進行計算。數值沒有差異的單元格賦值為0,數值有差異的返回第一個輸入數據集中單元格的數值。檢測土地利用的變化([xs_2006] diff [xs_1991])如果diff左右兩柵格單元內有不同值(cell value),取左舍右,如果相同返回零值(zero);
(2)A in {value list}:如果A的某柵格單元內值屬於值列表,則返回,否則返回NoData。包含運算符:第一個輸入是一個表達式(通常是一個柵格或一個數據列),第二個輸入是一組數字。基本思想:用預先選出的一組數字和柵格矩陣中的數值作比較,和這組數字不一致的單元格賦值為0,相當於利用這組數字作為選擇柵格單元的條件。例:在Grid1中分離出數值為2和4的單元格。多用於查詢;
(3)A over B:如果A內某柵格單元值為零,則返回,否則返回B。非零查找與替換運算符。對兩個輸入柵格矩陣搜尋0值單元格,第一個矩陣中的所有單元格中的非零值作為其輸出,當第一個輸入矩陣中的單元格的值為0時,用第二個柵格矩陣相應位置的單元格數值進行賦值。多套用-如果第一個輸入中0值代表居住用地,第二個輸入是環境質量類型區,則這一方法,可分析不同的居住區的環境質量狀況。

工作原理

柵格計算器用於在工具中創建和執行“地圖代數”表達式。與其他地理處理工具一樣,柵格計算器可以在“模型構建器”中使用,從而可以更輕鬆地在工作中發揮“地圖代數”的功用。
柵格計算器具有如下的獨有優勢:
  • 執行單行代數表達式。
  • 使用“模型構建器”時,支持在“地圖代數”中使用變數。
  • 為一個表達式的三個或更多的輸入套用 Spatial Analyst 運算符。
  • 在一個表達式中使用多個 Spatial Analyst 工具。
柵格計算器用於通過簡單的、類似計算器的工具界面,使用多種工具和運算符來執行單行代數表達式。當在一個表達式中使用多種工具或運算符時,該公式的執行速度一般會比分別執行每個運算符或工具的速度要快。

使用柵格計算器工具

工具對話框中有四個主要區域用於創建“地圖代數”表達式:
1、圖層和變數
輸入圖層和變數列表識別了可以在“地圖代數”表達式中使用的輸入。單獨使用此工具時,該列表將包含內容表中的圖層。在“模型構建器”中使用此工具時,該列表將包含內容列表中的圖層、模型中創建的輸出以及其他模型變數。
2、計算器和運算符按鈕
使用計算器按鈕可以在表達式中輸入數值。使用運算符按鈕可以將數學運算符(加、除等)和邏輯運算符(大於、等於等)輸入表達式。通過單擊這些按鈕,可以將數字或運算符輸入到表達式中游標當前所在的位置。注意確保表達式遵循正確的規則地圖代數語法規則。
3、工具
在該工具列表中,可以方便地選擇能在“地圖代數”表達式中使用的工具。通過單擊列表中的工具,該工具的名稱以及括弧的左右半邊 [()] 將被放置在表達式中游標當前所在的位置。然後必須輸入該工具所需的其他輸入內容。雖然工具可以放置在表達式的任何位置,但是它應放置在可以生成有效的“地圖代數”語法的位置。
4、表達式
“地圖代數”將要執行的表達式。此表達式必須使用有效的語法輸入。請參閱以下部分,了解有關“地圖代數”語法規則的詳細信息。

地圖代數語言

“地圖代數”是一種簡單而強大的代數語言,利用它您可以操作所有 Spatial Analyst 工具、運算符及函式以執行各種地理分析。
在柵格計算器中使用的“地圖代數”含有語法或規則集,“地圖代數”必須遵循這些語法或規則集才能創建有效的表達式。如果不遵循這些規則,創建的表達式可能會無效並且無法執行,或者得不到預期的結果。
“地圖代數”不僅可以通過柵格計算器工具來訪問,還可以通過使用 Spatial Analyst ArcPy 模組的 Python 腳本來訪問。在此工具中使用相同的“地圖代數”語法,但以下情況除外:
  • 不必將輸出柵格名稱或等號 (=) 填入表達式,因為該輸出名稱已在輸出柵格參數中指定。
  • 在使用運算符時,不必將輸入柵格轉換為柵格對象

相關詞條

熱門詞條

聯絡我們