蒋玉水
(泰安市大汶河综合开发建设指挥部,山东泰安 271000)
近年来,水利项目建设的目的已不仅是治水这个最基本的民生宿求,还是服务于旅游的一项重要举措。泰安有着山城一体的独特格局,在山与城的南侧,还有一条“河”,汇集众水,南绕泰城,西入东平湖,最后流入黄河,这就是大汶河。大汶河是山东省省境内黄河最大支流,是泰莱地区的母亲河,流域面积8536km2,流经泰安境内156km。汶河沿岸工业、农业、水利、渔业、林业、生态、旅游等发展状况和沿岸治污、治沙情况都是政府所关心的。因此,开发集治水与旅游于一体的风景水利管理系统具有十分重要的意义。
系统采用Rational Rose 2003进行组织结构设计,采用ArcSDE9.3 For Oracle10g进行数据存储,采用Visual Studio 2010作为开发的语言平台,采用 Google SketchUp进行三维景观模型的建模,采用 ArcEngine作为治水模块的二次开发工具,采用ArcServer作为旅游管理模块的二次开发工具。
ArcSDE是ArcGIS与关系数据库之间的GIS通道。它允许用户在多种数据管理系统中管理地理信息,并使所有的 ArcGIS应用程序都能够使用这些数据。
系统总功能框架如图1所示。
图1 系统功能结构
现有的大部分水利数据都是CAD数据,要充分利用之。但CAD数据不利于空间分析,因此,系统必须支持CAD数据到SDE数据的转换。转换过来的CAD数据可通过二维编辑、互动编辑、三维编辑依次进行编辑,生成满足需要的水利要素。
现有的大部分水利数据都是CAD数据,要充分利用之。但CAD数据不利于空间分析,因此,系统必须支持CAD数据到SDE数据的转换。转换过来的CAD数据可通过二维编辑、互动编辑、三维编辑依次进行编辑,生成满足需要的水利要素。
通过处理CAD数据,获取高程点数据,然后再利用离散的高程点生成TIN三维地表。 首先把CAD高程点数据转换成Shapefile数据,然后利用三维编辑模块的生成地表功能生成三维地表。与ArcGIS相比,功能简单。所有功能在一个界面完成,节省来回导入导出数据时间。并且二维高程点数据与三维地表数据对应,效果明显。
地表不可能一成不变,自然力量使地表变化,如风蚀、水蚀,建房、公路时需要填满洼地,去除高地,填洼地表。因此,系统必须具备修改地表的功能。
在该系统中地表的修改主要分为两部分。
根据使用的修改地表对象,分为二维地物对地表修改与三维地物对地表修改。所对应的工具分别在互动模块和三维编辑模块。 根据修改地表的高程数据的来源可分为对象自带高程修改地表与高程属性下压地表。
2.3.1 二维编辑模块
在三维场景中对地理要素编辑比较困难,然而二维界面的编辑却简单很多,因此主要的地理要素编辑的编辑工作还是要在二维界面完成。为了提高编辑的效率,解决三维场景中编辑比较困难的问题,而为场景被保留下来,既可以独自完成编辑,也可以与三维场景互动完成编辑。
该模块的主要功能框架是 MapControl控件。MapControl控件对应于ArcMap的数据视图,它封装了Map对象,并提供了额外的属性、方法、事件用于管理控件的外观、显示属性和地图属性,添加并管理空间中的数据层,装载Map文档(.mxd)到控件中。
2.3.2 互动编辑模块
该模块的功能基础是二维与三维的同步,分为数据显示的同步于数据编辑的同步。数据编辑的同步可以借助ArcSDE进行实现。这里重点介绍数据显示的同步,换句话说,就是当二维视图内容发生变化时,三维视图做出相应的内容变化;当三维视图内容发生变化时,二维视图做出相应的内容变化。
该模块是整个系统的重点,既解决了二维与三维同步显示的问题,也解决了二维与三维互动编辑的问题。
在三维模块中数据量比较大,在场景中选择对象的速度比较慢,精准度低,这就是三维编辑差强人意。为了解决三维场景选择慢、精准度低的问题,可以现在二维场景中选择对应对象,然后把具体对象的 ID传给三维场景,这样就越过了在三维场景中的拾取操作,直接根据二维场景提供的对象的ID筛选对象,只要对象类在数据库中建好索引,可以想象这样的速度是很快的。
2.3.3 三维编辑模块
与二维图形的编辑一样,用户也可以对三维曲面、实体进行编辑。对于二维图形的许多编辑命令同样适合于三维图形,如复制、移动等。由于在三维场景中进行编辑速度慢、精准度低,因此该模块主要是一些简单的三维编辑功能。把主要功能用二维与三维互动编辑代替。
水利工程对象有大坝、桥梁、公路、水闸、护堤等。比如桥梁,只要知道桥梁的桥面高、桥宽、桥梁走向、桥墩距离、桥面贴图,就可以制作出符合用户要求的三维模型。制作每个桥梁都遵循这一规格标准,用建模软件建模桥梁都在重复这一过程。为了提高建模效率,我们完全可以用程序代替这一过程。在系统中,选择互动编辑中的二维拉线建桥工具,在二维视图中划出桥梁走向图,在规格对话框中输入桥梁的桥宽、桥面高、桥墩半径、桥墩距离等参数,在三维视图中就会生成对应的三维桥梁模型。
线状公路的自动化建模也可以比照桥梁的自动化建模。但在实践中发现公路的大多数数据是CAD路桩数据。为了充分利用CAD数据,并减少连点成线带来的麻烦,为此,开发了基于路桩的公路自动化建模。
公路受地表起伏影响比较大,在公路的自动化建模中,还涉及到修改地表的问题。在已知公路高程时,生成三维公路后,须根据公路高程修改地表。在未知公路高程时,须根据地表高程赋值公路线或路桩来生成公路。
自动化建模技术是以 MultiPatch为基础数据模型。ArcEngine的 IGeneralMultiPatchCreator与IMultiPatch接口都提供了对MultiPatch数据模型基本的编辑功能。两个接口都可实现创建不带纹理的模型,但IGeneralMultiPatchCreator还支持创建带纹理的模型。IGeneralMultiPatchCreator与IMultiPatch也有一个缺点,就是建模较复杂。因此,我们选用IMultiPatch接口进行建模,使用IGeneralMultiPatchCreator接口进行贴图。其过程如图2。
图2
为了便于使用和修改,重新定义一类Multi-PatchCreator。该类有如下成员函数。
通常,多片是用来描述阴影平面集合,并且可以在其上粘贴影像,也就是贴图。为了粘贴影像,需要在Multipatch的每一个定点上记录纹理坐标。纹理坐标记录为s和t,值为0到1,表示了从x到y方向影像的起点到终点。在ArcObjects中将s和 t编码存储在定点的 M值中。另外,如果要用Multipatch表达复杂连续的几何对象,比如球体,为了平滑阴影平面之间的转折,需要在Multipatch的每一个顶点上记录它的法向量,同样法向量也是编码后存储在定点的M值中。
水利工程信息管理是建立在前面所有功能基础之上的功能。实现河道、水库、橡胶坝、水闸、堤防、引水工程、灌溉工程管理数据查寻、编辑、修改、打印、样式输出。功能要求:能查寻已建三维河道、水库等库容、水位;水闸闸门提升放水时,水闸闸门过水流量与库容水位三维演示,可以生成相应的库容水位曲线表以供打印例参数、多媒体信息, 也有HTML文档的页面信息 。
工程管理模块主要为沿线的工程项目的进度、成本、质量、安全管理实现科学化、规范化、程序化、制度化提供高效的管理工具。通过该模块对工程的进度、工程的各项指标等工程项目信息, 结合相关的基础信息、河道信息、水雨情信息等实时、历史、空间或非空间信息进行综合分析, 建立沿线三维地质、地形基础信息, 结合相关空间信息与非空间信息, 对沿线工程优化管理, 并以图形、表格、三维可视化等技术手段展示已建或在建工程项目的状况。
同时获取相关性分析、因果关系分析及常规的统计分析结果, 并实时在线采集数据, 以确保工程的质量, 降低生产成本, 提高劳动生产率。
在水资源管理方面,该系统主要提供了水淹分析、水淹演示、雨情信息管理等。在工程管理方面该系统主要提供了剖面分析,水利工程对象的定位、查询、属性修改等操作。
在系统中选择水位库容工具,在二维视图中选中要查看的水库,在弹出的水淹分析对话框中,就可以查询该水库水位与库容的关系,并可输出水位/库容、水位/回水面积、库容/回水面积曲线。
水淹分析主要用到ArcEngine的接口Isurface的函数GetProjectedArea(参数1,参数2,参数3)与GetVolumn(参数1,参数2,参数3)函数。GetProjectedArea接口函数有三个参数,第一个参数表示输入的水位高程,第二个参数表示输出的面积是在水位上还是在水位下,第三个参数表示输出在该水位时的回水面积。函数GetVolumn也有三个参数,第一个参数表示输入的水位高程,第二个参数表示输出的库容是在水位上还是在水位下,第三个参数表示输出在该水位时的库容。
拟在GIS技术支持下,利用建立的洪水预报模型,模拟洪水发展过程,预报最大洪峰出现的时间和流量,根据数字高程模型,圈定出洪水淹没范围,结合数据库中淹没区的基础地理数据和社会经济资料,对灾区受灾程度及损失快速做出评估,整个过程集合成一个系统,建立实用性强、可视化程度高的洪水预警和淹没评估系统,为气象部门开展局部强降雨造成的洪灾预警和淹没评估提供基础平台,具有业务应用和推广价值的意义。
洪水淹没由多种因素造成, 降雨、上游来水都可以造成淹没。按照洪水淹没的成因,可将其分为两大类: 一类是无源淹没, 一类是有源淹没。
水淹演示功能可以动态的展现水淹的全部过程,并对水淹后的财产损失进行评估。运用GIS技术快速准确地模拟洪水淹没区域,与当地各种专题涂层叠加分析得到有关决策指标,对于确定人员疏散规模与灾害评估具有十分重大的意义。
水利工程的运用、操作、维修和保护工作,是水利管理的重要组成部分。水利工程建成后,必须通过有效的管理,才能实现预期的效果和验证原来规划、设计的正确性。工程管理的基本任务是:保持工程建筑物和设备的完整、安全,经常处于良好的技术状况;正确运用工程设备,以控制、调节、分配、使用水源,充分发挥其防洪、灌溉、供水、排水、发电、航运、水产、环境保护等效益;正确操作闸门启闭和各类机械、电机设备,提高效率,防止事故;改善经营管理,不断更新改造工程设备和提高管理水平。
在系统中可通过编辑属性对话框实现对水利工程对象的定位、查询、属性修改等操作。在编辑属性窗口中双击每一行就可以定位该行所对应的对象,并可对每一行对象进行修改。
剖面分析模块可以获得任意两点之间的地表剖面图,并对剖面数据进行处理。剖面分析在很多工程领域有很多应用,很大的便利的工程建设,可以为河底清淤、水利工程提供可靠的地表剖面数据依据。剖面分析的基础是高程点数据的插值分析。高程数据通过插值生成高程栅格数据或TIN数据,在栅格数据和TIN数据上可以获得任意点的高程,也就可以获得任意两点间的高程。从另一个方面来讲,剖面分析是对高程数据的再利用,提高了高程数据的利用率。在系统中点击连线就可以生成对应的剖面图。
剖面分析主要用的ArcEngine的Isurface接口的InterpolateShape(参数1,参数2)函数。该接口函数有两个参数,第一个参数是输入数据,表示由两点组成的线数据,第二个参数是输出数据,表示输出的剖面线数据。
水利风景区因水利工程而形成,因水利工程壮阔而雄伟;水利工程因水利风景区的旅游开发而增加收益,因旅游风景区的开发而增加收益而扩大知名度、水利科学知识和水文化概念认知,也因二者的和谐双赢而得到普及。但是水利风景区的旅游开发必须以水利工程安全为前提,在水利风景资源开发的全过程中,工程安全是高压线,必须放在首位。在大坝、溢洪道上不能建房,在大坝内坡不得修建码头,凡危害工程安全的旅游建设必须拆除。
大汶河滨水景观规划总体结构可用一湖、三岸、四段、五广场、六节点、八主题园来概括。一湖指天泽湖,三岸指历史文化岸、自然生态岸、滨湖生活岸,四段指生态湿地段、文化展示段、人本养生段、生活安康段,五广场指旅游文化节庆典广场、天地人和庆典广场、园艺节庆典广场、养生节庆典广场、体育节庆典广场,六节点指颐养天和、泰城水埠、龙游广场之日耀、龙游广场之月光、风鸟来仪、凰舞载歌,八主题园指生态湿地园、龙凤祥和园、名人荟萃园、乐水文化园、休闲养生园、园艺博览园、金沙滩公园、汶河植物园。因此,大汶河规划区景点众多,必须使用信息化管理。
以上介绍的所有功能都是水利旅游管理功能的基础。水利旅游管理功能模块包括景点游览、景点查询、景点介绍、景点动漫制作、景点客流管理等。旅游游览功能可以不用去现场,可以一览无余地再现场景。景点查询功能可以根据输入的景点名称定位到景点场景,并可查看景点介绍。景点介绍有文字图片介绍、语音介绍、视频介绍,只需点击景点,就可获取景点介绍。景点动漫制作功能可以把三维场景游览的过程制成视频,并能需要的景点语音介绍。景点客流管理功能可以保存一定时间内的客流记录,并能根据客流记录预测未来一段时间内的客流量。
水利旅游管理功能是一个双客户的系统,不仅要满足旅游管理者的管理需求,也要满足游客的游览需求。因此,在开发此模块时采用B/S结构,采用ArcServer技术进行开发。
以泰安市水利行业的相关数据为研究对象,通过使用ArcEngine与ArcServer开发技术,实现了基于B/S与C/S结合、二维与三维结合的风景水利管理系统的开发,为水利系统的工作人员提高了管理各种风景水利的效率与效力。二三维互动编辑和水利工程自动化建模两个功能是该系统的最大亮点,兼顾水利治水管理与水利旅游管理是该系统的最大特点。二三维互动编辑是水利工程自动化建模的基础,通过这两个亮点功能可以很方便的实现水利规划设计。兼顾水利管理与水利旅游管理是当前风景水利的最大需求。该系统三维动态浏览、雨水情数据数字化模拟分析以及水利工程管理应用等水利应用将不断开发设计,以适应现代数字信息化水利建设的需要。
[1]刘东海,李定葵,等.基于GIS的水电工程施工导流三维动态可视化[J].计算机辅助设计与图形学学报,2002,(11):1051-1055
[2]钟登华,宋洋.大型水利工程三维可视化仿真方法研究[J].计算机辅助设计与图形学学报,2004,(1):121-127
[3]李景如,钟登华,等.水利水电工程三维动态可视化仿真技术与应用[J].系统仿真学报,2006,18(1)
[4]吴建生,朱谷昌,等.三维 GIS技术在固体矿产勘探和开发中的研究与应用[J].地质与勘探,2004,(1):68-72