基于Geodatabase的城市综合地下管网数据建库及应用研究

更新时间:2023-07-19 20:47:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C 系统建设篇

基于Geodatabase的

城市综合地下管网数据建库及应用研究

厦门精图信息技术有限公司管线事业部

摘要数据是地理信息系统不可或缺的一部分,怎样有效地生产数据和管理数据是

GIS行业一直在探讨的课题。本文以某市综合地下管线信息系统的建设为背景,介绍了mcGIs

空间数据管理的特点,利用ArcGISI入的Geodatabase机制对综合地下管网数据进行建库,重点讨论建库的方法、优点及难点,深入研究Geodatabase的相关应用。

关键词

Geodatabase数据建库GIS地下管网

1、前言

地理信息系统(GIS)的发展要求数据库不仅能够存储属性数据,而且能够存储空间数据,存储和管理空间数据是GIS的核心任务之一。在GIS的自身发展过程中,形成了众多相对封闭和独立的系统。这些系统之间,没有统一的数据格式标准,数据的存储和处理方法也各不相同,大大降低了空间数据的实用价值【11。

地下管网数据经过数字化成为电子数据以后,系统的应用程度依赖于数据的管理,目前数据管理最有效的手段就是数据库。ArcGIS作为一个专业地理信息软件,提供了对大量数据

的集成管理——Geodatabase,—个全新的GIS数据模型。

本文以某市综合地下管线信息系统的建设为背景,讨论利用Geodatabase进行数据建库的方法、难点及应用研究。

2、Geodatabase背景及介绍

2.1背景

在此,我们将GIS数据模型简单地划分成三个时代:2.1.1原始时代(代表:CAD)

最初,综合地下管网的计算机化图形表示,主要源于通用的CAD软件。在CAD的数据模

型中,点、线、面等几何要素以二进制形式保存于文件中,相关的注记、颜色、线型等属性也和

几何数据放在一起。

2.1.2拓扑时代(代表:Coverage)

Coverage数据模型;芒EGIS界可谓家喻户晓。它源于ESRI在1981年推出的第—个商业化GIs间数据与属性数据关联。空间数据放在建立了索引的二进制文件中,属性数据则放在DBMS表(TABLES)里面,二者以公共的标识编码关联。其二,矢量数据间的拓扑关系得以保存。但是,基于文件方式进行空间数据管理的Coverage模型存在不少问题。如数据的管理和维护困

软件ARC/INFO。它从两个方面确立了其在此后近二十年的空间数据模型标准地位:其一,空

城市地下管线管理与信息化建设交流研讨会

难、数据访问速度慢、多用户数据并发共享冲突等。因此,在管理海量空间数据时,要么文件很

多,要么文件很大,均导致效率不高。同时,不能很好发挥数据库管理系统的优势。

2.1.3海量时代(代表:Geodatabase)

随着空间信息量的不断增大,以及数据共享理念的深入,上述两种数据模型已经不能满足人们的应用。随着面向对象技术的广泛流行,将面向对象的数据建模方法应用予表示GIS数据

特征也非常实用。面向对象的数据模型通过用户自定义的对象类型,定义拓扑的、空间的和全局

的联系,并获取这些对象相互间的关系等方法使用户能更自然地描述特征。于是,ES砒在推出

其革命性的产品ArcGIS8的第—个版本(8.0)时,引入了面向对象的Geodatabase空间数据模型。

关系的表达和处理。Es嗽布ArcGIs8.3时,毛EGeodatabase中加入了基于规则的拓扑关系表

达和管理机制。拓扑关系规则可作用于Geodatabase中同一要素数据集中的不同要素类或同一

在Geodatabase的第—个版本中,对拓扑关系没有保存和处理机制。为了彻底解决空间拓扑

要素类中的不同要素。用户可以指定空间数据必须满足的拓扑关系约束,例如:地块之间的相邻关系、覆盖关系、重叠关系,以及管线之间的连通关系等。所有这些关系都对应相应的规则。

2.2

G∞datoba鞠介绍

Geodatabase是一种采用标准关系数据库技术来表现地理信息的数据模型。Geodatabase支持在标准的数据库管理系统(DBMS)表中存储和管理地理信息。

Geodatabase划'f多种DBMs结构和多用户访问,且大小可伸缩。目前有两种Geodatabase

结构:个人Geodatabase和多用户Geodatabase。

个人Geodatabase,使用MicrosoftJetEngine数据文件结构,将GIS数据存储在小型数据库

中,适用于面向项目的GIS。个人Geodatabase象基于文件的工作空间,数据库存储量最大为2GB,使用MicrosoftAccess数据库来存储属性表闭,支持单用户编辑,不支持版本管理。

多用户Q砌atalba∞通过ArcsDE支持多种数据库平台,包括mM

SQL

DB2,Informix,Oracle和

Server。企业Geodatabase使用范围很广,主要用于工作组、部门和企业,利用底J县DBMS结

(1)支持海量的,连续的GIs数据库;(2)多用户的并发访问;

构的优点实现以下功能:

(3)长事务和版本管理的工作流。

基于数据库的Geodatabase可以支持海量数据以及多用户并发。在众多的Geodatabase实现中,空间地理数据一般存放在大型的binaryobject中,ESRI)t发现插入和取出这样的大对象,

关系数据库是非常高效的。而且,GIS数据库的容量和支持的用户数远大于文件的存储形式嘲。

3、数据建库

本节介绍使用Geodatabasej挂行数据建库的方法及难点。3.1建库流程

3.1.1

Geodatabase的存储单元

在科学、合理对综合地下管网数据建库前,了解Geodatabase的存储单元是必要的,在这

C 系统建设篇

里,我们先将介绍五种基础的存储单元。

(I):表(Table)

Geodatabasc表,也可以称呼为对象类(Objectsclass),可理解为普通属性表。它由一组行和列组成。其中,一行(或称记录),代表一个地理要素——比如一条煤气管线、阀门、电

话亭或窨井等;一列(或称字段),描述要素的某个属性值——比如管线的长度、埋深、建

设年代等。

字段的类型可以是数值型、字符型、日期型或者大型二进制对象(BLoB)等。除了我们熟

悉的添加、更新和查询操作之外,还可以通过子类、域、默认值以及添加关联类来进行属性的

有效性验证,保证数据的完整性。

(2)要素类(Featureclass)

要素类是包含几何信息的表,要素类中包含的是相同的空间形状的对象的集合,可以将所有相似的要素组织成为同一要素类。比如可以把所有管线点组织成为点要素类,所有管线组织成为线要素类。但要注意,每个要素类都有同一组属性字段,并且空间参考(SpatialRef-

e1"ellce)一致。

(3)子类(Subtypes)

子类根据要素类的属性值将要素划分为更小的分类。比如,地下管线要素类可以根据

S_Code(点符号代码)进行细分。

(4)要素集(Featuredatasets)

Geodatabase中的每—个要素集都定义了—个专门的空间参考。在要素集中存储的所有要

素类都必须共享同—个空间参考,存储在要素集中的要素类都有特定的拓扑关联。要素集也可以像文件夹一样,用以存放要素类。在本系统中,所有要素类(管线和管线点)因为需要使用

同—个空间参考,所以将其放在—个要素集内。

(5)关联类(Relationshipclasses)

关联类定义Geodatabase中对象之间的关联。这样的关联类可以是简单的一对一关联,例如我们可以创建要素类中某一要素和表中某一记录的关联。同时,关联类也可以是复杂要素和表中记录之间的一对多(或者多对多)关联。

3.1.2设计Geodatabase方案(schema)

了解Geodatabase的存储单元后,根据现有的原始管网数据,我们设计系统需要的Geo-database方案。

方案指的是数据库的数据结构。也就是说,对于Geodambase中的表来说,方案指的是这个表的结构、表名称、字段名称、字段类型等等。对于GeoDatabase来说,方案指的是GeoDatabase中的表、要素类、子类和关联类等等。

在本系统中,主要实现地下管网数据的管理、查询、统计、输出和必要的分析功能:路径分析、抢险分析、预警分析、断面分析和连通分析;此外,还要考虑管线数据的动态更新与维护工作,以确保管线数据的现势性。经过充分调研与分析后,形成Geodatabase方案。在此列出管线点、线的数据结构问:

城市地下管线管理与信息化建设交流研讨会

裹1管线点属性表数据结构

序号

l2345678910ll1213141516

字段名

ExpNoMap_.No

类型Text(101Text(6)Number(2)Number(12,2)Number(12,2)

物探点号图上点号点符号代码

X坐标

中文意义

S_Cade

XYSurf_HFeatureSubsid

Y坐标地面高程特征

附属物

Number(8力

Text(121

Text(1a

Offset

Text(101Number(12力Number(12,2)

偏心井位

位移后的图上点号的位置X坐标位移后的图上点号的位置Y坐标以X轴正向为0度.取逆时针方向关键字测量日期测量单位

是否是原有的物探点号

M印N0_X

MapNoj

Ande

KeyDateUnitIBOIdCode

NumbS5,1)

NⅧ【lbler(1)

Date

Text(50)

Boolean

表2管线线属性表数据结构

序号

l2345678910ll12131415161718192021222324

字段名

S__PointEPointSDeepE_DeepMaterialD_TypeD_SMdateB_Code

类型

Text(101Text(101Number(8,2)Number(8力Text(8)Numt)er(1)Text(161

LongDate

中文意义

起点物探点号连接方向起点埋深终点埋深材质埋设类型管径建设年代权属单位代码线型电缆条数电压值压力值孔数未用孔数套管尺寸路名代码排水流向备注管沟连接码关键字测量日期测量单位

是否是原有的物探点号

Text(20)Number(1)Text(1mText(101Text(101Text(I01

Text(101

LineStyle

Cab_CountVoltagePl'eSStlreHole_NumHolE—UsedDDi8RoadFlowDirecMemo

Text(1

01

Number(4)Nmnber(1)Text(20)Text(21)Number(1)

Date

Link_code

KeyDateUnitholdCode

Text(501

Boolean

2671

C 系统建设篇

3.1.3创建Geodatabase方案(schema)

在Geodatabase的方案设计完成后,就可以使用ArcGIS提供的三种方法来创建方案。

(1)在ArcCatalog中使用向导工具完成创建。(2);l生ArcCatalog中使用数据加载方法创建。

在Geodatabase的表或者要素类的创建过程中,可以导入现有的表、coverage、shapefile等

现有图层的方案,这样就可以将已有方案导入给新创建的表。在这个过程中,可以改变原有方案,比如修改字段名称或字段数据类型。需要注意的是,在这个导入过程中,导入的是原有方案的表和要素类,如果还需要创建关联类、几何网络、拓扑规则等其它元素的时候,必须还要使用ArcCamlog来创建。

(3)使用CASE工具创建

使用cASE工具建模的资料有很多,而且本文着重第二种创建方法,故不做赘述。3.2建库难点

地下管线数据建库就是将地下管线普查的成果或地下管线竣工测量的成果输入数据库,并进行数据预处理、检查、纠错和处理,形成具有拓扑关系的地下管线点数据表和线数据表。一般而言,—个城市的地下管线数据量大,涉及的数据项也多,数据预处理工序比较复杂。因此,地下管线数据建库的难点主要包括:依据探测的原始记录进行数据库结构设计;入库的数据需要进行人工和软件检查,以确保入库的数据与现场探测的数据一致;经软件检查出的数据错误应查明错误的原因,必要时到现场进行复核,并将复核结果在数据库中改正,数据经过改正后应重新用软件进行检查;数据入库后要进行接边处理。

3.3数据更新和历史数据

数据库的更新就是依据规定区域内地表及地下管线变化的现状,修正信息载体上相应要素的内容,以提高其精度和保持现势性的一项重要工作。及时、准确地完成已有数据和现有更新数据的入库对整个系统应用和存在的价值是非常重要的。而历史数据又是系统必不可少的,当用户发现当前数据有问题,或需要追溯到以前各个时期的数据时,历史数据的保存就成

了必须解决的问题了。

要想解决上面提到的两种重要的功能,不得不提到Geodatabase的版本(Version)概念。实质上,版本只是一种“拷贝”,能同时完成数据备份、模拟不同场景与方案、保留历史记录等多重功能,而且不产生大量的数据冗余——因为版本只保存变化了的内容,不保存没有发生变化的内容。

Geodatabase中版本概念的出现,为我们在数据更新和历史数据中所面II缶的问题提供了有

效的解决途径。

4、实例

根据上面的数据表结构,探测单位提供了市内所有管线的原始数据,在探测管线时,采用分区测量的方法,所以,在数据建库的过程中还要考虑测区间管线接边的问题。在此,分别描

述手工和自动数据建库的全过程。

城市地下管线管理与信息化建设交流研讨会

首先,遵循上面提到的建库原则,我们要对提交的数据进行全面的检查,保证数据的一致

性、合理性和完整的拓扑关系。

(1)一致性检查:

按照方案中定义的数据结构在数据库中建立数据结构对照表,存储表名,字段名,字段数

据类型,检查时读邛Ztndb文件的数据结构,然后对照对照表逐一进行检查,将不一致的表字段存入错误信息表。

(2)合理性检查:

检查mdb数据的逻辑错误,检查项目主要包括重复数据检查(检查同一表中是否存在多条完全相同的数据);管线段长度检查;管线埋深检查;排水管线逆流检查(检查管线段起点高程是否低于终点高程);管线类型检查(检查Pn伊E字段是否与表名一致);管点点符号代码检查(检查s_CODE点符号代码字段是否与方案定义相符);管点坐标范围检查(检查管点坐标是否在图幅范围和本市坐标范围内);管点高程检查;关键字段空值检查;管沟连接码检查。

(3)拓扑关系检查:

遍历删据库管点表建立管点集合(Point

ArrayList),遍历管线表建立管线端点集合

(LineArrayList),再遍历管点集合(PointArrayList)检查管点是否都在相应管线的端点集合

(LineArrayList)中,如果不存在,说明存在孤立点;反之,遍历管线端点集合(LineArrayList),检查管线端点是否都在管点集合(PointArrayList)中。

接下来,我们将采用手工和自动两种方法来描述数据建库的全过程。

(1)手工数据建库方法

(D现有的原始数据为.mdb格式,而衄E衄or全面支持的数据格式为dbase的.dbf文件。因

此要先将.mdb文件转换成.dbt'文件;

②抽取现有.mdb的属性数据(所有点的坐标)生成AML文件,利用MicrosoftAccess的查询功能,将查询结果写到具有.aml扩展名的文本文件中。例如:要将雨污合流的点信息生成A枷L文件。首先,查询所有点(SELECTx,Y

FROM

HSPOINT),并将其结果添加到AM,文件,

然后进行必要的处理。最终的文件内容格式如下:

269l

C 系统建设篇

③使用觚Editor中的Arc工具,把锄皮件转换为coverage文件。下面是转换过程的部分源

代码:

④有了coverage文件,就可利用ArcCatalog工具自带的功能“Importdatabase”功能来导入数据;

coveragetoGeo-

⑤导入到GeoDatabase后,可以使用衄Map工具进行接边处理。

接边处理主要完成如下工作:

①删除起止点都不在本测区的数据,此类数据包含非接边是多测的非本区数据。②通过拓扑规则检查接边不正确的管线,对接边不正确的数据直接处理,得到最终结果(探测点与其对应的埋深都以所属单位作业区为准,进行替换填写)

③对于接边正确的结果,由于同一根管线出现两次(第一步确保如此),所以通过选择,分离出两组接边数据,以一组为基础,把其对应数据进行替换填写。(探测点与其对应的埋深都

以所属单位作业区为准,进行替换填写)

至此,手动数据入库完成。(2)自动数据建库方法

在管线探测数据当中,有分点属性数据和线属性数据,在数据入库的过程中,首先必须先导入点数据,然后根据点的空间数据生成线的空间数据,最后根据管线点和管线的空间数据,进行

管线的接边处理。下面的觚objects代码实现了数据记录导入到GeoD鼬勰磺jc据库的功能:

1270

城市地下管线管理与信息化建设交流研讨会

在完成当前管线数据的更新入库后,系统需对当前类型的管线进行接边处理。功能代码是通过查询当前管线图层要素的所有物探点号以“00”开头的管点数据,判断是否存在接边要素。如果存在,则将两个定点进行连接。从而实现对管线的接边处理。下面的功能代码实现对

当前类型管线查询有接边的要素数据:

至此,自动数据入库完成。

5、应用研究

本系统采用三层架构,数据库服务器采用AIX和Oracle9i,中问层叠加应用服务层,内部网络中的主程序采用ESm公司的AO控件进行开发,专业管线权属单位客户端采用ESRI公司的MO控件,web信息发布采用ESRI公司的ArcIMS组件。

ArcSD骈髟拥户与{蹴酿铂勺j妾口,通过苜可以溯司至临eoDatabase。下语盼绍几/侧应用:

(1)空间条件查询

Geodatabase采用的是面向对象的思想,在空间条件查询时,可以利用缓冲区技术快速定

位到满足条件的对象。

例如:用户可以查找任意包含在指定矩形区域的点状目标。如下图:

(2)编辑

c 系统建设篇

围空间条件查询

利用Oeodatabase的版本功能,可以实现多用

户的并发编辑“。

’气

例如:当用户1对煤气图层进行编辑时,此时””

正好用户2也在编辑相同图层,这时,系统会自动¨,

刨建两个版本(版本1和版本2)来保存两个用户的

修改情况,如图:

用户I和用户2提交数据后,系统将进行版本合并。生成版本3。

(3)历史数据管理

Geodatabec-se的还可以保存用户的历史数据,可查看任意一个时期的数据,并可以还骧到指定的版本。

慝三焉丽磊孵=======写习研::兰:鬟,;:”:+-:=崔!

湍:《,ij

囤历史数据管理田查看历史数据

6、结束语

该系统已经试运行一段时间,因为Geedatabase很好的稳定性和优异的性能,在多用户访问、并发处理等方面的表现尤为出色,可以在最大程度上满足用户的需要。但在多种软件平台共享时会有所冲突,比如M0不支持Geoda诅base的版本功能等。

参考文献:

1郭秋英当前GIS发展的几个特点驯验通报.1998

ESKI公司Arclnf08文档(Building3Geodatabase}1998

3柏廷臣、李新、冯学智空问数据分析与空间模型地理研究1999(2)一(11)4杜云艳、邵奎琴等ARC/INFO教据库设计中科I完GISt点实验室1998(6)

5朱光,季晓燕,戎只地理信息系统基本原理度应,91北京.翊{绘出版社.1997

272

本文来源:https://www.bwwdw.com/article/xp71.html

Top