孔得雨,林偉波
(江蘇省海涂研究中心,江蘇南京 210036)
江蘇省沿海蘊藏著豐富的灘涂資源,其面積約占全國總灘涂面積的25%,且有不斷淤漲的特征[1],主要包括土地資源、海洋能源、生物資源、港口航運資源、海鹽資源、旅游資源等[2].灘涂資源是海岸帶的重要組成部分,沿海灘涂是海洋開發的前沿陣地.近年來,受氣候變化和低管控效率等因素的影響,灘涂海域的生態環境被破壞,生態系統功能退化,如何高效地監測和保護灘涂資源、實現科學管控和可持續發展成為研究的熱點.
目前,將灘涂資源遙感監測與可視化技術結合的研究較多.在圖層方面,唐云等實現了三維復雜圖層,然而繪制的是柵格圖像,不能實現圖層屬性數據的空間查詢功能[3];在實體管理方面,楊一鵬等利用GIS技術實現了屬性和圖的互查,但在空間信息和屬性信息關聯以及動態拓撲重構方面,還有改進的空間[4];在系統設計方面,張毅等闡述了插件式GIS 應用框架具備結構清晰簡潔、支持復用、可擴展性強、功能模塊間良好協作和易于維護等優點,但針對灘涂資源遙感監測的行業應用型地理信息系統軟件仍存在軟件開發效率不高和復用性較低等問題[5].所以,攻克灘涂資源遙感監測系統中的關鍵技術,建立高效的灘涂資源遙感監測系統[6],對于實現灘涂資源準確、高效的動態監測以及相關決策的制定具有十分重要的意義.鑒于此,本研究利用GIS 技術、數據庫技術和插件技術,構建了一個對江蘇灘涂資源中的灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量、海岸線等因素進行可視化的遙感監測系統.該系統以分層的形式表達各種所需要的展示信息,基于地理標識語言的GIS 實體關系映射設計,實現了GIS 實體的動態維護與展現,以MapObject 作為基本GIS 地圖展現工具,提出了系統的總體結構和功能模塊,實現了基于插件技術的灘涂資源遙感監測系統,在江蘇灘涂資源遙感監測和資源保護中得到了廣泛應用.
Geography Markup Language(GML)是一種XML編碼語言,主要用于建立模型、地理及其相關信息的傳輸及儲存,包含地理要素和層的空間與非空間特征[7].根據W3C 系列標準,GML 通過網絡共享實現地理信息的具體表達,同時也是在GIS 界首次被廣泛認可的元標記語言[8].為了讓地理信息能在不同領域進行語義共享,GML 使用XML 技術,為開發商和用戶搭建了一個不依賴于任何廠商的具有開放性質的地理數據建模框架[9].
MapObject 簡稱MO,由美國 的ESRI(Environ?ment System Research Institute)開發,是流行的組件式GIS 開發軟件.MO 地圖應用組件在COM 技術基礎上開發而來,由稱為Map的ActiveX 控件和大概45個自動化對象組成.MO 是客戶端應用業務常使用的地圖開發環境,因此,在標準編程環境下混合使用MO 和其他多媒體、圖形、數據庫開發技術可以搭建成熟的應用軟件[10].
隨著面向對象程序設計技術的發展,為提高軟件的靈活性與可擴展性,提出了基于“框架+插件”的軟件設計模型[11],它按照功能進行封裝,通過即插即用實現不同開發成果的快速構建和復用,縮短了軟件開發周期,節約了開發成本.GIS 應用框架完全實現了GIS技術在全行業應用領域通用的底層服務.
基于插件技術的灘涂資源遙感監測系統能夠對沿海的灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量、海岸線遙感監測等數據進行入庫、分析和可視化展示,并以分層的形式表達灘涂資源遙感監測信息.
系統建立在C/S結構上,利用插件技術對系統模塊進行封裝和統一管理.系統總體結構由應用表現層、中間邏輯層和數據服務層組成,具體如圖1所示.

圖1 系統總體結構圖Fig.1 System structure diagram
應用表現層為用戶操作平臺,其功能分為GIS實體基本展示、灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量、海岸線遙感監測等灘涂資源信息的管理及可視化展示.
中間邏輯層封裝了數據知識挖掘、空間分析等模塊的業務邏輯,其中計算機實現及動態GIS 實體邏輯是核心問題.
數據服務層為中間邏輯層提供方法源和數據源,包括由實體信息庫、元數據庫等構成的GIS 知識庫.
灘涂資源遙感監測系統主要是為海涂資源研究和管理人員提供灘涂濕地及海岸線遙感監測等基礎信息的產品.其核心功能包括:基于GIS 可視化的沿海灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量、海岸線遙感監測等基礎數據.該系統由四個模塊組成:地圖管理模塊、灘涂濕地遙感監測模塊、海岸線管理模塊、系統管理模塊.系統功能圖如圖2所示.

圖2 系統功能圖Fig.2 System function diagram
地圖管理模塊主要完成對GIS 地圖的基本操作,核心是利用基于GML 的GIS 實體動態映射方法,實現GIS 實體類、類屬性等的完全自定義;灘涂濕地遙感監測模塊對江蘇灘涂面積、灘涂地物分類、濕地植被覆蓋度、濕地生物量、濕地碳儲量等遙感監測信息進行存儲管理、查詢、專題制圖以及可視化展示;海岸線管理模塊主要實現對海岸線遙感監測結果的分析及可視化展示;系統管理模塊包括數據異常處理、權限管理、用戶管理模塊.本系統采用MapObject作為基本GIS 展現組件,是實現可視化展示的重要部分.
利用GML 描述地理對象的非空間屬性和空間屬性數據,對GIS 實體進行映射設計,有利于實現對GIS 實體基本屬性、基本信息的動態維護,進而提高實體維護的靈活性.采用GML 設計思想,將灘涂濕地、海岸線、港口、碼頭等對象通過類型、對象、屬性、值進行存儲,實現GIS 對象實體、屬性的動態維護,具體如圖3所示.

圖3 GIS實體關系數據庫模型圖Fig.3 GIS entity relational database model diagram
系統數據庫主要由基礎地理信息數據庫、空間數據庫、屬性數據庫組成.
1)基礎地理信息數據庫
其包含用于可視化展示沿海灘涂遙感監測和沿海岸線提取結果的基礎地理信息數據,主要包括江蘇沿海濕地植被和土地利用狀況的數字線劃圖(DLG)數據、數字高程模型(DEM)數據、數字正射影像(DOM)數據及相應元數據等.
2)空間數據庫
其包含不同類型及比例尺型號的空間數據,組成要素包括江蘇沿海灘涂的行政區、灘涂植被、水體流向、海岸線、港口、碼頭等.
3)屬性數據庫
其包含用戶信息表、權限表、數據異常表等.
在GIS 的展現上,充分利用ASP.NET 的物理封裝與動態鏈接相結合的方法[12],結合MapObject強大的GIS 地圖表現功能,實現GIS 實體的靈活展現.具體如圖4所示.

圖4 GIS地圖體系結構Fig.4 GIS map architecture
物理上的封裝意味著將程序封裝成若干個獨立的物理組成部分,各部分之間通過動態鏈接共同完成系統的功能,有利于系統的維護和版本的升級.
在系統功能模塊的設計上,采用插件技術,將系統劃分為具有不同功能的模塊插件,如GIS 實體管理模塊插件、灘涂濕地遙感監測模塊插件、海岸線遙感監測模塊插件等.系統通過相應的接口將具體的模塊插件加入主程序中,系統模塊管理示意圖如圖5 所示.

圖5 系統模塊管理示意圖Fig.5 System module management diagram
平臺與插件之間需要交互的接口需滿足以下條件:
第一,能夠智能化識別插件.系統各功能模塊的劃分,需要插入很多插件,提供相應接口對要加載的插件進行自動化識別.接口需要先獲取插件的信息并判斷是否為目標插件,若確定為目標插件,需進一步分析插件所需信息資源并自動創建匹配的運行環境,使插件能正確地被調用并加入系統中.
第二,可自動化調用插件.當插件智能化識別完成后,系統即可調用插件的具體功能.調用的方式主要包括自動調用和事件激活,其中自動調用是根據系統自身需求或客戶需求進行調用,事件調用則是依據特定事件的信息進行調用.
第三,實現平臺與多插件間的協調通信.接口實現了平臺和插件間的通信,接口對插件的單一調用以及多插件間相互協同的通信問題,對單插件的可重用性和多插件的并行調用具有較大影響.
第四,具有較高的兼容性.不同的插件一般對應不同的接口.針對現有接口進一步擴展其功能,使得多插件調用時仍保持有序協調的狀態,同時能夠兼容原有接口.
插件技術的使用將程序分成宿主程序和插件,這兩部分可以相互通信,在宿主程序不變的情況下,為達到對功能模塊進行快捷、安全裝卸的目的,可采用增加新插件、刪減舊插件或修改插件等方法來調整和增強程序功能[13].
根據插件的描述信息,可以統一定義和設計插件的類,解決GIS 應用框架與插件之間交互通信的入口問題.把通用插件接口定義為插件功能模塊接口類和插件管理模塊接口類,包含四個類:GIS?Framework、TPluginInfo、TPlugins、TPlugin,通用插件接口類關系如圖6所示.

圖6 通用插件接口類關系圖Fig.6 General plug-in interface class diagram
1)GISFramework 類庫主要負責主程序運行,在主框架程序啟動時,通過傳遞插件參數接口類,完成主程序與插件功能模塊間的資源傳遞,然后加載各子插件功能模塊,實現插件功能模塊在灘涂資源遙感監測系統中的順利運行.
2)TPluginInfo 類是插件基本信息類,插件模塊功能通過動態連接庫形式提供,每個插件模塊導出一個函數GetPluginInfo,該函數返回包含插件模塊TPluginInfo的內存指針.
3)TPlugins 插件集合類負責統一管理所有的插件,包括對系統菜單、工具條、滑動工具欄的引用.
4)TPlugin 插件類定義了一個具體的插件,功能是實現插件的加載及卸載.TPlugin 封裝了插件與主框架、灘涂濕地遙感監測模塊、海岸線遙感監測模塊、系統管理等插件交互的具體實現.
主框架程序啟動時,創建TPlugins 類的實例,調用Load 方法,傳遞一個TPluginParam 類型的參數,該參數傳遞給插件的OnConnect函數,讓插件訪問主程序中的信息.具體工作流程如圖7所示.

圖7 插件工作流程圖Fig.7 Plug-in workflow diagram
1)啟動主程序,加載所有插件的規范化信息.
2)利用解析接口,獲取TPlugins 插件集合類中關于插件的物理存儲信息,為后續正確加載插件提供必要條件.
3)宿主程序根據獲取的存儲信息解析插件位置信息,并動態加載相應插件.
4)通過接口獲取插件的功能資源和其他相關功能信息,主要包括系統的顯示信息、圖標和顯示方式等.
5)為了實現在點擊系統中某一圖標時能夠調用對應的插件,需要在宿主程序中建立插件的名稱等資源與插件位置之間的映射關系.
6)宿主程序將插件副本資源,如名稱、圖標等導入自身的進程地址空間,并且及時更新主系統界面.
7)當用戶點擊某一圖標后,通過步驟5)建立的映射關系定位到相應插件,利用相應的接口調用對應的插件.
系統使用MapObject 為GIS 展現組件,采用插件技術,以ASP.NET 建立UI界面,SQL server 2010為數據支撐平臺,實現了江蘇沿海灘涂面積、地物分類、植被覆蓋度、濕地生物量、碳儲量及海岸線等遙感監測數據的存儲管理、查詢等系統功能,完成了對江蘇沿海灘涂資源量的遙感動態監測,同時實現了各類專題制圖產品的自動生成和統計分析結果的可視化展示.
灘涂濕地管理模塊實現了沿海灘涂面積遙感監測產品、灘涂地物分類遙感監測產品、植被覆蓋度遙感監測產品、濕地生物量遙感監測產品、濕地碳儲量遙感監測產品的存儲管理、查詢顯示及基于GIS 的可視化展示,支持各類專題制圖產品的自動生成和相關統計分析結果的可視化展示.灘涂濕地遙感監測功能模塊運行圖如圖8所示.

圖8 灘涂濕地遙感監測功能模塊運行圖Fig.8 Function module operation diagram of tidal flat resources remote sensing monitoring system
灘涂面積遙感監測模塊:使用2020 年GF-6 衛星遙感影像,綜合利用遙感和GIS 技術,使用目視解譯與屏幕數字化相結合的方式對海岸線進行遙感解譯和空間提取,結合0 m 等深線,對江蘇沿海灘涂區進行提取計算.
灘涂地物分類遙感監測模塊:依據江蘇沿海濕地植被和土地利用狀況,將灘涂地物類型劃分為水域、鹽地堿蓬灘、蘆葦沼澤、互花米草、耕地、建筑用地、養殖池以及光灘8 種類型.采用人工交互式解譯法,對2020 年GF-6 遙感影像進行詳細的專題遙感分類解譯,統計各地類面積.
濕地植被覆蓋度遙感監測模塊:以2020 年1 月—11 月Landsat 8-OLI 遙感影像為基礎數據進行江蘇灘涂植被覆蓋度監測研究.對遙感影像進行輻射定標、大氣校正、影像鑲嵌裁剪,基于像元二分模型進行分析,利用最大值合成法得到2020 年江蘇沿海灘涂植被覆蓋度遙感監測結果.
濕地生物量遙感監測模塊:基于灘涂植被覆蓋區,利用已有濕地植被覆蓋度與植被地上生物量干重間的遙感估算模型開展生物量估算,得到灘涂資源植被的空間分布狀況.
濕地碳儲量遙感監測模塊:在灘涂植被覆蓋區,使用基于植被地上部生物量構建的生物碳儲量估算模型進行碳儲量的估算,得到灘涂資源植被部分碳儲量的空間分布狀況.
沿海岸線管理模塊支持江蘇沿海岸線提取結果、岸線變化監測結果的可視化展示,實現了相關專題圖的自動生成和相關統計分析結果的可視化展示.海岸線遙感監測模塊:對2000—2020 年每5 年江蘇沿海岸線進行解譯,對各時期影像進行空間配準,并對影像進行增強處理,采用屏幕數字化和目視解譯相結合的方式提取江蘇海岸線的相關數據,監測海岸線長度變化.沿海岸線遙感監測功能模塊運行圖如圖9所示.

圖9 沿海岸線遙感監測功能模塊運行圖Fig.9 Operation diagram of coastal shoreline remote sensing monitoring function module
海岸線變化監測模塊:實現不同年份江蘇海岸線遙感監測結果的動態展示.2000—2020 年江蘇沿海海岸線變化統計結果如圖10所示.

圖10 2000—2020年江蘇沿海海岸線統計分析表Fig.10 Statistical analysis table of Jiangsu Coastal coastline from 2000 to 2020
根據系統統計分析結果,2000—2020 年江蘇海岸線總長度逐年增加,其中自然岸線逐年減少,人工岸線逐年增加,人工岸線增加的長度大于自然岸線減少的長度.該結論與陳瑋彤“江蘇省遙感海岸線中自然岸線的長度不斷減少、人工岸線的長度大幅增加,岸線長度總體增加”的結論一致[14].
從灘涂資源重要性和實際遙感監測需求出發,利用GML 和MapObject,基于插件技術,對系統的實體管理、圖層管理及設計方面進行了優化,完成了江蘇灘涂資源遙感監測系統的研究及業務化應用,初步掌握了江蘇沿海灘涂資源和海岸線遙感信息數據,為江蘇海洋灘涂資源保護提供了技術支撐,取得了較好的實際應用效果.但目前該系統還不能完全滿足海洋生物多樣性可視化展示方面的大規模應用需求,將在以后的工作中進一步研究.