城市三维管线可视化技术——以综合管线数据管理系统为例付仲良张文元目录1 系统需求分析 (2)1.1 管线三维可视化意义 (2)1.2 管线系统功能需求 (3)1.3 管线数据需求 (4)2 系统总体设计 (5)2.1 系统的技术路线 (5)2.2 系统的层次结构 (5)2.3 系统的软件配置 (6)3 数据库设计 (8)3.1 数据库内容 (8)3.2 概念模型设计 (8)3.3 逻辑模型设计 (8)3.4 物理模型设计 (9)4 系统功能设计 (10)4.1 系统技术架构 (10)4.2 系统功能结构 (10)4.3 系统功能描述 (11)5 管线三维可视化技术介绍 (13)5.1 ArcGIS Engine 3D开发简介 (13)5.2 三维管线几何建模原理 (14)5.3 三维管线几何建模算法 (16)5.4 管点三维建模 (22)5.5 三维管线系统功能界面 (23)1系统需求分析系统需求分析是在对用户进行深入细致的调查基础上进行的,它是GIS设计的基础,是通过与系统潜在用户进行书面或口头交流,将收集的信息根据系统软件设计的要求归纳整理后,得到对系统概略的描述和可行性分析的论证文件。
全面深入地了解掌握用户需求是进行优良的系统设计的关键,也是系统生命力的保证,需求分析使GIS开发者可以明确地了解用户对GIS内容和行为的期望和需求。
1.1管线三维可视化意义城市地下管网是由纵横交错的给水、排水、燃气、热力、电力、电信、工业管线组成的错综复杂的空间体系,担负着能源输送、信息传输等工作,是城市赖以生存和发展的物质基础。
但由于多方面的原因,我国现有地下各类专业管线的资料残缺不全,且有关资料精度不高或与现状不符,造成在建设施工中时常发生挖断或挖坏地下管线,造成停水、停气、停暖、通信中断、污水四溢等严重事故。
另一方面,我国现有的地下专业管线在地上、地下立体布设,管线繁多、复杂。
已有的管线资料都以图纸、图表等形式记录保存,采用人工方式管理效率低下,资料系统性差。
对于变化的区域,管线维护困难,各部门也存在为了建设方便重复收集资料、标准不统一、管理混乱等情况。
而城市地下管线现状资料作为地下工程规划设计、施工和运行管理的基础数据,必须为合理地开发利用地下空间,加强城市地下空间的统一规划管理提供科学依据。
目前城市管网系统大多停留在二维的管理基础之上,不能生动地表现具有三维特征的客观实体。
而且,管线在地下的分布纵横交错,二维图形无法表现管线之间的空间关系。
由于三维直观性强,可从不同方位再现物体,具有较强的立体感、逼真感,通过三维可视化可以直观地看到城市地下纵横交错、上下起伏的实际管线。
所以建立城市三维管网系统,有利于全面反映地下管网的分布状况,便于管网的维护、检测,实现管网信息从无序到有序化管理。
此外,将管网信息与城市基础地理信息融合在一起,可实现信息共享,为城市的施工建设提供准确、现势的资料,为科学管理提供辅助决策的依据。
1.2管线系统功能需求需求分析阶段最重要的就是了解系统的功能需求。
只有系统功能需求明确,才能给后面的系统开发确定明确的目标。
以综合管线测绘数据管理系统为例,通过多次和用户的沟通交流,确定系统的功能需求如下(以系统用户用例图来表示):图1 综合管线测绘数据管理员用例图图2综合管线测绘数据普通用户用例图从上面两个用例图可以看出,综合管线数据库系统管理员拥有最高权限,可以对综合管线数据进行入库管理、视图管理、查询统计、编辑、符号库管理、制图输出、三维浏览、二三维视图切换等各种操作;而该系统的一般用户则只能对综合管线数据进行视图管理、查询统计、三维浏览和二三维视图切换等基本操作。
1.3管线数据需求数据是地理信息系统的核心。
数据的状况对系统目标的影响很大。
在考虑系统目标时,需要对数据进行评估、分类和登记。
在需求阶段,需要对用户单位现有的数据源进行调查,包括能获得哪些数据;这些数据可划分为几个类型;它们之间有何联系;哪些是基础数据,哪些是可以由基础数据生成的合成数据和综合数据。
在综合管线数据管理系统中,为了在三维场景中显示三维管线和三维地形,系统需要用到的数据包括:含有平面坐标和高程值的各类管线数据、以及井等管点附属设施矢量数据、基础矢量数据、三维地形数据(DEM)、遥感影像数据(DOM)。
2系统总体设计2.1系统的技术路线(1)考虑到系统对于空间数据交互较为频繁和GIS空间分析要求较强,可采用客户机/服务器(C/S)的体系架构。
(2)数据库管理系统采用当前国际上先进成熟的关系型数据库管理系统Oracle存储海量数据,实现对空间数据的集中统一管理和分布式应用。
(3) 采用美国ESRI公司的ArcGIS系列产品作为GIS平台,空间数据库引擎使用ArcSDE,支持Windows平台和UNIX平台。
通过空间数据与属性数据的相互关联,以网络技术、C/S技术为基础,进行系统集成。
(4) 系统建设与开发采用面向对象的软件工程方法,包括面向对象的分析方法、面向对象的建模技术、面向对象的编程技术。
严格按照软件工程的要求进行系统建设的规划、管理、开发、风险跟进及规避。
2.2系统的层次结构系统设计充分考虑业务与功能的紧密结合,并根据应用需求和设计原则,将系统总体结构划分为五层,分别是数据采集层、数据库层、通用组件层、应用层及用户层。
1、数据采集层主要完成综合管线数据的采集、基础地形数据的获取与处理等。
2、数据库层数据库层由基础地理信息矢量数据库、栅格数据库、综合管线测绘数据库、三维景观模型数据库和系统维护管理数据库组成。
各种数据库可以分布式存储在用户单位的数据交换中心。
它为该单位各相关部门的应用提供数据支持。
3、通用组件层它是所有应用系统的基础。
在各个子系统的基础上,抽取类似功能构建通用组件,避免功能重复开发,达到业务变更时组件修改即可满足全部系统修改的要求。
4、应用层该层主要向政府、企业、社会等提供管线及其相关的空间信息查询、综合决策、三维虚拟浏览及空间分析等支持功能。
5、用户层用户层由用户单位的局领导、系统管理和维护人员、一般的日常工作人员等组成。
2.3系统的软件配置1、数据库软件综合管线测绘数据管理系统采用成熟的商用数据库Oracle 10g进行空间数据的存储和管理。
2、GIS平台软件GIS平台软件选择世界著名的ESRI公司的ArcGIS 9.2产品。
ArcGIS整个软件系列包括:ArcGIS Desktop、ArcObjects、ArcGIS Engine、ArcSDE、ArcGIS Server 等。
整个系列软件数据结构全部共享,全面支持工业标准的开发环境,从低端到高端的平台产品均采用共同的、工业标准的体系结构;基于组件对象模型进行构造,其中ArcGIS Engine组件对象库中定义并实现了上千个在GIS应用中涉及到的空间数据对象,因此ArcGIS系列各产品之间以及与其它GIS产品或应用系统之间可以在共同遵守工业标准的前提下,方便而无缝地互连、互嵌和扩展。
ArcGIS可运行于多种平台上,在这些平台上可直接共享数据。
其数据管理采用全关系型DBMS,在所有主流工业标准的DBMS中管理空间数据和相关的属性数据,同时提供并发、高效和安全的海量空间数据驱动引擎和丰富的客户端软件。
除核心模块外,ArcGIS还包括若干扩展模块,完成多种分析功能,例如3D 扩展模块为用户提供三维数据的生成、显示、编辑和分析功能,还提供了一个独立的三维景观生成、显示和飞行的应用程序。
由于数据库的强大的数据处理能力加上ArcSDE独特的空间索引机制,每个数据集的数据量不再受到限制,ArcSDE可以处理海量的无缝地理数据。
ArcSDE 通过版本管理技术解决了由于空间数据时态性引起的一系列长事务处理的问题。
数据库中可以存储多个版本的数据,但并非是简单的数据备份,它们仅仅记录数据版本的区别。
版本之间是树型继承关系,各个版本可以独立编辑和运行。
3、系统开发组件系统开发基于ArcGIS家族中的ArcGIS Engine组件。
ArcGIS Engine是一个创建定制GIS桌面应用程序的嵌入式GIS工具包。
使用ArcGIS Engine可以创建独立界面版本的应用程序,也可以对现有的应用程序进行扩展,为GIS和非GIS 用户提供专门的空间解决方案。
ArcGIS Engine可以在没有安装任何ArcGIS桌面软件的环境下提供所有GIS 功能,是一组设定良好的跨平台、跨语言部件。
它可以运行在Windows、UNIX 和Linux平台上,并支持C++、VB、.NET、Java等一系列应用软件开发环境。
ArcGIS Engine提供各种控件、对象和工具,支持扩展模块GeoDatabase 编辑、Raster和3D分析和可视化功能,提供多种开放的API函数,具有跨平台的特性。
4、系统开发工具系统的开发工具选用Microsoft Visual Studio 2005中的Visual 。
Visual 是基于.NET框架的完全面向对象的新的开发语言。
具有与平台无关性,由于它是基于通用语言运行时(CLR)的,用它写的代码能编译成微软中间语言(MSIL),可以在它的支持下运行,这使应用程序得以独立于特定的平台。
Visual 具有语言无关性,可以与其它.NET语言协同工作。
在本系统中,利用Visual 结合ArcGIS Engine组件构建出的系统基本架构如下图:图3 基于.NET的应用程序构架图3数据库设计数据库是GIS系统的核心和基础,建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是系统开发的必然要求。
因此,数据库设计是系统开发和建设的重要组成部分。
GIS数据库建设分为关系型数据库和空间数据库建设两部分内容。
结合系统数据的特点,本系统主要侧重空间数据库的设计。
在空间数据库的设计过程中,应分别从数据内容、设计思路、概念模型设计、逻辑模型设计和物理模型设计等方面进行了详细的设计。
3.1数据库内容数据库内容是指数据库中将要存储和组织的数据。
例如建设综合管线数据库,必须有各类管线以及管线附属设施数据,既有管线点类型的数据,如井等,又有管线段的线要素数据,如雨水管线、电力管线、通信管线等;还有一些附属物数据,如出水口、阀门、闸和消防栓等此外,还需要与管线相关的设计图、施工图、竣工图等。
在三维管线系统中,管网还必须具有准确的坐标和高程数据。
3.2概念模型设计把用户的需求加以解释,并用概念模型表达出来。
数据库需求分析和概念设计阶段需要建立数据库的数据模型。
例如,综合管线数据库的概念模型描述了综合管线数据库中包含的各类实体以及各类实体间的相互关系,包括管点要素实体、管线要素实体、工程数据实体等,每种实体还可以扩展为三种类型的实体:工作实体、现势实体和历史实体。