





摘 要:在Visual Studio 2012平臺上,用C#語言結(jié)合ArcGIS Engine組件開發(fā)森林資源管理系統(tǒng),將面向?qū)ο蟮乃枷霊?yīng)用于森林資源管理中,將小班對象的空間特性、屬性特性、時間特性統(tǒng)一管理,存儲小班對象的歷史數(shù)據(jù)、變更過程、變更結(jié)果,完整掌握小班對象的變化過程,重現(xiàn)森林資源小班數(shù)據(jù)的歷史狀態(tài),實現(xiàn)森林資源小班可視化瀏覽、查詢、專題圖、數(shù)據(jù)更新等多個功能,為林業(yè)管理部門全面掌握森林資源的動態(tài)變化及進行動態(tài)分析管理提供高效可靠的技術(shù)支撐,為森林資源保護提供科學依據(jù)。
關(guān)鍵詞:面向?qū)ο螅簧仲Y源;ArcGIS Engine;森林資源管理系統(tǒng);數(shù)據(jù)庫
中圖分類號:S757 " " " "文獻標志碼:A " " " " "文章編號:2096-9902(2023)05-0018-04
Abstract: On the Visual Studio 2012 platform, the forest resources management system is developed with C# language and ArcGIS Engine components. The object-oriented idea is applied to forest resources management. The spatial, property and temporal characteristics of the small class object are managed uniformly, the historical data, change process and change results of the small class object are stored, the changing process of the small class object is completely mastered, and the historical state of the forest resources subclass data is reproduced, so as to realize many functions such as visual browsing, query, thematic map and data update of forest resources in small class, and provide the efficient and reliable technical support for forestry management departments to fully grasp the dynamic changes of forest resources and carry out dynamic analysis and management, which can provide the scientific basis for forest resources protection.
Keywords: object-oriented; forest resources; ArcGIS Engine; forest resources management system; database
地理信息系統(tǒng)(Geographic Information System,簡稱GIS)是在計算機硬件、軟件系統(tǒng)的支持下,對整個或部分地球表層(包括大氣層)空間中的有關(guān)地理分布數(shù)據(jù)進行采集、儲存、管理、運算、分析、顯示和描述的技術(shù)系統(tǒng)[1]。隨著科學技術(shù)的飛速發(fā)展,GIS已經(jīng)由單一的地學研究擴大到地質(zhì)勘探、衛(wèi)星遙感、軍事地形、自然資源管理、生態(tài)環(huán)境管理與模擬、區(qū)域規(guī)劃、應(yīng)急響應(yīng)及社會信息服務(wù)等相關(guān)領(lǐng)域[2]。GIS穩(wěn)定的數(shù)據(jù)管理技術(shù)越來越多地被應(yīng)用于森林資源管理、森林可持續(xù)經(jīng)營、決策分析、林火管理等領(lǐng)域。
森林是陸地生態(tài)系統(tǒng)的主體,是人類社會發(fā)展不可或缺的物質(zhì)基礎(chǔ)和重要資源。據(jù)第九次全國森林資源清查顯示,全國森林面積2.2億hm2,森林覆蓋率22.96%,森林蓄積175.6億m3,森林植被總生物量188.02億t,總碳儲量91.86億t。年涵養(yǎng)水源量6 289.50億m3,年固土量87.48億t,年滯塵量61.58億t,年吸收大氣污染物量0.40億t,年固碳量4.34億t,年釋氧量10.29億t[3]。森林在保育土壤、涵養(yǎng)水源、固碳釋氧、生物多樣性和凈化大氣環(huán)境等方面發(fā)揮著非常重要的作用[4]。保護好森林資源是義不容辭的責任和使命,是不斷踐行習近平生態(tài)文明思想的體現(xiàn),是構(gòu)建人類命運共同體的見證。
1 "研究方法
1.1 "森林資源數(shù)據(jù)分析
我國森林資源管理是以小班為基本單位,縣(林業(yè)局)級森林資源小班具有基數(shù)大、每年都有更新、更新范圍局部、更新數(shù)量相對較少和更新類型比較集中等特點[5]。小班具有空間信息和屬性信息,空間信息包括小班的邊界范圍、空間地理位置等;屬性信息包括小班的蓄積量、面積、樹種組成、地類、起源和林分類型等。小班的變化主要有2種,一是林木的自然生長和死亡,其會引起小班蓄積、郁閉度等屬性信息的變化;二是人類經(jīng)營活動(采伐、造林更新等),其會引起小班邊界、面積、樹種組成、蓄積等空間和屬性信息同時發(fā)生變化[6]。我國森林資源二類調(diào)查是通過遙感影像內(nèi)頁判讀和外業(yè)調(diào)查結(jié)合的方式實現(xiàn),工作繁瑣、數(shù)據(jù)量巨大、工作成本高,產(chǎn)生的歷史數(shù)據(jù)和變化的過程難以保存,然而歷史數(shù)據(jù)是研究森林資源變遷、預測預報和決策分析的重要依據(jù),因此建立能合理保存、管理和利用歷史數(shù)據(jù)的系統(tǒng)是非常必要的,對科學經(jīng)營、管理、發(fā)展森林資源有舉足輕重的意義。
1.2 "面向?qū)ο笏枷?/p>
面向?qū)ο螅∣bject Oriented,OO)是一種“萬物皆對象”的編程思想,其認為在現(xiàn)實生活中的任何物體都可以歸為一類事物,而每一個個體都是一類事物的實例[7]。面向?qū)ο蠹夹g(shù)能夠?qū)崿F(xiàn)同一個實體在不同歷史時期的集成,核心是以面向?qū)ο蟮幕舅枷虢M織地理時空,每個地理時空對象都擁有唯一標示,且用唯一標識相互關(guān)聯(lián),對象的空間特性、屬性特性、時間特性具有同等重要的地位[8]。面向?qū)ο缶哂形ㄒ恍浴⒎诸愋浴⒗^承性和多態(tài)性等特征。
1.3 "面向?qū)ο笏枷胍肷仲Y源管理中
將面向?qū)ο蟮乃枷胍肷仲Y源管理中,以小班作為基礎(chǔ)的管理對象,給每個小班對象賦予一個唯一標識,小班對象的空間特性、屬性特性、時間特性具有同等重要的地位。小班(父小班)發(fā)生變化后,生成一個或者多個新小班(子小班),新小班(子小班)用新的唯一標識來標示,產(chǎn)生的變化過程用變更記錄表記錄,產(chǎn)生的歷史數(shù)據(jù)(父小班)存入歷史記錄中,這樣就完整存儲了最新數(shù)據(jù)、變更過程、歷史數(shù)據(jù),做到了變化有據(jù)可依、有源可溯。
2 "數(shù)據(jù)庫設(shè)計
2.1 "數(shù)據(jù)庫選擇
系統(tǒng)使用PostgreSQL作為系統(tǒng)數(shù)據(jù)庫,是一個功能強大的開源數(shù)據(jù)庫,支持多用戶并發(fā)操作,可用于安全地存儲數(shù)據(jù)。采用的是比較經(jīng)典的C/S(Client/Server)結(jié)構(gòu),核心是數(shù)據(jù)庫服務(wù)端進程,客戶端程序無法直接訪問數(shù)據(jù)庫,須通過數(shù)據(jù)庫進程訪問存儲的數(shù)據(jù)。可在所有主流操作系統(tǒng)(Linux,UNIX、Windows等)上運行;支持文本、圖像、聲音和視頻,并包括用于C/C++、C#、Java和開放數(shù)據(jù)庫連接(ODBC)的編程接口;支持SQL的許多功能,例如復雜SQL查詢、外鍵、觸發(fā)器、視圖、事務(wù)和多進程并發(fā)控制(MVCC)等[9]。
2.2 "小班對象存儲設(shè)計
基于面向?qū)ο蟮纳仲Y源管理系統(tǒng),存儲對象包括歷史數(shù)據(jù)、變更過程數(shù)據(jù)、變更結(jié)果數(shù)據(jù)、現(xiàn)狀數(shù)據(jù),創(chuàng)建基態(tài)庫、關(guān)聯(lián)庫和變更庫存儲不同的數(shù)據(jù)。小班對象發(fā)生變更時,變更的小班對象為父小班,變更后的小班對象為子小班。
基態(tài)庫:存儲基態(tài)數(shù)據(jù),基態(tài)數(shù)據(jù)包括某個特定時刻的所有歷史數(shù)據(jù)和最新的現(xiàn)狀數(shù)據(jù)。
關(guān)聯(lián)庫:關(guān)聯(lián)庫中存儲小班對象的變更關(guān)聯(lián)關(guān)系、小班對象的創(chuàng)建和消亡時間。變更關(guān)聯(lián)關(guān)系中存儲小班對象變更前后父小班唯一標識、子小班唯一標識和變更類型;小班對象的創(chuàng)建和消亡時間存儲在小班時間索引表中,通過記錄小班對象的唯一標識、創(chuàng)建、消亡時間來掌握小班對象在現(xiàn)實世界中存在的時間。
變更庫:存儲相對于基態(tài)發(fā)生變化的數(shù)據(jù)。該庫中的存儲子小班對象,便于追根溯源,小班對象的數(shù)據(jù)結(jié)構(gòu)和基態(tài)庫中的小班對象結(jié)構(gòu)一致。
小班對象發(fā)生變更后,要更新3個庫中的數(shù)據(jù),首先在變更庫中記錄相對于基態(tài)發(fā)生的變更結(jié)果;然后在關(guān)聯(lián)庫中記錄父小班、子小班的變更關(guān)聯(lián)關(guān)系,更新父小班消亡時間,新建子小班創(chuàng)建記錄;最后將變更的結(jié)果更新到現(xiàn)狀數(shù)據(jù)中。父子小班通過關(guān)聯(lián)庫中的關(guān)聯(lián)關(guān)系進行關(guān)聯(lián),可以用過小班對象的唯一標識和關(guān)聯(lián)關(guān)系找到任意時刻的變更情況,可以恢復任意時刻的小班對象。
2.3 "數(shù)據(jù)庫設(shè)計
2.3.1 "小班對象數(shù)據(jù)結(jié)構(gòu)
小班數(shù)據(jù)以矢量數(shù)據(jù)的方式存儲在數(shù)據(jù)庫的小班數(shù)據(jù)集中,小班對象的屬性字段包括:小班唯一標識、小班空間信息、行政區(qū)代碼、林班號、小班號、地類、起源、公頃株數(shù)、郁閉度、樹種組成、林分類型、優(yōu)勢樹種、齡組、小班公頃蓄積、小班蓄積、小班面積和坡度。
2.3.2 "變更關(guān)聯(lián)關(guān)系數(shù)據(jù)結(jié)構(gòu)
變更關(guān)聯(lián)關(guān)系中存儲父小班唯一標識、子小班唯一標識、變更類型、變更時間,見表1。
2.3.3 "小班時間索引數(shù)據(jù)結(jié)構(gòu)
小班時間索引中記錄小班對象唯一標識、創(chuàng)建時間、消亡時間,見表2。
3 "系統(tǒng)功能設(shè)計與實現(xiàn)
3.1 "開發(fā)/運行環(huán)境
結(jié)合森林資源管理的實際情況,系統(tǒng)選擇C/S架構(gòu),在Visual Studio 2012平臺上,結(jié)合C#開發(fā)語言和ArcGIS Engine組件,開發(fā)了一套林場級的森林資源更新管理系統(tǒng),實現(xiàn)基層森林資源科學、有效的管理。
ArcGIS Engine是美國ESRI公司推出的可伸縮、全面、功能強大的GIS產(chǎn)品和解決方案,可以結(jié)合.NET、JAVA、VB和C++進行二次開發(fā),功能強大且擴展能力很強,可根據(jù)不同需求組合使用相關(guān)接口實現(xiàn)功能,允許開發(fā)者將精力集中到解決應(yīng)用程序邏輯中,支持全部標準的開發(fā)環(huán)境,允許使用大范圍的工具進行編程[10-12]。
3.2 "系統(tǒng)功能設(shè)計與實現(xiàn)
系統(tǒng)主要包括5個大的模塊,分別是基本操作、查詢定位、統(tǒng)計分析、專題圖、數(shù)據(jù)更新。系統(tǒng)功能模塊圖如圖1所示。
3.2.1 "基本操作
基本操作包括地圖基本操作,即圖層加載、放大縮小、漫游、全圖、上一視圖和下一視圖等功能。加載圖層可以添加矢量圖層、柵格圖層等。
3.2.2 "查詢定位
查詢定位包括I鍵查詢、SQL查詢、點選查詢、線選查詢、面選查詢、點緩沖查詢、線緩沖查詢、面緩沖查詢、小班定位和清除查詢等功能。SQL查詢主要是根據(jù)小班對象的屬性進行查詢,按照輸入的查詢條件,查詢最新數(shù)據(jù)中滿足條件的數(shù)據(jù),然后將查詢的結(jié)果展示到查詢結(jié)果中。小班定位是按照小班所屬林班、小班號等屬性進行查詢定位。
3.2.3 "統(tǒng)計功能
統(tǒng)計分析實現(xiàn)了按照林班統(tǒng)計小班信息的功能,統(tǒng)計信息包括小班個數(shù)、小班總蓄積、散生木蓄積、枯倒木蓄積、政區(qū)面積、政區(qū)公頃蓄積和政區(qū)公頃株數(shù)等。
3.2.4 "專題圖
專題圖直觀地反映圖層中某個屬性的分布情況,使用直觀的點狀、柱狀、餅狀圖將屬性信息一目了然展示出來。實現(xiàn)了簡單渲染、點密度圖、分級渲染、柱狀圖和餅狀圖等。按照公頃株樹和小班公頃蓄積渲染的柱狀圖如圖2所示。
3.2.5 "數(shù)據(jù)更新
按照小班對象的基本變更類型,數(shù)據(jù)更新分為小班創(chuàng)建、小班屬性變更、小班分割、小班合并和小班邊界調(diào)整等。小班對象更新時,首先開啟編輯,然后選擇要進行變更的小班,最后點擊菜單上的對應(yīng)變更菜單進行變更操作,變更完成后會自動保存變更結(jié)果。
小班編號為3001、3010的2個小班經(jīng)過合并形成3022小班。如圖3、4所示。
4 "結(jié)論
結(jié)合面向?qū)ο蟮乃枷朐O(shè)計并實現(xiàn)森林資源管理系統(tǒng),實現(xiàn)了森林資源小班對象變更前后、變更過程、變更關(guān)系的存儲,便于追根溯源,同時能夠展示某一歷史時刻的小班數(shù)據(jù),對小班對象的信息展示更加準確,語義更加豐富,時間信息把握更加有效,提高了森林資源信息化水平,為森林資源管理、保護森林資源及制定森林資源管理計劃提供有科學、高效、規(guī)范的技術(shù)支撐。下一步將對系統(tǒng)的效率進行優(yōu)化,爭取能夠更加高效地管理森林資源。
參考文獻:
[1] 范文義,周洪澤.資源與地理信息系統(tǒng)[M].北京:科學出版社,2003.
[2] 何瑞珍.基于GIS的林業(yè)管理信息系統(tǒng)的研究[M].鄭州:河南農(nóng)業(yè)大學,2004.
[3] 國家林業(yè)和草原局.中國森林資源報告(2014—2018)[M].北京:中國林業(yè)出版社,2019.
[4] 森林生態(tài)系統(tǒng)服務(wù)功能評估規(guī)范:GB/T 38528—2020[S].
[5] 高金萍.基于時態(tài)GIS的森林資源基礎(chǔ)空間數(shù)據(jù)更新管理技術(shù)的研究[D].北京:北京林業(yè)大學,2006.
[6] 汪璀.縣級森林資源小班數(shù)據(jù)更新系統(tǒng)的研制[M].北京:北京林業(yè)大學,2010.
[7] David Yevick. A First Course in Computational Physics and Object-Oriented Programming with C++[M].北京:世界圖書出版公司,2015.
[8] PEUQUEST D. An event-based spatiotemporal date Model(ESTDM) for temporal analysis of geographical data[J].Internation Journal of Geographic Information System,1995,9(1):7-24.
[9] 唐成.PostgreSQL修煉之道:從小工到專家[M].2版.北京:機械工業(yè)出版社,2020.
[10] ESRI.What is ArcGIS10.0[Z].Environment System Research Institute,Inc,2011.
[11] 邱洪剛.ArcGIS Engine地理信息系統(tǒng)開發(fā)從入門到精通[M].2版.北京:人民郵電出版社,2013.
[12] http://zhihu.geoscene.cn/[EB/OL].