姜佳曄
(遼寧省林業調查規劃監測院,遼寧 沈陽 110112)
根據《國家森林督查暨森林資源管理“一張圖”年度更新技術規定》的要求,遼寧省森林資源管理“一張圖”年度更新應將森林資源管理“一張圖”中的線狀(林帶)和點狀(鐵路等)圖斑用面狀圖斑表示,統一區劃到小班面圖層,同時確保圖斑屬性因子不發生改變。本文以遼寧省部分線狀和面狀圖斑為實驗數據,就如何利用ArcGis平臺批量解決線狀圖斑轉面狀圖斑的方法進行探討和研究[1]。
首先將實驗區線狀林帶圖斑轉換成面狀圖斑。通過Arcgis的Buffer功能,以線狀林帶圖斑的寬度屬性作為緩沖距離,并保留原線狀圖斑的屬性因子信息,將線狀圖斑緩沖為平整緩沖區,即為面狀的林帶圖斑。具體效果見圖1及圖2[2]。
生成的林帶面狀數據由于原始區劃的誤差,存在部分圖斑面之間的邊角重疊和交叉重疊。要實現重疊圖斑的消除并保證圖斑的完整,不出現碎斑,我們擬通過arcgis的Union+DeleteIdentical+Dissolve功能的聯合操作來實現。Union功能生成并輸出重疊圖斑的并集;Delete Identical功能將具有相同位置信息的圖斑進行刪除;Dissolve功能實現了將具有相同關鍵字段的多個圖斑進行溶解合并,保證了圖斑的完整,消除了碎斑。具體實現的效果如圖3、4、5[3]。
交叉圖斑經過重疊圖斑處理后,會出現部分圖斑被切斷,形成屬性一致的幾個圖斑,需要重新修改其中重復的小班號,保證各縣、鄉、村、林班中的小班號唯一[4~7]。

圖1 林帶線狀圖斑

圖2 緩沖林帶面狀圖斑

圖3 原林帶圖斑

圖4 Union處理

圖5 Dissolve處理
首先在屬性界面中建立新字段“HM”,執行以下語句,將重復小班號重新賦值。
static e as object
Static iAs Long
Dim lSerial As LONG
DIM HM AS STRING
Dim sField
If (i = 0) Then
Set e = CreateObject("Scripting.Dictionary")
End If
If (e.Exists(CStr(sField))) Then
lSerial = e.Item(CStr(sField)) + 1
e.Item(CStr(sField)) = lSerial
Else
lSerial =500
e.AddCStr(sField), lSerial
End If
HM = lSerial
i = i + 1
林帶面狀圖層與原小班面狀圖層融合到一個圖層中,要保證小班面狀圖層中的林地小班不受影響,并且屬性字段不缺失不錯位。首先將非林地小班和林地小班分別提取成單獨的圖層,然后采用Identity功能將林帶面狀圖層帶屬性與非林地小班疊合,并輸出保留非林地小班圖層為控制邊界,包含林帶面狀圖層信息的單一圖層,即新非林地圖層。具體效果如圖6。
Identity輸出的單一圖層即包含了原非林業小班標準字段,也包含新的林帶面狀圖斑的字段,需要將兩種字段統一成標準字段。將新非林地圖層重新拆分為非林地圖層和林帶圖層兩個單獨圖層。然后在Arccatalog中將非林地圖層和林帶圖層分別對應目標字段導入到小班面圖層中(具體見圖7),并重新計算其中的林帶面積,生成最終的小班面狀圖斑,實現森林資源管理“一張圖”的線轉面。

圖6 林帶圖層與非林地圖層的融合

圖7 目標字段與源字段
(1)緩沖生成的林帶面狀圖斑需要在影像下進行校驗,如果林帶面狀圖斑與影像符合程度較好,該方法可以快速便捷地將林帶線狀圖斑融合到小班面狀圖斑中。如果緩沖生成林帶面狀圖斑與影像符合程度較差,建議重新區劃林帶面狀圖斑后,在進行后續融合步驟。
(2)本文探討的是一種很好的批量解決線轉面的處理方法,不僅可以在本次森林資源管理“一張圖”線面統一區劃工作中應用,在其他的業務工作中也可起到一定的啟發作用。