于良巨 刘 慧 尚伟涛 姜晓鹏
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的水产养殖信息管理系统。通过总体设计确定了系统的功能模块,构建了空间数据库和业务数据库,实现了适宜性评价、养殖生物个体生长预测、养殖容量评价、成本-效益分析、生产查询等多个功能模型。通过桑沟湾海水养殖区域的实践应用证明了该系统的可行性和可靠性,有效提高了当地水产养殖业的信息化和管理水平,为海洋渔业管理部门和生产单位实现基于生态系统的水产养殖空间规划及养殖管理提供了及时、重要的决策支持。