摘 要:本文介绍了利用MapObject 开发地理信息系统(GIS)的优势,探讨了利用VB+
MO 开发管线信息系统的方法,并在此基础上实现了一个简单的管线信息显示和查询系统。
关键词:GIS,MapObject,管线信息系统
中图分类号:TP31
1. 引言
现代化大城市的管理需要掌握大量最新的可靠数据(包括地面的和地下的、地理的和非
地理的数据)。要求能在任何时间查询这些数据,能够进行综合分析以便为估价城市的发展、
规划策略、城市管理和建设设计提供可靠的数据。面对大量的浩繁数据需要采用现代计算机
科学与技术建立一个城市信息系统。现代的GIS 技术非常适宜于解决这个问题。
本文在这种背景下,结合工作实践,探讨了利用VB+MO 开发一个简单的管线信息系
统的技术步骤,并以胶州市的管线数据为实验数据,实现了管线信息的显示和查询,为进一
步的操作和分析作了铺垫。
2. MapObject 及其特色
2.1 MapObject 简介
MapObject 是美国ESRI 公司为开发人员提供的一套图形和GIS 组件,它不是一个最终
的软件,用户可用它来开发图形应用系统,也可以在其它的管理系统中加入图形功能。
MapObject 建立在微软的OLE 技术基础[1]
上,它包括一个制图与GIS 的OLE 控件,以及超过35 个的OLE 可编程对象。用户可使用
VB、VC、Delphi 以及ACCESS 等平台进行二次开发。
2.2 MapObject 的功能
(1)直接使用ARC/INFO的图层(coverage)、数据库引擎(sde)以及图形文件(shapefile)、
图像文件(tif 等);
(2)支持外部数据库;
(3)可显示多层图形、可漫游、放大、缩小;
(4)可按图形属性值或种类绘分色图、点密度图或符号化表示;
(5)注记标识和位置;
(6)用事件跟踪层显示实时动态数据(如GPS 跟踪);
(7)按属性查询检索;
(8)通过多种搜索和控件操作做空间查询;
(9)地址匹配等。
2.3 MapObject 的开发应用
使用P4 微机+WIN2000+VB6.0+MapObject2.3 做客户器,用VB 编写应用系统界面,
专业代写论文
- 2 -
并实现图形设计、编辑、存储等功能,能满足规划设计需要。
2.4 MapObject 的性价比
如前所述,MapObject 的功能能够满足一般小规模系统的需要,而且MapObject 是一种
供开发者使用的中间工具,只要有一套MapObject,就可以在不同的机器上任意安装,而且
生成的可执行文件也可任意安装。
3. 数据描述与分析
胶州市管线数据是以Access 数据库形式给出,共有合成电力、合电信、合联通、合污
水、合雨水、天然气、有线电视、中国移动八个mdb 文件构成。每个数据库文件中有两个
数据裱,一个用来描述管线点属性,称为点表,其主要字段有本点号、横坐标、纵坐标、地
面高、埋深、修建年代、附属设施、规格、道路名、产权单位、备注;另一个数据表用来描
述管线的线信息,称为线表,其主要字段有本点号、上点号、埋深、管线类型、材质、规格、
管径、道路名、产权单位、备注[2]。
经过分析,可以看出,点表中的“本点号”是用来唯一标志该点的属性信息,而“横坐标”、
“纵坐标”是用来标志该点的地理信息(位置信息),而其它字段是用来描述该点属性的属性
信息;线表中的“本点号”和“上点号”是用来标识该段管线的起点和终点(起点和终点的具体
信息可通过检索点表获得),其它字段是用来描述该段管线属性的属性信息。
4. VB+MO 开发管线信息系统关键技术
4.1 数据显示和属性关联
为了实现管线数据库中点信息的显示,必须遍历点表中的每条记录(利用VB,DAO
技术可实现数据表的遍历),求出该点表中横坐标的最大值、最小值和纵坐标的最大值、最
小值,并将当前Map 控件的FullExtent 属性赋值为以这四个坐标定义的Rect 对象,就可以
实现数据的全图显示。
为了实现管线数据库中线信息的显示,首先要读出线表中该线段的“本点号”和“上点号”
中点的标志号,然后根据“本点号”和“上点号”的内容遍历点表,找到“本点号”和“上点号”对
应的横、纵坐标,从而就确定了该线的位置[3]。
在MO 中,可以将点表中的点存贮在points 中,再逐个显示;将线表的起点和中点存
储在line 对象的parts 属性中,其中parts 的每个元素就是point。
此时,管线数据库中的点和线就显示在了map 控件中,为了给这些点、线附加属性,
就需要建立TableDisc 对象。在建立了TableDisc 对象后,也就建立了shp 文件,此时的点、
线才算是真正意义上的管线[4]。建立的shp 文件可以在ArcMap 中直接打开进行编辑和操作。
4.2 点击查询和属性查询
用户可以通过两种方式进行查询操作。当用户在map 控件上进行点击时,可以通过MO
的SearchByDistance 方法获得用户想要查询的点、线,然后通过对相应的数据表进行遍历,
就可以把该点或线的属性显示出来。
当用属性进行查询时,需要用户输入查询关键字,然后根据查询关键字遍历数据表,寻
找属性匹配的记录加以显示。
专业代写论文
- 3 -
4.3 图层操作
系统必须实现简单的图层(shp 图层或栅格图像层)加入、移除等操作,同时,还需要
将当前map 控件中的图层显示出来,这在MO 中是通过将map 控件和Legend 控件进行关联
来实现的。
5. 系统实现
在以上思路下,用VB+MO 的方法开发了一个简单的管线信息显示和查询系统,它能
实现将以Access 数据存储的管线数据进行显示和查询操作,并且实现了将管线数据转化为
shp 文件,从而为后续的分析和操作提供了铺垫。
图1 为系统运行界面:
图1 系统界面
Fig.1 system interface
6. 总结与展望
本文介绍了用MapObject 进行管线信息系统开发的优势,探讨了用VB+MO 开发管线
信息系统的方法,并以此为基础,进行了编程实践,得到了一个简单的具有管线信息显示和
查询功能的系统。
进一步的研究方向就是管线的三维剖面显示以及地理信息系统中一些常用的分析功能
的实现方法。
专业代写论文
- 4 -
参考文献
[1] 龙家恒.用MapObject 作《北京城市基础地理信息系统》前端软件的探讨[J].北京测绘.1998 年第1
期.
[2] 何塞峰,姚革,龙家恒.综合地下管网信息子系统的设计研究[A].GIS 应用论文集.
[3] 张霞,基于DAO 技术的地理信息系统属性数据管理[J],测绘通报,2002 年第3 期.
[4] 张保钢,顾学明,姚革,崔学民.北京市地下管网图形数据库系统的特点与研制方法[A].GIS 应用论
文集.
The Practice of developing pipeline information system with
VB and MO
Song Quanhong
The Department of Survey and Geography Technology, Liaoning Techinical University, fuxin,
Liaoning (123000)
Abstract
This paper introduces the disadvantages of developing Geographic Information System (GIS) using
MapObject and discusses the way to develop a pipeline information system with VB and MO. based on
this, a simple system which can display and inquiry pipeline information is developed.
Keywords:GIS,MapObject,pipeline information system