于良巨 劉 慧 尚偉濤 姜曉鵬
1(中國科學院海岸帶環境過程與生態修復重點實驗室中國科學院煙臺海岸帶研究所 山東 煙臺 264003) 2(海洋大科學研究中心中國科學院 山東 青島 266071) 3(中國水產科學研究院黃海水產研究所 山東 青島 266071)
近30年來,隨著我國水產養殖業的發展,沿海地區養殖范圍和規模不斷擴大,使得我國成為世界第一水產養殖大國。為了面向更可持續的漁業和養殖業,基于生態系統的水產養殖空間規劃越來越受到重視。
國際上,世界糧農組織(FAO)報告中多次建議開展基于生態系統方法的水產養殖區劃、選址及區域管理[1-2],并強調利用GIS等現代信息技術手段為水產養殖選址、規劃提供科學支持,出現了眾多水產養殖支持工具和系統。如養殖場尺度的FARM模型[3],ShellGIS是美國一個面向養殖者的甲殼類海水養殖的選址和養殖場管理工具[4],AquaSpace是應用于德國北海的基于GIS的用于評估與水產養殖空間規劃的一套工具[5],AkvaVis是挪威海水養殖的數據管理及可視化、養殖選址可行性分析的支持系統。該系統已經在挪威卑爾根、法國諾曼底和康卡勒沿海、北愛爾蘭卡林福德湖等歐洲國家的海洋水產養殖空間決策支持進行了一系列的應用。
在國內,自從2010年后,隨著GIS信息技術的逐漸普及,陸續出現了各不相同的水產養殖管理信息系統[6]。孫英澤[7]介紹了GIS和多準則相結合的水產養殖規劃系統。文獻[8]等利用開源GIS和JAVA等技術設計實現了WebGIS的水產資源信息服務系統。年雁云等[9]設計了基于WebGIS的渤海漁業服務系統。徐威杰等[6]設計與開發了WebGIS的水產養殖信息管理系統。
與國外相比,我國在綜合利用地理信息、生物生態模型等技術應用于海水養殖空間規劃化的支持上滯后于我國海水水產養殖業規模的發展。針對桑溝灣水產養殖缺乏空間規劃管理現狀,我們設計并實現了水產養殖空間規劃決策支持系統(APDSS)。APDSS系統總體設計思路是參照了挪威海洋研究所與挪威科學中心的漁業養殖可視化系統(AkvaVis),在養殖區關鍵水文動力要素數值模擬、水產養殖容量評估、養殖生態模型等基礎上,設計地理信息處理模型,利用C#和ArcEngine組件式開發了面向桌面應用的CS客戶端,利用ArcGIS API for JavaScript和PHP開發了面向WebGIS的BS的水產養殖規劃決策支持系統,為水產養殖空間管理提供了輔助決策支持。
APDSS以地理信息為基礎,在提供輔助規劃決策時應具有一般地理信息系統的基本功能。
(1) 提供基本地圖操作服務。用于支持航次站位矢量圖形及參數插值柵格圖形的發布和地圖操作,包括地圖的縮放、漫游等功能。
(2) 提供圖層管理功能。針對海洋功能區劃、海洋保護區或種質資源保護區、海洋生態紅線等政策法規、規劃類圖層,提供圖層控制功能;針對溫度、生物、化學等參數圖層,提供圖層的編輯和維護功能。
(3) 提供地圖數據和屬性數據的關聯查詢。既可通過屬性數據在地圖上查詢位置,也可從地圖數據位置查詢出相應的屬性信息。
此外,提供用戶的權限管理,不同的用戶具有不同的權限,具有特定權限的用戶才能進行相關操作,例如實現數據集的導入刪除功能和制圖輸出。
除了提供數據的顯示、管理和分析等功能外,APDSS系統主要實現了海水養殖生物的適宜性評價、三種代表性的養殖生物生長模型、物理海洋水動力模擬展示、生態容量評價模型、養殖成本效益核算模型等功能。通過集成這些功能幫助人們從生態系統管理的角度對養殖活動進行客觀評價,為水產養殖空間規劃決策提供了數據和技術支撐。
APDSS包括桌面端系統和網絡端系統兩部分。桌面端采取C/S(Client/Server)方式,由文件及數據庫管理、空間規劃、養殖管理、地圖工具、用戶管理五個模塊組成,主要實現數據管理、地圖查詢、模型運算等功能。網絡端系統采用B/S(Browser/Server)架構進行開發,實現主要面向公眾的數據查詢、瀏覽和模型成果展示。
C/S端系統的目標是實現數據采集、入庫以及數據查詢、數據處理與分析、模型模擬。在地理信息功能實現方面,主要用到ESRI公司ArcGIS Engine的組件庫,可添加控件、工具條和對象庫。
B/S端系統采用ESRI公司發布的WebGIS的開發工具ArcGIS API for JavaScript,用戶可以通過調用API獲取ArcGIS server提供的服務,例如瀏覽、編輯、渲染地圖。系統采用數據服務層、邏輯應用層、用戶視圖層三層結構進行搭建。用戶視圖層代表系統與用戶的交互界面,負責數據的采集和處理以及用戶的請求;邏輯應用層是系統的中間連接,在接收到用戶發送的請求后,通過空間數據引擎ArcSDE連接到SQL Server數據庫,實現數據的調用;數據服務層是系統的基礎,為系統提供基礎數據支持,在邏輯應用層接收到用戶層的需求指令后,向數據服務層調用數據,最后將結果返回用戶視圖(見圖1)。

圖1 APDSS設計框架
APDSS有多種來源數據,分為空間數據和非空間數據。其中,空間數據包括基礎地理信息、遙感衛星數據、電子海圖數據、提取的海岸線和養殖筏架信息等;非空間數據包括航次調查采樣數據、無人機數據以及水動力觀測數據及模擬結果等,采樣數據包括站位、時間、溫度、鹽度等參數信息。
在系統中將空間數據和非空間數據分開存儲,通過建立地理數據庫GeoDatabase和關系型數據庫SQL Server等專題數據庫,對不同格式的數據進行統一管理[6,10]。桌面端系統通過建立水產養殖專題數據庫提供了數據集中管理功能,實現對數據集的新建、刪除等功能,為水產養殖模型提供數據服務;網絡端系統借助ArcSDE技術,為用戶提供空間和非空間數據庫的高效率操作服務[10],通過調用水產養殖專題數據庫以及水產養殖模型的運算結果,為用戶提供數據查詢、瀏覽和模型成果展示,輔助用戶完成水產養殖空間規劃決策任務。此外,水動力模擬的多維格式數據nc文件被單獨放入服務器中,通過編譯好的讀取方法調取海洋環境多維數據。
采用微軟Visual Studio 2012軟件系統作為主要開發環境,C#作為主要開發語言,采用C/S和B/S混合模式開發,C/S端主要采用DevExpress控件界面插件,B/S端采用C#、HTML和Javascript等編程語言,利用ArcGIS Server和ADO.NET技術,結合Geodatabase和SQL Server數據庫進行系統設計與開發[6]。主要的軟件環境如表1所示。

表1 APDSS開發環境配置
.NET框架支持并兼容VB、C++、C#、JScript和Python等多種開發語言,這些語言不僅可以訪問.NET框架,而且還能實現交互功能。作為補充,Python語言在APDSS中被作為生態容量等模型開發的第二語言。通過動態鏈接庫或直接調用可執行文件等方式集成各功能應用模塊,各功能模塊以DLL或EXE方式集成至主框架程序上[11],實現系統功能的一體化服務。
適宜性評價分為政策適宜性和環境適宜性。政策適宜性主要在系統中以有關國家及地方政策法規、海洋功能區劃和水環境標準為依據,通過疊加規劃圖層,評價養殖海域水質是否達標、是否符合海洋功能區劃、是否與其他用海互相沖突等。環境適宜性通過養殖生物的生理生態特性、生長所需的環境條件與養殖水域的環境要素進行比較,在系統中實現此功能的方法是通過加載文獻[12]研究中的適宜性評價圖層,基于這些圖層用戶可根據不同養殖品種的生理生態要求,對整個養殖區適宜養殖品種、適宜養殖地點和適宜程度做出選擇(圖2)。

圖2 養殖環境適宜性評價(以海帶為例,深色區域-不適宜,灰色區域-最適宜,灰白區域-較適宜)
基于動態能量收支(DEB)模型,系統提供了養殖海域養殖種類的個體生長查詢,該模型可以從能量流動的角度模擬生物體隨著食物密度和溫度環境變化而變化的個體生長和繁殖。根據桑溝灣的養殖現狀,系統重點考慮海帶、牡蠣、扇貝等生物的個體生長模擬[13-14]。在集成生物生長模型時,此模塊充分利用DevExpress在圖形界面可視化編程方面的優點進行界面設計,根據DEB模型和參數分別編寫計算類,計算結果以折線圖、曲線圖形式呈現。輸入參數為初始苗長或體重、投苗日期和收獲日期等,收獲結果表示最終重量、長度。用戶可以調整上述輸入參數,觀察養殖生物生長的長度和重量變化(圖3)。

圖3 個體生長預測(以海帶為例)
物理海洋水動力模擬數據以NetCDF數據格式存儲,具有動態和多維等特點,能夠較好地實現海洋數據的統一管理。此模塊是利用地理信息技術,以高精度的遙感影像底圖表示海域空間,基于ArcEngine的MapControl控件加載遙感影像,利用NetCDF動態鏈接庫和GDAL動態鏈接庫采用一定的方法集成后,查詢遙感影像空間范圍的海洋環境多維數據(溫度、鹽度、平均流速、NO3、PO3等),可在對話框中輕松查詢NetCDF數據變量并實現變量的柵格化(圖4),或者利用遙感影像的易讀性,通過鼠標點擊遙感影像中的海域位置,經過多次坐標轉換,直接查看變量在該位置的時間序列信息(圖5)。

圖5 查詢海域中某點任一變量時間變化曲線
采用能量收支法,根據養殖生物的能量需求和養殖水域可提供的能量總量計算該水域能承載的生物總量[15]。水流作為養殖過程中代謝原料和產物的載體,以浮游植物為指標,基于水動力模型模擬了不同養殖海區的交換過程對于海域內營養物質的輸運和補充,采用物理過程與生物模型進行耦合模擬的方法評估了桑溝灣筏式貝類長牡蠣與海帶的綜合養殖容量[16]。由于養殖容量模型采用Python語言所編寫,基于.Net框架的語言兼容性,APDSS在后臺中調用養殖容量模型,當用戶點擊每一個養殖分區時會給出不同養殖密度下養殖生物(海帶、貝類等)的個體生長情況和總產量,將運行結果返回到在窗體上的曲線或柱形圖層上,給出每個分區的適宜密度建議等(圖6)。
在一定的養殖容量條件下,由于不同密度下苗種的存活率不同,最后的產品收獲規格所占比例也不同;養殖密度大意味著投入的苗種數量和人工、燃料等成本高。本部分基于養殖密度、價格、成本等設計了計算模型,通過計算不同密度下的總成本和總收益,從而實現了成本-效益的比較。
實現的關鍵技術是在繪圖控件中預置階梯圖和堆疊圖。由于不同規格的價格之間呈階梯狀,通過階梯圖計算了各種規格下的總收入,總收入=∑Pi×Qi,Qi為不同密度下產出某一規格下的成品數量,Pi為對應規格下的價格;由于平均可變成本作為一條曲線是收獲產量的函數,同時固定成本作為一條直線也是收獲產量的函數,通過兩個堆疊圖分別代表可變成本與固定成本。
輸入參數:假設苗種價格和每種規格產品市場價格不變,選擇不同密度時單位面積的初始投苗量不同、實驗獲取的苗種存活率,統計不同規格產品的收獲數量。
以不同規格的產品數量和市場價格作為坐標對,利用編寫的計算面積函數計算不規則多邊形的面積為總收入;通過計算面積函數對平均可變成本曲線積分可得堆疊圖所圍成的可變成本和固定成本,最后在曲線控件分別繪制3種曲線(圖7)。

圖7 成本效益計算
輸出結果:不同密度下單位面積的可變成本、固定成本、總收入和總收益。
用戶在養殖海域上繪制多邊形可查詢某一類養殖生物的產量。在養殖海域,由于海帶的養殖是兩排筏架間隔平養,比較容易計算單位面積的養殖數量;貝類的養殖單元是吊在筏下的網籠結構,每個網籠有固定的養殖數量,通過預估養殖生物的筏架結構、層數可以計算出單位面積養殖密度。
當在屏幕上鼠標右鍵選擇要查詢的種類時,系統自動匹配該區域養殖生物的養殖密度,讀入3.2個體生長函數的模擬結果,可預測多邊形海域面積的產量。實現的關鍵技術是在系統中利用地圖控件獲得TrackPolygon方法鼠標左鍵繪制多邊形,之后再調用IArea接口方法計算多邊形面積(圖8)。

圖8 查詢某一生物多邊形內產量(以海帶為例)
某一種類多邊形內養殖產量=多邊形面積×單位養殖密度×單一生物生長預測重量
此外,系統還包括遙感影像、矢量、柵格、NetCDF、EXCEL等多源數據讀入功能,以及用戶交互方式、窗體交互、地圖瀏覽和交互、制圖等功能的設計和實現等,由于篇幅有限,此處不再展開贅述。
為了驗證系統的穩定性與可靠性,測試用戶在ArcGIS Engine10.1運行時軟件環境安裝后安裝桌面端APDSS(圖9),同時使用瀏覽器訪問網絡端APDSS(圖10),分別對系統的功能、性能進行了測試。測試結果表明,本系統運行的穩定性較高,在操作出現失誤的情況下系統能夠立即響應并進行處理;在功能上,該系統功能比較完備,可擴展性較好,對于養殖企業和當地海洋漁業局的養殖空間管理具有較好的輔助管理功能,可以滿足系統用戶的多方面操作需求,但需要進一步美化系統界面,個別模塊功能需要后期進行完善,使系統更具備實用性。

圖9 C/S端APDSS界面

圖10 B/S端APDSS界面
隨著信息化技術的快速發展,在海水養殖業中運用現代地理信息技術,不僅能夠提高水產養殖的管理水平,同時還能夠提高水產養殖業的經濟效益及生態效益。我們從水產養殖空間規劃的實際需求出發,設計并實現了面向海水養殖空間規劃的決策支持系統,包括C/S的桌面管理子系統和面向公眾B/S的水產養殖信息管理系統。通過總體設計確定了系統的功能模塊,構建了空間數據庫和業務數據庫,實現了適宜性評價、養殖生物個體生長預測、養殖容量評價、成本-效益分析、生產查詢等多個功能模型。通過桑溝灣海水養殖區域的實踐應用證明了該系統的可行性和可靠性,有效提高了當地水產養殖業的信息化和管理水平,為海洋漁業管理部門和生產單位實現基于生態系統的水產養殖空間規劃及養殖管理提供了及時、重要的決策支持。