孔得雨,林偉波
(江蘇省海涂研究中心,江蘇南京 210036)
江蘇省沿海蘊(yùn)藏著豐富的灘涂資源,其面積約占全國總灘涂面積的25%,且有不斷淤漲的特征[1],主要包括土地資源、海洋能源、生物資源、港口航運(yùn)資源、海鹽資源、旅游資源等[2].灘涂資源是海岸帶的重要組成部分,沿海灘涂是海洋開發(fā)的前沿陣地.近年來,受氣候變化和低管控效率等因素的影響,灘涂海域的生態(tài)環(huán)境被破壞,生態(tài)系統(tǒng)功能退化,如何高效地監(jiān)測和保護(hù)灘涂資源、實(shí)現(xiàn)科學(xué)管控和可持續(xù)發(fā)展成為研究的熱點(diǎn).
目前,將灘涂資源遙感監(jiān)測與可視化技術(shù)結(jié)合的研究較多.在圖層方面,唐云等實(shí)現(xiàn)了三維復(fù)雜圖層,然而繪制的是柵格圖像,不能實(shí)現(xiàn)圖層屬性數(shù)據(jù)的空間查詢功能[3];在實(shí)體管理方面,楊一鵬等利用GIS技術(shù)實(shí)現(xiàn)了屬性和圖的互查,但在空間信息和屬性信息關(guān)聯(lián)以及動態(tài)拓?fù)渲貥?gòu)方面,還有改進(jìn)的空間[4];在系統(tǒng)設(shè)計(jì)方面,張毅等闡述了插件式GIS 應(yīng)用框架具備結(jié)構(gòu)清晰簡潔、支持復(fù)用、可擴(kuò)展性強(qiáng)、功能模塊間良好協(xié)作和易于維護(hù)等優(yōu)點(diǎn),但針對灘涂資源遙感監(jiān)測的行業(yè)應(yīng)用型地理信息系統(tǒng)軟件仍存在軟件開發(fā)效率不高和復(fù)用性較低等問題[5].所以,攻克灘涂資源遙感監(jiān)測系統(tǒng)中的關(guān)鍵技術(shù),建立高效的灘涂資源遙感監(jiān)測系統(tǒng)[6],對于實(shí)現(xiàn)灘涂資源準(zhǔn)確、高效的動態(tài)監(jiān)測以及相關(guān)決策的制定具有十分重要的意義.鑒于此,本研究利用GIS 技術(shù)、數(shù)據(jù)庫技術(shù)和插件技術(shù),構(gòu)建了一個對江蘇灘涂資源中的灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量、海岸線等因素進(jìn)行可視化的遙感監(jiān)測系統(tǒng).該系統(tǒng)以分層的形式表達(dá)各種所需要的展示信息,基于地理標(biāo)識語言的GIS 實(shí)體關(guān)系映射設(shè)計(jì),實(shí)現(xiàn)了GIS 實(shí)體的動態(tài)維護(hù)與展現(xiàn),以MapObject 作為基本GIS 地圖展現(xiàn)工具,提出了系統(tǒng)的總體結(jié)構(gòu)和功能模塊,實(shí)現(xiàn)了基于插件技術(shù)的灘涂資源遙感監(jiān)測系統(tǒng),在江蘇灘涂資源遙感監(jiān)測和資源保護(hù)中得到了廣泛應(yīng)用.
Geography Markup Language(GML)是一種XML編碼語言,主要用于建立模型、地理及其相關(guān)信息的傳輸及儲存,包含地理要素和層的空間與非空間特征[7].根據(jù)W3C 系列標(biāo)準(zhǔn),GML 通過網(wǎng)絡(luò)共享實(shí)現(xiàn)地理信息的具體表達(dá),同時也是在GIS 界首次被廣泛認(rèn)可的元標(biāo)記語言[8].為了讓地理信息能在不同領(lǐng)域進(jìn)行語義共享,GML 使用XML 技術(shù),為開發(fā)商和用戶搭建了一個不依賴于任何廠商的具有開放性質(zhì)的地理數(shù)據(jù)建??蚣埽?].
MapObject 簡稱MO,由美國 的ESRI(Environ?ment System Research Institute)開發(fā),是流行的組件式GIS 開發(fā)軟件.MO 地圖應(yīng)用組件在COM 技術(shù)基礎(chǔ)上開發(fā)而來,由稱為Map的ActiveX 控件和大概45個自動化對象組成.MO 是客戶端應(yīng)用業(yè)務(wù)常使用的地圖開發(fā)環(huán)境,因此,在標(biāo)準(zhǔn)編程環(huán)境下混合使用MO 和其他多媒體、圖形、數(shù)據(jù)庫開發(fā)技術(shù)可以搭建成熟的應(yīng)用軟件[10].
隨著面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)的發(fā)展,為提高軟件的靈活性與可擴(kuò)展性,提出了基于“框架+插件”的軟件設(shè)計(jì)模型[11],它按照功能進(jìn)行封裝,通過即插即用實(shí)現(xiàn)不同開發(fā)成果的快速構(gòu)建和復(fù)用,縮短了軟件開發(fā)周期,節(jié)約了開發(fā)成本.GIS 應(yīng)用框架完全實(shí)現(xiàn)了GIS技術(shù)在全行業(yè)應(yīng)用領(lǐng)域通用的底層服務(wù).
基于插件技術(shù)的灘涂資源遙感監(jiān)測系統(tǒng)能夠?qū)ρ睾5臑┩棵娣e、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量、海岸線遙感監(jiān)測等數(shù)據(jù)進(jìn)行入庫、分析和可視化展示,并以分層的形式表達(dá)灘涂資源遙感監(jiān)測信息.
系統(tǒng)建立在C/S結(jié)構(gòu)上,利用插件技術(shù)對系統(tǒng)模塊進(jìn)行封裝和統(tǒng)一管理.系統(tǒng)總體結(jié)構(gòu)由應(yīng)用表現(xiàn)層、中間邏輯層和數(shù)據(jù)服務(wù)層組成,具體如圖1所示.
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 System structure diagram
應(yīng)用表現(xiàn)層為用戶操作平臺,其功能分為GIS實(shí)體基本展示、灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量、海岸線遙感監(jiān)測等灘涂資源信息的管理及可視化展示.
中間邏輯層封裝了數(shù)據(jù)知識挖掘、空間分析等模塊的業(yè)務(wù)邏輯,其中計(jì)算機(jī)實(shí)現(xiàn)及動態(tài)GIS 實(shí)體邏輯是核心問題.
數(shù)據(jù)服務(wù)層為中間邏輯層提供方法源和數(shù)據(jù)源,包括由實(shí)體信息庫、元數(shù)據(jù)庫等構(gòu)成的GIS 知識庫.
灘涂資源遙感監(jiān)測系統(tǒng)主要是為海涂資源研究和管理人員提供灘涂濕地及海岸線遙感監(jiān)測等基礎(chǔ)信息的產(chǎn)品.其核心功能包括:基于GIS 可視化的沿海灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量、海岸線遙感監(jiān)測等基礎(chǔ)數(shù)據(jù).該系統(tǒng)由四個模塊組成:地圖管理模塊、灘涂濕地遙感監(jiān)測模塊、海岸線管理模塊、系統(tǒng)管理模塊.系統(tǒng)功能圖如圖2所示.
圖2 系統(tǒng)功能圖Fig.2 System function diagram
地圖管理模塊主要完成對GIS 地圖的基本操作,核心是利用基于GML 的GIS 實(shí)體動態(tài)映射方法,實(shí)現(xiàn)GIS 實(shí)體類、類屬性等的完全自定義;灘涂濕地遙感監(jiān)測模塊對江蘇灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量等遙感監(jiān)測信息進(jìn)行存儲管理、查詢、專題制圖以及可視化展示;海岸線管理模塊主要實(shí)現(xiàn)對海岸線遙感監(jiān)測結(jié)果的分析及可視化展示;系統(tǒng)管理模塊包括數(shù)據(jù)異常處理、權(quán)限管理、用戶管理模塊.本系統(tǒng)采用MapObject作為基本GIS 展現(xiàn)組件,是實(shí)現(xiàn)可視化展示的重要部分.
利用GML 描述地理對象的非空間屬性和空間屬性數(shù)據(jù),對GIS 實(shí)體進(jìn)行映射設(shè)計(jì),有利于實(shí)現(xiàn)對GIS 實(shí)體基本屬性、基本信息的動態(tài)維護(hù),進(jìn)而提高實(shí)體維護(hù)的靈活性.采用GML 設(shè)計(jì)思想,將灘涂濕地、海岸線、港口、碼頭等對象通過類型、對象、屬性、值進(jìn)行存儲,實(shí)現(xiàn)GIS 對象實(shí)體、屬性的動態(tài)維護(hù),具體如圖3所示.
圖3 GIS實(shí)體關(guān)系數(shù)據(jù)庫模型圖Fig.3 GIS entity relational database model diagram
系統(tǒng)數(shù)據(jù)庫主要由基礎(chǔ)地理信息數(shù)據(jù)庫、空間數(shù)據(jù)庫、屬性數(shù)據(jù)庫組成.
1)基礎(chǔ)地理信息數(shù)據(jù)庫
其包含用于可視化展示沿海灘涂遙感監(jiān)測和沿海岸線提取結(jié)果的基礎(chǔ)地理信息數(shù)據(jù),主要包括江蘇沿海濕地植被和土地利用狀況的數(shù)字線劃圖(DLG)數(shù)據(jù)、數(shù)字高程模型(DEM)數(shù)據(jù)、數(shù)字正射影像(DOM)數(shù)據(jù)及相應(yīng)元數(shù)據(jù)等.
2)空間數(shù)據(jù)庫
其包含不同類型及比例尺型號的空間數(shù)據(jù),組成要素包括江蘇沿海灘涂的行政區(qū)、灘涂植被、水體流向、海岸線、港口、碼頭等.
3)屬性數(shù)據(jù)庫
其包含用戶信息表、權(quán)限表、數(shù)據(jù)異常表等.
在GIS 的展現(xiàn)上,充分利用ASP.NET 的物理封裝與動態(tài)鏈接相結(jié)合的方法[12],結(jié)合MapObject強(qiáng)大的GIS 地圖表現(xiàn)功能,實(shí)現(xiàn)GIS 實(shí)體的靈活展現(xiàn).具體如圖4所示.
圖4 GIS地圖體系結(jié)構(gòu)Fig.4 GIS map architecture
物理上的封裝意味著將程序封裝成若干個獨(dú)立的物理組成部分,各部分之間通過動態(tài)鏈接共同完成系統(tǒng)的功能,有利于系統(tǒng)的維護(hù)和版本的升級.
在系統(tǒng)功能模塊的設(shè)計(jì)上,采用插件技術(shù),將系統(tǒng)劃分為具有不同功能的模塊插件,如GIS 實(shí)體管理模塊插件、灘涂濕地遙感監(jiān)測模塊插件、海岸線遙感監(jiān)測模塊插件等.系統(tǒng)通過相應(yīng)的接口將具體的模塊插件加入主程序中,系統(tǒng)模塊管理示意圖如圖5 所示.
圖5 系統(tǒng)模塊管理示意圖Fig.5 System module management diagram
平臺與插件之間需要交互的接口需滿足以下條件:
第一,能夠智能化識別插件.系統(tǒng)各功能模塊的劃分,需要插入很多插件,提供相應(yīng)接口對要加載的插件進(jìn)行自動化識別.接口需要先獲取插件的信息并判斷是否為目標(biāo)插件,若確定為目標(biāo)插件,需進(jìn)一步分析插件所需信息資源并自動創(chuàng)建匹配的運(yùn)行環(huán)境,使插件能正確地被調(diào)用并加入系統(tǒng)中.
第二,可自動化調(diào)用插件.當(dāng)插件智能化識別完成后,系統(tǒng)即可調(diào)用插件的具體功能.調(diào)用的方式主要包括自動調(diào)用和事件激活,其中自動調(diào)用是根據(jù)系統(tǒng)自身需求或客戶需求進(jìn)行調(diào)用,事件調(diào)用則是依據(jù)特定事件的信息進(jìn)行調(diào)用.
第三,實(shí)現(xiàn)平臺與多插件間的協(xié)調(diào)通信.接口實(shí)現(xiàn)了平臺和插件間的通信,接口對插件的單一調(diào)用以及多插件間相互協(xié)同的通信問題,對單插件的可重用性和多插件的并行調(diào)用具有較大影響.
第四,具有較高的兼容性.不同的插件一般對應(yīng)不同的接口.針對現(xiàn)有接口進(jìn)一步擴(kuò)展其功能,使得多插件調(diào)用時仍保持有序協(xié)調(diào)的狀態(tài),同時能夠兼容原有接口.
插件技術(shù)的使用將程序分成宿主程序和插件,這兩部分可以相互通信,在宿主程序不變的情況下,為達(dá)到對功能模塊進(jìn)行快捷、安全裝卸的目的,可采用增加新插件、刪減舊插件或修改插件等方法來調(diào)整和增強(qiáng)程序功能[13].
根據(jù)插件的描述信息,可以統(tǒng)一定義和設(shè)計(jì)插件的類,解決GIS 應(yīng)用框架與插件之間交互通信的入口問題.把通用插件接口定義為插件功能模塊接口類和插件管理模塊接口類,包含四個類:GIS?Framework、TPluginInfo、TPlugins、TPlugin,通用插件接口類關(guān)系如圖6所示.
圖6 通用插件接口類關(guān)系圖Fig.6 General plug-in interface class diagram
1)GISFramework 類庫主要負(fù)責(zé)主程序運(yùn)行,在主框架程序啟動時,通過傳遞插件參數(shù)接口類,完成主程序與插件功能模塊間的資源傳遞,然后加載各子插件功能模塊,實(shí)現(xiàn)插件功能模塊在灘涂資源遙感監(jiān)測系統(tǒng)中的順利運(yùn)行.
2)TPluginInfo 類是插件基本信息類,插件模塊功能通過動態(tài)連接庫形式提供,每個插件模塊導(dǎo)出一個函數(shù)GetPluginInfo,該函數(shù)返回包含插件模塊TPluginInfo的內(nèi)存指針.
3)TPlugins 插件集合類負(fù)責(zé)統(tǒng)一管理所有的插件,包括對系統(tǒng)菜單、工具條、滑動工具欄的引用.
4)TPlugin 插件類定義了一個具體的插件,功能是實(shí)現(xiàn)插件的加載及卸載.TPlugin 封裝了插件與主框架、灘涂濕地遙感監(jiān)測模塊、海岸線遙感監(jiān)測模塊、系統(tǒng)管理等插件交互的具體實(shí)現(xiàn).
主框架程序啟動時,創(chuàng)建TPlugins 類的實(shí)例,調(diào)用Load 方法,傳遞一個TPluginParam 類型的參數(shù),該參數(shù)傳遞給插件的OnConnect函數(shù),讓插件訪問主程序中的信息.具體工作流程如圖7所示.
圖7 插件工作流程圖Fig.7 Plug-in workflow diagram
1)啟動主程序,加載所有插件的規(guī)范化信息.
2)利用解析接口,獲取TPlugins 插件集合類中關(guān)于插件的物理存儲信息,為后續(xù)正確加載插件提供必要條件.
3)宿主程序根據(jù)獲取的存儲信息解析插件位置信息,并動態(tài)加載相應(yīng)插件.
4)通過接口獲取插件的功能資源和其他相關(guān)功能信息,主要包括系統(tǒng)的顯示信息、圖標(biāo)和顯示方式等.
5)為了實(shí)現(xiàn)在點(diǎn)擊系統(tǒng)中某一圖標(biāo)時能夠調(diào)用對應(yīng)的插件,需要在宿主程序中建立插件的名稱等資源與插件位置之間的映射關(guān)系.
6)宿主程序?qū)⒉寮北举Y源,如名稱、圖標(biāo)等導(dǎo)入自身的進(jìn)程地址空間,并且及時更新主系統(tǒng)界面.
7)當(dāng)用戶點(diǎn)擊某一圖標(biāo)后,通過步驟5)建立的映射關(guān)系定位到相應(yīng)插件,利用相應(yīng)的接口調(diào)用對應(yīng)的插件.
系統(tǒng)使用MapObject 為GIS 展現(xiàn)組件,采用插件技術(shù),以ASP.NET 建立UI界面,SQL server 2010為數(shù)據(jù)支撐平臺,實(shí)現(xiàn)了江蘇沿海灘涂面積、地物分類、植被覆蓋度、濕地生物量、碳儲量及海岸線等遙感監(jiān)測數(shù)據(jù)的存儲管理、查詢等系統(tǒng)功能,完成了對江蘇沿海灘涂資源量的遙感動態(tài)監(jiān)測,同時實(shí)現(xiàn)了各類專題制圖產(chǎn)品的自動生成和統(tǒng)計(jì)分析結(jié)果的可視化展示.
灘涂濕地管理模塊實(shí)現(xiàn)了沿海灘涂面積遙感監(jiān)測產(chǎn)品、灘涂地物分類遙感監(jiān)測產(chǎn)品、植被覆蓋度遙感監(jiān)測產(chǎn)品、濕地生物量遙感監(jiān)測產(chǎn)品、濕地碳儲量遙感監(jiān)測產(chǎn)品的存儲管理、查詢顯示及基于GIS 的可視化展示,支持各類專題制圖產(chǎn)品的自動生成和相關(guān)統(tǒng)計(jì)分析結(jié)果的可視化展示.灘涂濕地遙感監(jiān)測功能模塊運(yùn)行圖如圖8所示.
圖8 灘涂濕地遙感監(jiān)測功能模塊運(yùn)行圖Fig.8 Function module operation diagram of tidal flat resources remote sensing monitoring system
灘涂面積遙感監(jiān)測模塊:使用2020 年GF-6 衛(wèi)星遙感影像,綜合利用遙感和GIS 技術(shù),使用目視解譯與屏幕數(shù)字化相結(jié)合的方式對海岸線進(jìn)行遙感解譯和空間提取,結(jié)合0 m 等深線,對江蘇沿海灘涂區(qū)進(jìn)行提取計(jì)算.
灘涂地物分類遙感監(jiān)測模塊:依據(jù)江蘇沿海濕地植被和土地利用狀況,將灘涂地物類型劃分為水域、鹽地堿蓬灘、蘆葦沼澤、互花米草、耕地、建筑用地、養(yǎng)殖池以及光灘8 種類型.采用人工交互式解譯法,對2020 年GF-6 遙感影像進(jìn)行詳細(xì)的專題遙感分類解譯,統(tǒng)計(jì)各地類面積.
濕地植被覆蓋度遙感監(jiān)測模塊:以2020 年1 月—11 月Landsat 8-OLI 遙感影像為基礎(chǔ)數(shù)據(jù)進(jìn)行江蘇灘涂植被覆蓋度監(jiān)測研究.對遙感影像進(jìn)行輻射定標(biāo)、大氣校正、影像鑲嵌裁剪,基于像元二分模型進(jìn)行分析,利用最大值合成法得到2020 年江蘇沿海灘涂植被覆蓋度遙感監(jiān)測結(jié)果.
濕地生物量遙感監(jiān)測模塊:基于灘涂植被覆蓋區(qū),利用已有濕地植被覆蓋度與植被地上生物量干重間的遙感估算模型開展生物量估算,得到灘涂資源植被的空間分布狀況.
濕地碳儲量遙感監(jiān)測模塊:在灘涂植被覆蓋區(qū),使用基于植被地上部生物量構(gòu)建的生物碳儲量估算模型進(jìn)行碳儲量的估算,得到灘涂資源植被部分碳儲量的空間分布狀況.
沿海岸線管理模塊支持江蘇沿海岸線提取結(jié)果、岸線變化監(jiān)測結(jié)果的可視化展示,實(shí)現(xiàn)了相關(guān)專題圖的自動生成和相關(guān)統(tǒng)計(jì)分析結(jié)果的可視化展示.海岸線遙感監(jiān)測模塊:對2000—2020 年每5 年江蘇沿海岸線進(jìn)行解譯,對各時期影像進(jìn)行空間配準(zhǔn),并對影像進(jìn)行增強(qiáng)處理,采用屏幕數(shù)字化和目視解譯相結(jié)合的方式提取江蘇海岸線的相關(guān)數(shù)據(jù),監(jiān)測海岸線長度變化.沿海岸線遙感監(jiān)測功能模塊運(yùn)行圖如圖9所示.
圖9 沿海岸線遙感監(jiān)測功能模塊運(yùn)行圖Fig.9 Operation diagram of coastal shoreline remote sensing monitoring function module
海岸線變化監(jiān)測模塊:實(shí)現(xiàn)不同年份江蘇海岸線遙感監(jiān)測結(jié)果的動態(tài)展示.2000—2020 年江蘇沿海海岸線變化統(tǒng)計(jì)結(jié)果如圖10所示.
圖10 2000—2020年江蘇沿海海岸線統(tǒng)計(jì)分析表Fig.10 Statistical analysis table of Jiangsu Coastal coastline from 2000 to 2020
根據(jù)系統(tǒng)統(tǒng)計(jì)分析結(jié)果,2000—2020 年江蘇海岸線總長度逐年增加,其中自然岸線逐年減少,人工岸線逐年增加,人工岸線增加的長度大于自然岸線減少的長度.該結(jié)論與陳瑋彤“江蘇省遙感海岸線中自然岸線的長度不斷減少、人工岸線的長度大幅增加,岸線長度總體增加”的結(jié)論一致[14].
從灘涂資源重要性和實(shí)際遙感監(jiān)測需求出發(fā),利用GML 和MapObject,基于插件技術(shù),對系統(tǒng)的實(shí)體管理、圖層管理及設(shè)計(jì)方面進(jìn)行了優(yōu)化,完成了江蘇灘涂資源遙感監(jiān)測系統(tǒng)的研究及業(yè)務(wù)化應(yīng)用,初步掌握了江蘇沿海灘涂資源和海岸線遙感信息數(shù)據(jù),為江蘇海洋灘涂資源保護(hù)提供了技術(shù)支撐,取得了較好的實(shí)際應(yīng)用效果.但目前該系統(tǒng)還不能完全滿足海洋生物多樣性可視化展示方面的大規(guī)模應(yīng)用需求,將在以后的工作中進(jìn)一步研究.