叶剑锋,刘小勇
(新疆农业大学机械交通学院,乌鲁木齐830052)
随着计算机技术与信息技术的发展,物质世界中的任何事物都被赋予时空属性,由此使得社会生产活动中的信息和地理空间位置密切相关。各社会部门在深入研究与应用GIS的同时,要求建立适合本领域(部门)的专业化地理信息系统也越来越强烈,采用GIS技术对地下水资源进行动态管理,可以及时地将地下水赋存介质和地下水运动规律从可视化的角度得到展现[1],为区域地下水监测、开采控制、管理决策提供科学依据。此外,开发简单、移植性好、便于维护的组件式(Com GIS)开发模式成为主流。用Com GIS技术建立的南疆地下水资源管理系统(以下简称南疆系统),进一步对GIS在地下水管理中的应用进行研究,以提升新疆南疆地下水资源管理的信息化水平。
本系统在Visual Basic环境下,用组件式GIS的基本思想将SuperMap Objects各个控件堆积起来,根据定义完成不同的功能,形成最终的GIS应用。同时以事件驱动的编程机制,充分利用应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,高效、快速的开发图形界面丰富的GIS软件系统。平台如图1所示,其中SQL Server为数据库支持,SuperMap.ocx为地图控件,SuperLegend.ocx为图层控件,Super-Layout.ocx为图层列表控件,SuperTopo.ocx为拓扑控件,WkspManager.ocx为工作空间管理控件。
图1 开发平台
地下水资源是支撑社会可持续发展、保障国家安全的基础资源,由于地下水资源的大量开采,以及地下采矿疏干排水,地下水环境恶化的趋势愈演愈烈。南疆系统建立为科学有效地利用地下水资源、加强地下水资源保护提供有效管理模式[2]。根据研究区概况与研究对象的特点分析和用户需求调查,南疆系统具有以下主要功能:①监测井水位数据的实时监测、更新和编辑;②基本工具(放大、缩小、漫游、鹰眼、距离与面积量测等);③空间查询与分析;④水资源信息网络发布与数据共享;⑤空间数据与属性数据的显示与打印(下载);⑥应用模型管理子系统等。
流程描述属性与空间两个核心数据库建库过程,功能框架为系统总体结构,如图2所示。系统具体地图矢量化、属性数据库设计等建库工作和详细的系统功能框架不加详示。
图2 技术流程及功能框架
(1)空间数据库。地图的矢量化是空间数据库建立的重要内容,分层处理是其主要工作。每层空间实体代表不同的专业分类,为构造针对不同需求的空间查询、分析及应用模型的运行等带来极大的方便[3],本系统采用1∶10 000地形图,扫描后在MAPINFO中编辑(共26层),转成Supermap的SDD格式,主要类图层如图3所示。
地理实体具有空间属性的数据同样是地理数据库的重要内容,该部分数据的准确性、实时性将决定地理实体表达的精度,并影响到模型和决策系统的运行。本文因其对地理实体的依赖性而归为空间数据库当中,同时也便于突出GIS的图查属性特点。表1-2列出了监测井及河流的主要数据结构。
图3 主要矢量化图层(类)
表1 监测井参数
表2 河流参数
(2)属性数据库。属性数据库的内容包括地理实体的非空间信息(如项目井的建设时间、所用设备、通讯号码等)和非地理实体信息(如行政单元内降雨量、蒸发量、人文描述等)。该属性数据承载的信息包含各自内部及两种信息之间存在的直接联系和间接联系。因此,属性数据库与空间数据库的联系和挂接具体表现在数据库表中的主键和外键的关系上,并以此为基础建立视图和存储过程。本系统属性数据库数据模型、表分类和表设计如表3所示(其中S:对象;f:模型(视图);n:编码;t:时间;m:监测数据;i:说明;d:行政区划;g:等级;r:流量;a:面积;p:人口;c:权限;k:类别)。单个表结构以井监测数据表为例,如表4所示。
表3 属性数据库设计
表4 监测井数据
将地下水资源环境的空间数据有效地输入到地理信息系统中,包括矢量数据和栅格数据。本系统将Mapinfo的.mif格式图层经过嵌入程序运用数据泵转换成SDB格式导入。其存储形式仍根据表达的内容差异分层存储,空间数据操作时能实现点、线、面的编辑。程序如下:
(1)定义一个数据泵并导入参数对象[3]Dim objDP As soDataPumP Dim objIP As solmportParams
(2)获取数据泵对象,设置数据输入参数Set objDP=SuperWorkspace1.Datasources(1).Datapump With cdlfile1.DialogTitle=“输入文件”.InitDir=“C:/yjdxs”.Filter=“MapInfo的 mif文件(*.mif|*.mif)”
(3)转入为Supermap GIS图层:点图层objIP.DatasetPoint=“pointZR”线图层 objIP.DatasetLine=“lineZR”面图层 objIP.DatasetRegion=“regionZR”文件标记objIP.DatasetText=“textZR”
转化完成后可在程序中直接使用程序语句打开,也可以编写导入窗口,可在不同工作空间中可视化切换,窗口运行如图4所示。
该功能主要突破了传统的属性数据查询方式,可以实现属性查图和图查属性的双向功能,从而使属性数据可视化,增强其操作性和准确性。突破空间想象的局限。图查属性关键语句如下:
图4 数据导入窗口
(1)提取所选对象的属性数据Set objRecordSet=Map.Selection.ToRecordset(False);(2)移到第一条属性objRecordSet.MoveFirst;(3)得到属性名For i=1 To objRecordSet.FieldCount strName(i-1)=objRecordSet.GetFieldInfo(i).Name;(4)得到属性值 strValue(i-1)=objRecordSet.GetFieldValue(i)
地下水水位数据的实时更新。通过GSM通信技术,可对水位等水文参数遥测,然后显示在监测系统界面,通过存储过程将接收到的参数写进数据库,达到监测的目的。若监测数据超出设置范围,则发出水位闪烁警报,该功能实现方法[4-8]:(1)获取跟踪图层Set objT rackingLyr=Map.T rackingLayer;(2)对象都添加到跟踪图层 objTrackingLyr.ClearEvent objRcd.MoveFirst;(3)获取记录的几何对象Do Until objRcd.IsEOF Set objGeometry=objRecordset.GetGeometry();(4)闪烁风格objStyle.BrushColor=vbBlue.PenColor=vbRed.Pen-Width=6.SymbolSize=70;(5)比较添加并显示实例 Map.T rackingLayer.AddEvent objGeometry,objStyle。
监测子系统运行如图5所示,通过选择监测系统MAP中的监测井,在界面的左半部分实现当前监测状态的浏览,而界面的底端提供数据库的添加、刷新、关闭监测等功能。
图5 监测系统
专题地图按照地图主题的要求,突出而完善地表示与主题相关的一种或几种地理要素,使地图成为内容专题化、形式各异、用途专门化的地图。基本流程可分为数据采集与输入、地图制作与编辑、地图输出三个阶段。SuperMap Objects提供单值、范围、统计、等级符号、标签等类型的专题图制作。如图6所示的研究区行政单元土地面积专题图中从单值色阶变化、圆形等级(半径越大面积越大)、标签三个层次直观显示。
图6 专题图
系统其他功能中如空间数据的多种方式输出;属性数据的输出可附着空间数据,也可单独以报表的方式进行打印;网络发布与数据共享;利用WEBGIS技术,基于网络的空间及属性数据的发布、查询浏览、数据访问等功能限于篇幅不再列举。
空间分析是基于模型的基础之上,是地下水地理信息系统的核心功能。系统通过对模型嵌入,达到缓冲分析、回归分析、监测预报等功能,为管理者提供决策参考。
栅格分析是GIS应用系统中空间分析的基础,系统中某行政单元内水安全等级的各种因子可抽象为矢量要素,对自身所在单元及以距离按指数衰减方式对外单元产生影响[5]。如某开采井的取水量对该行政单元及符合衰减指数距离内的水位影响。步骤及主要语句如下:
(1)获取表面分析对象:Set objSurfaceAnalyst=frmMain.Analyst.SurfaceAnalyst
(2)获取表面分析操作对象:Set objSurfaceOperator=objSurfaceAnalyst.Surface
(3)获取等值线[4]:Set objSurfaceAnalyst.AnalysisEnvionment=frmMain.objAnalystEnvmnt,Set objDtv=objSurfaceOperator.Isoline(objDtRst,CDbl(txtGrads.TextCInt(txtSmooth.Text),objDs,strTmp)If Not objDtv Is Nothing Then
(4)生成成功后刷新工作空间管理器:frmMain.WkspManager.Refresh
平均水位统计功能可针对单个监测井或全部监测井水位就时间轴进行纵向或横向比较分析,为管理决策提供依据。步骤及主要语句如下:
(1)创建并打开一个 recordset:Set conShape=New ADODB.Connection conShape.Open CONNECT_STRING
(2)用 recordset中的数据来填充图表:Set rec-Shape=New ADODB.Recordset,recShape.Open SHAPE_COMMAND,conShape
(3)提取域并绘制曲线:ShowRecordsInChart rec-Shape,FIELD_X,FIELD_Y,FIELD_ZDo Until rec-Parent.EOF'确认(row)为此X域sValue=FixNull(recParent.Fields(sFldX).Value,False)If Not IsKeyIn-Collection(cRows,sValue)ThenlMaxRow =lMaxRow+1 lRow=lMaxRow’存储同行名相关的行索引 cRows.Add lRow,sValue.InsertRows lRow,1.Row Label(lRow,1)=sValue。运行效果如图7所示。
图7 平均水位
时间序列预测法就是通过编制和分析时间序列,根据时间序列所反映出来的发展过程、方向和趋势,进行类推或延伸,借以预测下一时段或若干年以后地下水流场、埋深、降深可能达到的水平[6]。模型首先建立二次曲线趋势模型:yt=a0+a1t+a2t2方程中的三个未知参数a0,a1,a2根据最小二乘法求得。即对时间序列拟合一条趋势曲线,使之满足下列条件:∑(yt-t〔AKY〕2=最小值),得到标准求解方程:
①∑Y=na0+a1+a2∑t2
②∑tY=a0∑t+a1∑t2+a2∑t3
③∑t2Y=a0∑t2+a1∑t3+a2∑t4
系统默认取时间序列的中间时刻作为原点来减少运算量,此时有∑t=0,求解简化为:
①∑Y=na0+a2∑t2
②∑tY=a1∑t2
③∑t2Y=a0∑t2+a2∑t4
以上公式中:t——自变量(时间);yt——实际值;t[AKY]——趋势值。运行效果如图 8所示。
图8 二次回归
图9 系统主要窗口运行效果
启动系统和关闭系统时特别要注意 LOAD加载:strfilename=“c:/dxsgl/yjdxs.smw”‘提取默认路径Map.Connect Workspace.Handle’连接工作空间Map.OpenMap Workspace.Maps.Item(1)‘打开地图SuperLegend1.Connect Map’图层管理器连接WkspManager.Connect Workspace‘连接工作空间管理器。UNLOAD加载:Map.SaveMap’保存地图Map.Disconnect‘断开连接 Workspace.Close’关闭工作空间运行效果如图9所示,其中前端窗口为总控制窗口,登录后即可进入到各子系统当中,其后为空间数据管理子系统。
本系统体现遥测管理的实时性和GIS在地下水管理中的高效决策、协作管理、界面友好等特点,使新疆南疆地下水资源管理迈上新台阶。系统实现地下水水位实时遥测和各职能部门水资源管理信息共享,提升了水信息效益价值,提高了工作效率,取得一定的成果。更重要的是系统不要求使用者深入掌握GIS技术,操作简单方便,在基层水资源管理管理部门的推广应用有着很实际的意义。但课题在运用空间信息三维可视化技术建立虚拟分析系统[7-10]、水位等值线绘制等内容上仍需进一步加以完善。
[1] 丛方杰,王国利,肖传成,等.基于GIS组件技术的地下水资源管理信息系统的研究与开发[J].水文,2006,26(4):61-68.
[2] 梁国玲,张永波.基于GIS的中国地下水资源空间数据库建设[J].地球学报,2007,28(6):72-78.
[3] 张鹏程.基于SuperMap的正射影像图建库方法研究[J].测绘与空间地理信息,2007,31(3):12-15.
[4] 张正栋,胡华科,钟广锐,等.SuperMap GIS应用与开发教程[M].武汉:武汉大学出版社,2006:167-193.
[5] 林先成,杨武年.基于栅格数据空间分析的城镇土地定级研究[J].国土资源遥感,2008,76(2):98-100.
[6] 刘小勇,吴楚云,龚守远.基于GIS技术的地下水资源预测预报系统[J].农业工程学报,2003,19(4):171-174.
[7] 胡卓玮,宫辉力,赵文杰.地下水空间信息可视化分析技术研究[J].地球学报,2007,12(8):63-68.
[8] 宫辉力.地下水地理信息系统[M].北京:科学出版社,2003:117-119.
[9] 刘小勇,董新光.农业工程水资源管理中GIS区域分析方法的应用[J].农业机械学报,2004,35(4):196-199.
[10] 孔云峰,李小建,乔家君.GIS中几个基本问题探讨[J].地理与地理信息科学,2006,22(5):1-3.