基本信息
- 项目名称:
- ArcGIS的三维油气输送管道的设计与实现
- 来源:
- 第十二届“挑战杯”省赛作品
- 小类:
- 机械与控制
- 大类:
- 科技发明制作A类
- 简介:
- 介绍了采用C#为编程语言、ArcGIS Engine为开发工具进行油气输送管道地理信息系统的设计与实现。阐述了系统的设计思想、系统的总体设计、功能设计、数据库设计、系统的功能实现,实现了油气输送管道信息的科学化管理。二维的GIS只限于地理空间对象间的平面关系,相比之下三维的更能客观的描述三维地理世界。
- 详细介绍:
- 随着我国现代化地籍制度的建立和完善, 管理系统工程的成熟度已经可以适应信息工程的要求。伴随着信息化时代的到来, 如何充分利用现代信息技术为科学管理服务是新时期我国地籍管理工作的一个显著特点和迫切要求。地籍管理信息化建设要满足土地调查评价、政务管理和地籍信息的综合应用三个应用层次的目标要求, 这也是地籍管理信息化建设的核心内容。 目前,基于地理信息系统(GIS—Geographic Information System)的油气输送管道系统是应用研究的热点问题,油气输送管道具有层次复杂的特点,二维GIS已经无法满足其要求,迫切需要地下管网的三维GIS显示。地理信息系统(GIS)及关系数据库管理系统(RDBMS)的兴起和发展满足了国土行业信息化的要求, 为海量地籍数据的存储和管理提供了可能。地籍管理是国土资源管理的一项基础工作,它通过地籍调查和土地登记工作,对土地利用状况、产权产籍状况及其法律关系依法进行确认, 从而为国土资源管理工作和社会经济发展提供服务。 当前GIS 技术、数据库技术和网络信息技术的飞速发展为地籍管理信息系统建设创造了条件。利用地理信息系统的空间数据引擎, 依托在大型关系型数据库上对日益庞大的地籍数据进行存储和查询已是较为成熟的解决方案。 2. 主要技术及开发平台概述 输油管道三维建模概述: 三维模型最大的特点是可视性强, 有说服力。输油管道三维建模不同于其它三维模型之处有: ( 1) 输油管线包含了大量的数据, 需要分类、分层处理。 ( 2) 由于输油管道三维模型的可移植性, 因此可以通过更改管径等个别参数, 简化建模过程, 降低建模的工作量。 ( 3) 模型建立后, 能满足查询、编辑功能, 以达到便捷管理和维护的需要。此外, 模型的建立应该尽量基于现有工作量的基础上, 或与已有设计相互补充,易于操作和实现。 目前, 一些主流的三维建模软件如3ds Max 、SolidWorks 等已经大量应用于设计、产品实现中,并取得了较好的效果。但是在管线设计领域, 这些软件仍然有一定局限性, 且不易迅速掌握。而CAD和GIS 技术目前广泛应用于管线设计中, 输油管道基于它们进行三维建模和二次开发, 有良好的用户基础。因此, 本文通过AutoCAD 和ArcGIS 等软件结合已有设计成果, 建立输油管道的三维模型。由于建模方式的多样化, 需要根据不同的实际情况选择并调整输油管道参数。通过三维显示,能快速、准确地发现平面设计中无法体现出来的问题。在模型修正完善后, 可满足输油管道日常管理的需要。 2.1 三维GIS的定义及特点 三维GIS的定义首先要从二维GIS的定义谈起。从不同的角度出发,GIS有三种定义: (l) 基于工具箱的定义:GIS是一个从现实世界采集、存贮、转换和显示空间数据的工具集合; (2) 数据库定义:GIS是一个数据库系统,在数据库里的大多数数据能被索引和操作,以回答各种各样的问题; (3) 基于组织机构的定义:GIS是一个功能集合,能够存贮、检索、操作和显示地理数据,是一个集数据库、专家和持续经济支持的机构团体和组织结构,提供解决环境问题的各种决策支持。 基于工具箱的定义强调对地理数据的实际操作,基于数据库的定义强调用来处理空间数据的数据组织的差异,而基于组织的定义强调机构和在机构中的人在处理空间信息上的作用,而不是他们需要的工具的作用。 2.1.1 ArcGIS Engine展望 地理信息系统GIS( geographic information system)是随着地理科学、计算机技术、遥感技术和信息科学的发展而发展起来的, 它是以地理空间数据库为基础, 在计算机硬件、软件环境支持下, 对空间相关数据进行采集管理、操作分析、模拟显示, 并采用地理模型分析方法, 适时提供多种空间和动态的地理信息,为地理研究、综合评价、管理、定量分析和决策服务而建立的一类计算机应用系统。西气东输管道工程、兰成渝管道工程、忠武管道工程及陕京输气管道上均应用GIS 进行选线工作, 这是长输油气管道管理的一次重大飞跃。然而,长输油气管道具有层次复杂的特点, 如果采用传统的二维GIS技术显示, 会出现重叠、杂乱等问题, 给决策带来诸多困难。而采用三维GIS技术显示与管理可以使地下管网的直观性和可操作性得到大大的改观, 使得本来在二维显示下错综复杂的地下管网变得更加清晰明了、层次分明, 给规划带来很大方便。三维立体实现所想即所见, 便于决策, 而且使勘测与设计紧密结合, 有助于实现勘测设计一体化。因此, 进行了长输油气管道三维可视化的研究, 并提出了基于A rcGIS Engine的长输油气管道三维可视化的方法。GIS (地理信息系统) 技术是数字管道的关键支撑技术之一。目前在数字管道系统的开发中,与GIS 相关的功能多选择GIS 桌面软件或软件自带的二次开发语言进行,过多地依赖于GIS 软件本身,缺乏自定义功能,无法与其它系统紧密结合,可移植性差,限制了系统在实际上的应用。同时,数字管道系统具有数据结构复杂,数据量巨大的特点,随着网络技术和管理技术的发展,如何将海量空间数据和属性数据通过网络进行有效信息共享,以及提供空间分析、统计等功能已成为数字管道建设亟待解决的问题。 ArcGIS为用户提供了一整套功能强大的GIS框架。本节将主要关注如何快速的建立和发布使用ArcGIS Engine定制的GIS应用程序。ArcGIS Engine对于应用系统中需要加入地理信息功能的用户来说是一个非常好的选择。积极合理地研究和管理油气输送管道,对石油企业的经济建设具有重要的保障作用。油气输送管道种类繁多。变动频发,是一个纵横交错的庞大网络。传统的管理方法采用图纸资料,由人工处理,工作流程繁琐、效率低下、精度降低,不能适应现代化办公的需要。随着石油企业建设速度的加快。很多图纸资料难以得到实时的更新,在各个部门的协同办公过程中,数据的规范化是提高办公效率的有力保证。但是传统的人工处理方式很难保证各种数据间的无缝结合。导致大量的重复劳动和人力资源浪费。因此迫切需要用GIS技术来实现三维油气输送管道的综合管理。使其步入规范化、自动化、科学化的轨道。油气输送管道具有层次复杂的特点。如果采用传统的二维GIS技术加以显示,难免出现重叠、杂乱等问题,给决策带来诸多困难,而采用三维GIS技术显示与管理可以使油气输送管道的直观性和可操作性得到大大的改观,使得本来在二维显示下错综复杂的油气输送管道变得更加清晰明了、层次分明。给规划带来很大方便。三维立体实现所想即所见,便于决策,而且使勘测与设计更加紧密结合,有助于实现勘测设计一体化。 2.2 .net平台和C# C#是面向对象的语言,进一步提供了对面向组件编程的支持。C# 的垃圾回收、异常处理、类型安全特性为构造强健和持久的应用程序提供了支持。所有C# 类型(包括int和double的基元类型)都继承于一个唯一的根类型( object) 。因此,所有类型都共享一组通用操作,并且任何类型的值都能够以一致的方式进行存储、传递和操作,具有一个统一的类型系统。C#程序和库还能够以兼容的方式逐步演进.net framework是一个平台,此平台支持C#语言。该平台支持多种程序开发,除了典型的Windows窗体应用程序和控制台应用程序, 还支持Web应用程序、Web服务等各种类型的应用程序。应用. net framework可以满足应用程序开发的大部分需要。由于其强大的功能特性和方便易用性,.netframework已经成为重要的开发工具。 3 系统总体架构 3.1 设计地下管线信息系统的意义 在当今社会, 知识经济正日益扮演着更为重要的角色, 工业信息化成为社会发展的必然趋势。而数字化又是信息化的基础。伴随信息技术和社会经济的高速发展, 输油管道空间开发利用越来越受到各方面的重视, 建设规模不断扩大,使用功能日趋复杂。输油管道建设的高速发展与落后的管理手段之间的矛盾也日益尖锐。数字输油管道的建设工程也越来越现实地进入输油管道发展建设的日程中。输油管道的数字化正是实现数字输油管道的关键点之一, 也是未来输油管道信息化的迫切需要。地理信息系统(GIS) 是国际上近几年来发展起来的一门新兴边缘学科。它是一个利用现代计算机图形和数据库技术来输入、存储、编辑、查询、分析、显示和输出地理图形及其属性数据的计算机系统。一些发达国家在GIS 的发展上已取得很大进展, 许多石油企业已建立地下管网GIS, 且已进入专业化应用与商品化生产阶段。地下管线作为石油企业的重要基础设施, 是现代化城市高效率, 高质量运转的保证。石油企业地下管线现状资料是管道规划、建设和管理的基础资料, 也是地下管线安全运行的保证。尽快系统全面地掌握地下管线现状, 能为合理开发利用地下空间,为地下工程的规划、设计、施工及运行管理提供完整的基础数据, 对制定切实可行、技术先进和经济合理的规划设计与管理方案有着重要的作用。因此, 尽早、尽快建立一套功能完善的地下管线信息系统来分析地下管线的布局, 已是亟待解决的问题。 3.2 系统建立 数据的搜集与整理其内容主要包括确定数据来源、数据分界、数据质量和专题数据的组织结构等。这一步对于空间数据库的权威性、可靠性至关重要, 应予以高度重视。长输油气管道三维区图包括地形图、乡镇级行政区划图、居民点分布图、泵站图、道路图﹑管线图等。 数字化对于基础数据, 采用扫描并矢量化的方法, 扫描后会产生一定的偏差, 需经过图形处理软件进行几何变换以及坐标、投影转换等调整。在数字化的过程中, 需注意坐标系的统一以及投影方式的选择。空间分析是地理信息系统的一个重要的功能, 也是地学科常用的分析方法。因此, 对于将要存储于1个空间数据库中的数字化图层, 应建立在相同的公共坐标系基础上。长输油气管道管理平台采用1984年WGS坐标系及高斯- 克吕格投影作为公共的坐标系和投影。建立专题地图将矢量化后的地形图在ESRIArcView GIS 3. 2软件中应用3D Analyst模块生成TIN (不规则三角网)数据, 检查并对数据进行修正, 以与真实地貌吻合。完成数字化和相应的修改工作之后, 在ESRIArcGIS 9. 2Desktop环境下应用ArcSence 软件, 将TIN 数据以及行政边界、乡镇级行政区划图、居民点等要素叠加在一起, 并保存为工程文件。 4.三维油气输送管道的设计与实现 4.1地下管网三维可视化设计 ArcGIS Engine的3D分析模块提供了丰富的三维可视化和分析功能。可以通过不同的视角查看表面数据,对表面数据进行查询,以及对表面数据进行坡度、坡向、视域分析等操作.进行三维动画模拟等等。基于ArcGIS Engine的油气输送管道网三维可视化总体设计,其中油气输送管道网数据采用GIS中应用最广泛的shape格式数据f主文件*.shp,索引文件宰.shx,数据库文件*.db0存储,包括结点坐标、高程、直径以及管线长度、直径等信息。因为ArcScerie是ArcGIS体系中对三维支持最好的系统,有其天然的优势所在,所以首先应用ArcScene将管网数据以点、线等二维实体显示到窗体中,然后应用AreSeene中内嵌的VBA及ArcGIS Engine开发地下管网的三维可视化模块,使其得到很好的三维显示效果。 三维可视化实现的技术很多, 可以分为数学类技术和组件类技术。其中数学类技术主要有OpenGL、Direct3D、Java3D, 此类技术要求开发者具有扎实的数学基础以及计算机图形学知识。并且该类技术是一项底层开发技术, 开发周期较长, 容易产生很难解决的知识类错误, 最关键的是此类技术开发的系统只是虚拟现实系统, 并不提供支持管理与决策的信息。而组件类技术是在已有的开发组件基础上进行二次开发, 此类技术将绝大部分复杂的数学知识封装在函数库中, 开发者只需应用组件中的函数即可实现复杂的三维可视化及分析功能, 函数内部的原理对开发者是透明的, 使得开发变得非常迅捷与高效。其中, ESRI公司的ArcGIS Engine最典型, ArcGIS Engine具备丰富的GIS分析功能, 可以很好地与管理信息系统(MIS)和决策支持系统(css)相结合。 传统油气输送管道在信息交换性和通用性、数据管理与存储等方面存在着许多不足之处,已无法满足未来管道运营管理的需要。在油气输送管道建设中开展适应油气输送管道建设的设计、规划、施工、管理的地理信息系统,能够解决目前存在的一系列问题。由于我国基础数据的匮乏和油气输送管道涉及的地域和资料的广泛性,全面建立用于规划、设计与管理的油气输送管道地理信息系统还存在一些问题。但是,建立一套适用于油气输送管道管理的地理信息系统是十分必要的,它可以提高油气输送管道的管理效率、管理水平和对突发事件的应对能力。可以预见,地理信息系统在油气输送管道建设与管理中将发挥显著的作用。 4.2数据服务模块的实现 通过前文对GIS二次开发的介绍及对长输油气管道三维可视化系统的不同用户的不同需求的分析本课题采用了基于ArcGIS Engine进行组件式二次开发。 而对于开发平台方面的选择由于目前应用.NET、Java、VB、VC等语言开发GIS应用系统是主流,也是潮流。开发ArcGIS应用系统,大多数开发人员会选择.NET开发语言。需要说明的是,此处的.NET指微软Visual Studio.NET,这是一个包含很多编程语言的开发工具,其中有VB.NET、C++、C#、J#等。而ArcGIS Engine具有跨语言特性,对这些标准开发语言都支持。其实,.NET系列的每种语言各有特点,无明显优劣之分,结合本人对各种开发语言的熟悉程度,选择VB.NET语言基于ArcGIS Engine进行系统的二次开发。 ESRI公司的产品ArcGIS Engine是基于ArcObject模块,而ArGIS桌面应用环境中的ArcMap、ArcCatalog和ArcScene这三个应用程序同样也是在ArcObject技术框架的基础上搭建起来的,因此从理论上讲这些应用程序能完成的任务,通过ArcGIS Engine同样可以完成。ArcGIS Engine是ArGIS桌面产品的开发平台,它是构建于微软的组件对象模型基础之上的,因此它具有强大的开放性和扩展性,可以使用支持COM组件的任何开发语言编写自己需要的COM组件,对ArcObject组件库进行扩展补充,以扩展ArcObject的应用。由于针对不同客户的不同需求,ArcGIS Engine可以开发出能够实现ArcMap、ArcCatalog和ArcScene功能的为客户所定制的应用程序,精简了客户不需要的功能,提高了计算机的响应速度并节约了成本。 本系统中我们利用ArcObjects组件库和SceneViewerControl控件,结合.NET开发平台开发一个具有三维显示DEM地形表面功能,同时可以叠加影像数据、矢量数据以及对地形进行分层设色显示的三维显示子系统,并且用ArcObjects组件库和MapViewerControl开发一个能够对DEM地形三维分析的子系统。 ArcGIS Engine的3D模型包括矢量模型和表面模型,3D矢量模型包含所有具备z值的几何对象:点(Point)、线(Line)、多边形fPolygon)、多片fMultipatch),其中多片又可以分为:三角条带(Triangle Strip)、三角扇(Triangle Fan)和环(Ring)。 数据服务模块的实现包括管道空间数据和属性数据的准备、管道地图服务(Map Services) 的发布两部分。关系数据库选用SQL Server 2005,空间数据库引擎采用ArcSDE。 (1)数据准备。在现有栅格地图和遥感数据的基础上,通过ArcMap 分类矢量化各个地图图层,通过ArcSDE 导入SQLServer 2005,并通过ArcCatalog 注册为版本,以便实现多用户编辑。同时建立各个图层的相应属性数据表,存储图层要素的详细属性信息。 (2) 地图服务发布。数据准备完毕后,通过ArcMap 加载SQL Server 2005 数据库里的各个地图图层,并保存为一个mxd文件,通过ArcGIS ServerManager 或ArcCatalog 将此mxd 工程文件发布为地图服务(Map Services)。 查询分析模块主界面由ArcGIS Server的TServerAPI、.NET ADF,ASP.NE 开发,实现基于浏览器的地图显示、查询、空间分析统计等功能。ArcGIS Server 的核心是ArcObjects组件库,所以基于ArcGIS Server 的编程实质是基于ArcObjects的编程,开发基于ArcGIS Server 的应用关键在于如何连接GISServer 中的地图服务(Map Services)和远程调用GIS Server中的ArcObjects。远程连接地图服务(Map Services)和调用ArcObjects 的步骤是: ①通过GISServerConnection 类连接到GIS Server; ②通过服务器上下文(ServerContext) 获取服务器对象(ServerObject); ③使用服务器对象; ④释放服务器上下文及服务器对象。以下代码演示了远程连接地图服务,然后获取地图服务的图层的过程: (1) 连接GISServerIGISServerConnection conn=new GISServerConnection();conn. Connect(“machine”); (2) 获取服务器对象IServerObjectManager som = conn.ServerObjectManager;IServerContext context=som.CreateServerContext("pipeline","MapServer"); IServerObject so = context.ServerObject;IMapServer ms = so as IMapServer; (3) 获取图层IMapServerObjects pMapServerObjs = ms as IMapServerObjects;IMap map = pMapServerObjs.get_Map(ms. DefaultMap-Name); ILayer layer =map. get_Layer(0); 在连接了地图服务之后,就可以实现查询分析模块的各个功能。 (1)地图加载操纵。同ArcGIS Engine 一样,ArcGIS Server的ADF 也有地图控件和工具命令集,ArcGIS Server 的地图加载操纵实现方法和ArcGIS Engine 的地图加载操纵实现方法类似,这里不再赘述。 (2)查询功能。包括空间信息查询、属性信息查询、模糊查询,由空间信息查询属性信息、由属性信息查询空间信息等。由ADF 的QueryFilter 类和IQueryFunctionality 接口可以实现属性信息到空间信息的查询,由IFeature接口则可以实现空间信息到属性信息查询。 (3)空间分析。包括缓冲区分析(管道泄漏灾害预测分析)、网络分析(最短路径分析)、纵断面显示、距离量测、面积量测等功能。通过ITopologicalOperator 接口可以实现缓冲区分析,叠置分析等空间分析。图3 的圆形区域显示了当管道发生泄漏时受影响的地区,从图中可以方便的看到哪些城镇将受到影响,受影响的程度,从而达到管道泄漏灾害预测分析的目的。 4.3 系统功能介绍 数据转换(输入)功能由于设计过程中使用的试验数据文件为MapInfo格式, 所以首先要将源数据文件格式(MapInfo )导出为VF数据格式(Visual FoxPro 3. 0) , 然后Tab. 2 Structural design ofund erground pipelines' lines字段名类型长度小数位数System Research Institute, ESRI)开发的新一代GIS软件, 是世界上应用广泛的GIS 软件之一, 是我国GIS领域常用的商业软件。ArcGIS 也是ESRI在继承已有成熟技术的基础上, 整合了GIS与数据库、软件工程、人工智能、网络技术及其他多方面的计算机主流技术, 成功开发出的新一代GIS平台。 5.结论与展望 基于ArcGIS Engine的地下管网三维可视化能够方便、准确、直观、形象的表达错综复杂的地下管网之间的空间层次关系,进一步提高了人机交互性,给管网管理工作提供便利。应用ArcGIS Engine及VBA开发地下管网系统十分高效与快捷,不需要繁琐的代码与复杂的数学变换,是非常经济的方法之一。由于ArcGIS Engine具有强大3D功能。只需接口声明及函数调用等简单的语句便可达到现实世界在计算机中的真实再现.更由于ArcGIS Engine对GIS功能的天然支持,使得复杂的GIS分析功能的实现变得异常简单,因此本系统具有很好的扩展性。本文提出了应用AreGIS进行二次开发三维管网系统的方法,此方法较其他方法更高效快捷,无需繁琐的代码以及复杂的数学变换,给开发者带来极大的便利。地下管线信息系统是城市基础地理信息系统的重要组成部分, 是数字城市的核心应用系统之一。本文通过分析输油管网信息管理现状和发展趋势, 简述了运用计算机技术和GIS技术科学管理地下管线的必要性, 并在此基础上利用ArcGIS平台二次开发功能设计完成了该地下管线信息系统。在设计过程中, 以某矿区地下管线数据为例, 由于该试验数据为MapInfo数据格式, 不能直接在ArcGIS下使用, 因此首先对其进行数据格式的转换, 然后再将其导入ArcCatalog模块中, 同时在ArcGIS下生成图形, 最终在此基础上实现对地下管线信息数据存取与转换、图形和属性显示、交互查询、统计、分析等功能, 对于类似的GIS 设计与开发实践具有一定的借鉴和参考价值。应用ArcGIS Engine开发地下管网系统十分高效快捷, 不需要繁琐的代码与复杂的数学变换, 是非常经济的方法之一。由于ArcGIS Engine具有3D 功能, 只需接口声明及函数调用等简单的语句便可使实际物体在计算机中真实再现, 更由于ArcGIS Engine对GIS功能的支持, 使得复杂的GIS分析功能的实现变得异常简单, 因此系统具有很好的扩展性。数字管道的应用在国内还刚刚起步,基于远程应用和Web的数字管道系统更是鲜见,本文基于ArcGIS Engine、ArcGISServer、ArcSDE、VS.NET、ASP.NET、SQL Server 2005,构建了具有远程对管道信息进行显示输出、查询编辑、空间分析等功能的数字管道系统,系统按功能模块和职责进行了划分以适应不同层次用户的数据需要,达到了配置灵活、分工明确的目的;采用C/S 和B/S 混合结构,同时兼备C/S 结构功能强大和B/S 结构灵活轻便的优点;提高了数字管道的决策管理效率,促进了数字管道的信息共享,同时为更好的建设数字管道提供了借鉴和参考。本文实现的系统在数字管道远程应用和管道网络化方面进行了积极的尝试,获得了较好的效果,但在Web 应用的速度问题上还需要进一步的深入探讨和完善,由于网络带宽的限制,当服务器的图层数据量很大时,浏览器的浏览速度变得缓慢,解决方法在于对系统进一步的数据优化和配置优化。
作品专业信息
设计、发明的目的和基本思路、创新点、技术关键和主要技术指标
- 利用ArcGIS的数据三维可视化为我们浏览数据提供了一个新的视角,可以了解到在二维状态下很难直观反映到的信息。如果采用传统的二维GIS技术加以显示,难免出现重叠、杂乱等问题,给决策带来诸多困难;而采用三维GIS技术显示与管理可以使地下管网的直观性和可操作性得到大大的改观,使得本来在二维显示下错综复杂的地下管网变得更加清晰明了、层次分明,给规划带来很大方便。
科学性、先进性
- 基于ArcGIS Engine的地下管网三维可视化能够方便、准确、直观、形象的表达错综复杂的地下管网之间的空间层次关系,进一步提高了人机交互性,给管网管理工作提供便利。应用ArcGIS Engine及VBA开发地下管网系统十分高效与快捷,不需要繁琐的代码与复杂的数学变换,是非常经济的方法之一。使得本来在二维显示下错综复杂的地下管网变得更加清晰明了、层次分明,给规划带来很大方便。
获奖情况及鉴定结果
- 暂无。
作品所处阶段
- 实验阶段。
技术转让方式
- 暂无。
作品可展示的形式
- 论文。
使用说明,技术特点和优势,适应范围,推广前景的技术性说明,市场分析,经济效益预测
- 由于ArcGIS Engine具有强大3D功能。只需接口声明及函数调用等简单的语句便可达到现实世界在计算机中的真实再现.更由于ArcGIS Engine对GIS功能的天然支持,使得复杂的GIS分析功能的实现变得异常简单,因此本系统具有很好的扩展性。应用AreGIS进行二次开发三维管网系统的方法,此方法较其他方法更高效快捷,无需繁琐的代码以及复杂的数学变换,给开发者带来极大的便利。地下管线信息系统是城市基础地理信息系统的重要组成部分, 是数字城市的核心应用系统之一。
同类课题研究水平概述
- 暂未查到相关资料。