摘要:利用Visual Basic结合ActiveX组件MapX对渔业调查水域进行采样点智能规划的技术、方法和开发流程进行了介绍。所生成的模块能提供以网格为单元对渔业调查水域进行科学规划,实现各调查样区的无缝联结。该系统操作简便,突出了专业特色,节省了购买和学习地理信息系统软件的成本。该模块被应用于太湖水质调查中,通过与用户交互自动生成以网格为单元的采样点及相应的地理坐标参数,为解决传统采样点布设方法中缺乏地理坐标界定的缺陷提供了理想的解决方案。在后期渔业水域调查数据统计中,亦可利用该系统对空间数据和水域调查数据进行管理与统计,自动生成和输出基于调查数据空间分布的专题图。
关键词:Visual Basic;MapX;渔业水域;采样点;规划
在内陆水域天然渔业资源及环境的调查中,传统的采样点布局与设定通常是以某地物标记为指示,结合目测、估算来制定采样点的空间位置、样点数量以及样点所示的区域面积[1-2],这在客观上掺入了采样点规划者的主观意愿,并且每一样点指示的水域面积也较难界定。当实地调查结束后每个样点会产生大量的数据,但在后期统计、分析阶段由于缺乏精确的地理参数,往往会形成采样点对指示水域面积的含混界定,从科学性、代表性和可信度来考量,用传统方法设立的采样点在指示水域的大小、边界、采样点间的关联度及指示的统一性上存在一定的缺陷。
自1929年芬兰地理学家Graneau采用1 km格网来分析自然与社会现象以来,格网的概念已经发展成为一种地学分析方法[3]。随着当前地理信息二次开发工具的出现,采用数字化网格技术和对地理信息系统 (GIS)的二次开发,对给定水域实现精确规划已成为可能。本研究中,作者开发的“渔业水域指定调查区域的智能规划”系统,从渔业资源、环境水域调查需求出发,实现了对渔业调查水域的智能规划,也是对采样点传统规划方法进行改革的有益尝试,在国内外尚属首见。该系统以网格为单元对渔业调查水域开展科学规划,实现了渔业水域调查样点的自动化设置,确保各样点所示水域面积的精准度及相互间的无缝联结,降低了人工规划的劳作力和误差,也使后期的统计结果更精准可靠。该系统还引入地理信息系统的空间能力来实现与渔业信息数据的有机结合、管理与表达,提高了渔业水域调查的科学性、可靠性和工作效率。
系统以Visual Basic 6.0为可视化开发环境[5],采用MapX 5.0作为系统二次开发工具[6],主要针对不同专业对GIS的功能需求来完成一些商用软件如MapInfo难以完成的工作,开发出具不同专业需求特点的地理信息系统[7-8]。
开发过程中涉及的数字化地图源于国家地理信息中心。
渔业水域调查采样点的智能生成系统主要包括3个模块:1)对于给定的渔业水域数字化网格的自动生成;2)库、表结构的生成与修改;3)外部数据库的自动绑定及专题图的输出。
2.1 系统的功能模块
2.1.1 特定渔业水域数字化网格的自动生成 将调查区域数字化为地理网格单元是该系统的主要功能。以均匀的网格中心为单元来布设采样点,可实现单元间 (采样区域)的无缝联结,这样在进行渔业信息统计时,可避免在大尺度空间下调查所获的渔业数据由于空间界定不明而产生的指示含糊,从而使采样点调查数据有明确的归属,能够精确地反映采样点指示区域的渔业资源与环境特征。
2.1.2 采样点tab表与外部mdb库表结构的生成
在基于MapX组件对GIS应用的二次开发中,大多数开发者往往专注于GIS应用功能的开发,而在一些基础功能的开发上,如对空间表结构的创建和维护功能重视不够[9]。这样当用户需要维护和管理表结构时,就必需借助第三方软件才能完成相应的操作。因此,为增加系统的灵活性,方便用户操作,设计时应考虑库、表结构的生成与维护功能。
系统在自动生成网格化图层的同时,应在属性数据库中生成采样点中心点坐标、周长、面积等字段来存放各采样点及指示区域的地理特征值;允许用户根据自己的需要进行库、表结构管理,包括增加、删除及修改字段名称等操作。
2.1.3 外部数据绑定与专题图输出 为便于数据的对接与管理,属性数据库的编辑管理采用如下两种方式:①采用MapInfo数据格式 (.map、.tab)的文件来储存管理空间数据和属性数据,本方式适用于较少的、固定的属性数据字段,若字段太多,则会影响图层显示速度。在本系统中,MapInfo数据格式主要存放采样点序号及相对应的空间数据(如周长、面积、中心点等)。于采用Access数据库,在Visual Basic开发环境下通过ADO数据访问接口以OLE DB的数据访问模式来访问Access数据库。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小,具有较大的灵活性[10]。利用Access管理属性数据库[11],在需要的时候调入属性数据,可避免对图层显示速度的影响。考虑到渔业水域调查涉及到资源类、环境类的内容众多,因此,所有的采样点实际调查数据均采用Access数据库以不同类别的库表来存放,以便于维护、更新和管理。①、于数据库均以 “水域布点”建立第一字段索引,以便匹配对接。
专题图是一种用来分析和表现数据的方式,专题图的特点在于可根据表中特定值来赋予地图对象颜色、图案和符号,把各种数据图形化,从而使数据直观地显示在地图上[12]。系统开发提供专题图功能,包括范围图、独立值图、等级符号图、点密度图、饼状图、直方图等形式,以满足制作不同渔业水域调查数据空间分布专题图的需求。渔业水域调查数据则通过ADO接入Access库文件数据至MapInfo格式的表 (.tab)中来实现专题图的创建。
2.2 系统开发流程
系统的全部功能可应用于内陆水域各湖泊、水库的采样点智能规划,开发流程以太湖为例,具体过程如下 (图1~图7)。
1)获取待规划图元节点。选定待规划水域,利用图元的NODES属性获取待规划水域 (图元)的全部节点值并放入数组 (图1-A)。
2)判定、筛选节点顶点。数组内节点值经比较判定,获得经度 (E)的最大值和最小值分别为120.58°和119.89°,纬度 (N)的最大值和最小值分别为31.51°和30.91°(图1-B)。
3)待规划水域临时图元和采样区块数的生成及二者相交的判定。依据经、纬度最大值和最小值生成待规划水域临时矩形图元 (图2-A)。网格化临时矩形图元,与用户交互,得到用户期望分割的行、列数,即采样区块数。本例中,假设用户给出的行、列数为5行、4列,将临时矩形图元网格化,生成网格采样区图元为5*4=20(块)(图2-B)。交集操作以每块网格样区图元与规划水域图元相交与否为判定条件,确定不相交的网格图元以及图元相交情况下重叠边缘以外的图元部分 (图2-C)。
4)删剪无效网格图元。删除不相交的网格图元以及图元相交情况下重叠边缘以外的图元部分,生成实际有效采样区 (本例中为18块)。更新采样区图元,自动生成表结构,并以第一字段建立索引排序和命名,保存为.tab格式的图层 (图3)。
5)获取有效采样区地理特征值,保存图层。对每一采样区自动获取各自图元地理特征值 (面积、周长、中心点)并保存(图4)。
6)自动生成外接数据库 (*.mdb),建立库表名与表结构。同步自动生成外接数据库(*.mdb),第一字段与*.tab中的第一字段同名,并建立索引,其他字段根据水域调查内容制定,允许用户编辑修改,以便与调查内容适应 (图5)。
图1 太湖节点及其最大值和最小值坐标
Fig.1 The nodes,and their maximum value,and minimum value coordinates at Taihu Lake
图2 水域采样点的生成
Fig.2 Sampling points generated for planning water area
图3 太湖网格化图
Fig.3 The grids for Taihu Lake
图4 生成的属性数据表
Fig.4 Attribute data table
图5 外部数据库结构
Fig.5 The structure of external database
7)外部数据库的自动绑定接入。以第1索引字段连接外部数据库 (图6),按需接入调查数据,实现专题图输出 (图7)。
图6 数据绑定示意图
Fig.6 Schematic drawing of data binding
图7 太湖水质因子专题图
Fig.7 Thematic map of water quality factors for Taihu Lake
该系统实现了对数字化地图中任意一个封闭性水域设定采样点的自动规划。本例中以太湖为应用实例,于2007年12月太湖水质采样调查中应用本系统将调查水域规划为18个样区,18个采样点水质调查数据 (水温、水深、底层溶氧、表层溶氧、pH、氨氮)以及Access库文件格式存储管理如表1所示,A3、A4、A8为东太湖水域,未在本次调查计划中,因此该水域无调查记录。与传统的采样点设置调查相比[2,13-14],采用本系统自动规划的采样点具有规划劳作强度小、布点均匀、采样区块数(即采样点)可由用户自行重复设置,每个样区的中心点即为采样点等特点。由于样区边界明确,面积确定,因此,相应采样点上各类调查数据可明确表征该样区的水质、资源和生态情况,也可从数据库中随意调取样点调查数据,后期数据统计也非常便捷。传统采样点的设置没有界定该采样点的边界及其与相邻采样点的边界关系。通常某一采样点的数据只能与水域全部采样点数据集合加权后用来表达水域的总体状况,而就单个采样点上的数据而言其表征意义不大。而本系统生成的采样点有明确的样区指向,采样点数据对样区具有较强的代表性。
以ADO数据访问方式,将Access库文件中各采样点的调查数据通过关键字段 “水域布点”与MapInfo数据表对接获得数据表 (表1),选取表1中的pH、底层溶氧和表层溶氧字段值创建专题图(图7)。
表1 太湖水质因子的测定值
Tab.1 The determined values of water quality factors in Taihu Lake
水域布点sampling site水温/℃temperature水深/m water depth底层溶氧/(mg·L-1) DO at bottom layer表层溶氧/(mg·L-1) DO at benthic layer pH 氨氮/(mg·L-1) NH+4-N A1 4.4 2.4 8.5 13.6 7.4 0.25 A2 4.4 2.5 8.7 13.8 7.3 0.29 A5 4.4 2.8 7.5 11.8 7.5 0.18 A6 4.3 2.4 8.3 12.2 7.3 0.23 A7 4.3 2.3 8.2 11.4 7.1 0.15 A9 4.4 2.7 8.4 11.9 7.1 0.32 A10 4.4 2.6 8.6 12.3 7.0 0.22 A11 4.3 2.4 8.7 13.6 7.4 0.15 A12 4.4 2.3 8.6 13.3 7.2 0.21 A13 4.4 2.6 8.4 12.1 7.0 0.28 A14 4.4 2.6 8.5 12.0 7.0 0.15 A15 4.3 2.4 8.0 11.5 7.5 0.17 A16 4.4 2.4 8.1 12.4 7.5 0.31 A17 4.4 2.5 8.0 11.8 7.2 0.35 A18 4.4 2.3 7.8 11.9 7.3 0.27
GIS已被诸如城市规划、地产开发、资源调查、灾害预报与灾后评估、地质普查、采矿等众多领域应用。当前流行的GIS软件有很多,这些系统的共同特点就是能将图形处理、空间查询与分析、属性管理及其他GIS功能都包含在一个比较庞大的系统中。这对于一些普通用户来讲可能是适宜的,但对于有着特殊需求的不同专业的用户来讲其功能仍存在许多不足。本研究中涉及的空间规划是GIS的一个重要应用领域,通过将MapX 5控件内嵌到可视化开发环境Visual Basic中进行组件式地理信息系统 (ComGIS)的二次开发,免去了购买整套GIS商业软件的昂贵费用。采用自主开发的系统专业性更强,操作简便。本智能规划模块的开发,实现了渔业指定调查水域的自动规划,能改变传统的区域单元以目测、估算为依据进行渔业评价的缺陷,以网格为单元进行采样点布设,为解决传统采样点布设方法中缺乏地理学空间界定的缺陷提供了解决方案,真正实现了采样点的精确规划及其所示采样区的无缝联结。在提高渔业水域调查质量、调查效果、数据精度、数据统计的可靠性等方面有着显著作用。
参考文献:
[1]邓恩明,臧增嘉.太湖敞水区鱼类群落结构特征和分析[J].水产科学,1997,21(2):134-142.
[2]郑丙辉,许秋瑾,周保华,等.水体营养物及其响应指标基准制定过程中建立参照状态的方法——以典型浅水湖泊太湖为例[J].湖泊科学,2009,21(1):21-26.
[3]张超,万庆,张继权.基于格网数据的洪水灾害风险评估方法——以日本新川洪灾为例[J].地球信息科学,2003(4):69-73.
[4]Zhang Hua,Wang Yun-jia,Liu Chuan-zhi.Research on evaluation of degree of complexity of mining fault network based on GIS [J].Journal of China University of Mining&Technology,2007,17 (1):63-67.
[5]龚沛曾,陆慰民,杨志强.Visual Basic程序设计简明教程[M].北京:高等教育出版社,2003:3.
[6]Morton M,Cox C,Funiciello J.MapX 5.0 Online Help System [M].Troy,NY:MapInfo Corporation,2002.
[7]李楠,顾兆军.应用MapX控件开发地理信息系统[J].中国民航学院学报,2001,19(6):41-44.
[8]姜杰,张鹰,张东.基于MapX组件的江苏省海域管理信息系统开发[J].海洋环境科学,2004,23(2):55-57.
[9]陈立平,苏中滨.基于MapX的空间表结构维护功能的实现[J].农机化研究,2005(1):254-256.
[10]罗美雪.基于VB和MapX的港口规划信息系统建设初探[J].福建地理,2004,19(3):47-50.
[11]张勇,杨作升,刘展,等.利用MapX实现空间数据库与属性数据库的挂接[J].青岛海洋大学学报,2003,33(1):87-94.
[12]齐锐,屈韶琳,阳琳赟.用MapX开发地理信息系统[M].北京:清华大学出版社,2003:202.
[13]周保华,郑丙辉.基于GIS的太湖水质及营养状态分区评价研究[J].环境评价,2008,396(10):34-38.
[14]陆铭锋,徐彬,杨旭昌.太湖水质评价计算方法及近年来水质变化分析[J].水资源保护,2008,24(5):30-33.
Research and implementations of an intelligent generating system of sampling sites during fishery water investigation
Abstract:In this study,the technique,method and development process of an intelligent planning system for fishery water areas investigation were studied by Visual Basic and the ActiveX component MapX.The generated functional modules offered the intelligent planning for the investigative fishery water area by grids and realized the seamless connectivity between different grids zone.This system not only was ated conveniently and match the professional needs,but also led to elimination the purchase and learning cost for users on GIS software.The grid sampling sites and the corresponding parameters of the geographical coordinates were automatically generated through the user's interface.This system offered an ideal solution to the traditional method of arranging sampling sites without geographic coordinates,and therefore,was used widely in water quality investigation in the Taihu Lake.In the further data analysis on fishery water investigation,this system can be applied to manage the spatial data and water investigation data,so as to draw up and output the spatial distribution thematic maps of the given investigating area automatically.
Key words:Visual Basic;MapX;fishery waters;sampling site;programming
中图分类号:P208
文献标志码:A
收稿日期:2012-09-08
基金项目:公益性行业 (农业)科研专项 (201203086-16);科技部科技基础条件平台建设项目 (2007DKA30470);农业部财政项目(20100202-05);中国水产科学研究院内陆渔业生态环境和资源重点实验室项目 (YM2007-12)
文章编号:2095-1388(2013)03-0314-05