1、学生论文-基于vb的供水管理信息系统研究与实现 作者: 日期:31 个人收集整理 勿做商业用途中文摘要自来水管网属于城市基础设施,其管理是一项复杂而艰巨的工作,涉及面广、数据量大、图形信息与文字信息并存、设备附件增减更新快,人工管理工作难度大、效率低。为适应现代化城市的发展,城市基础设施应具有良好的预测性、完善的决策性和快速响应性,特别是在城市基础设施覆盖面越来越大、地下管网分布密度越来越高、城市用水日益紧张的情况下,更需要一个信息容量上包容能力大、输入存储信息简便、加工处理信息能力强、显示信息速度快、信息交换便利的管理工具对管网信息进行科学高效的管理和利用。随着GIS系统在我国各领域逐步发展
2、应用,其强大的图形和空间数据处理能力为我们开发自来水管网管理系统提供了思路。利用目前已有的管网GIS系统数据,并在建设和使用的过程中逐步完善是建立管网信息管理系统的首选途径。本文选用组件式GIS技术,使用高级语言VB6。0和地理信息系统组件MapX5。0来开发城市自来水管网信息管理系统。文章阐述了该系统的功能、总体结构及系统实现.关键词: 地理信息系统;VB;MapX;城市自来水管网ABSTRACTWatersupply network belong to city basic facilities,the management of which is one term intricacy a
3、nd collar work, because of its touch on surface wide, data bulk large, graphical information and letter information consist, equipment appurtenance update swiftness,labor control acting hardness large, inefficiency up more or less. For conform to modern citys develop,city basic facilities respond po
4、ssess favorable predictability, sophisticated decision gender and fast response gender,especially above city basic facilities covering surface increasingly large, underground pipe network distribution density increasingly high, town water increasingly taut on occasions, still needs for one informati
5、on capacity upper contain ability large, feed canned data handiness, working over information ability strong, lay velocity swiftness, message switching convenient management tool pair transistor net information proceed science high duty supervise and utilize bare in to。个人收集整理,勿做商业用途个人收集整理,勿做商业用途As G
6、IS system in our country wrought up application each region,thereof powerful figure and spatial data processing ability for us exploitation watersupply network supervisory system supply know clearly clue。 It was erect pipe network information management systems first choice avenue for that both util
7、ize for the moment available pipe network GIS system data,combine on the stocks suppose and utilized course suffer gradually soundness. Choosing Componentoriented GIS technology, we have developed the watersupply network GIS used with GIS Component MapX5.0 and Advanced Language VB6.0。 In this paper,
8、 the function, the ensemble structure and achievement of the system is expounded.本文为互联网收集,请勿用作商业用途个人收集整理,勿做商业用途Key Words: Geographic Information System (GIS), Visual Basic, MapX, Water Supply Network 目 录第一章 综述11.1 引言11。1.1 地理信息系统简介11。1.2 组件式地理信息系统11。2 开发工具的选择21。2。1 Visual Basic简介21.2.2 MapInfo简介41.2
9、。3 MapX简介5第二章 需求分析72。1 系统功能描述72.1.1 图层控制功能72。1.2 对象编辑功能82。1。3 查询、搜索功能82。1。4 专题制图功能82。2系统组成8第三章 总体设计103.1 系统总体结构103。2 MapX主要组件概述103。2.1 MapX对象103。2。2 图层113。2。3 GeoSet113.2。4 Annotations123.2。5 创建对象12第四章 系统实现134.1 数据库的实现134.1。1 数据的关联134.1.2 文件格式144.1。3 空间数据表示方法144.2 地图图层的划分154。3 代码生成174.3。1 界面设计174。3。
10、2 图像的基本操作184.3.3 管网信息增、删、改功能的实现194.3。4 地理信息查询和分析功能的实现204。3。5 专题制图的实现224.4 非地理信息数据的处理234.4.1 设备属性表234.4.2 管段数据表244。4。3 节点数据表254。4。4 消防栓数据库表254.4.5 图层数据集表264.4。6 专题图字段表26第五章 结束语275.1 系统设计的特点和不足275.2 毕业设计的心得体会27致 谢29参考文献30第一章 综述1。1 引言自来水管网属于城市基础设施,其管理是一项复杂而艰巨的工作,涉及面广、数据量大、图形信息与文字信息并存、设备附件增减更新快,人工管理工作难度
11、大、效率低。为适应现代化城市的发展,城市基础设施应具有良好的预测性、完善的决策性和快速响应性,特别是在城市基础设施覆盖面越来越大、地下管网分布密度越来越高、城市用水日益紧张的情况下,更需要一个信息容量上包容能力大、输入存储信息简便、加工处理信息能力强、显示信息速度快、信息交换便利的管理工具对管网信息进行科学高效的管理和利用。随着GIS系统在我国各领域逐步发展应用,其强大的图形和空间数据处理能力为我们开发自来水管网管理系统提供了思路。利用目前已有的管网GIS系统数据,并在建设和使用的过程中逐步完善是建立管网信息管理系统的首选途径。1.1.1 地理信息系统简介 地理信息系统GIS(Geograph
12、ic Information Systems)是在计算机软硬件支持下,对显示世界各类空间数据及描述这些空间数据特性的属性进行采集、储存、管理、运算、分析、显示和描述的技术系统.它将地理对象的空间位置的相关属性有机结合,从空间和属性两个方面对现实对象进行查询、检索和分析,并将结果以形象、直观的形式表达出来,辅助用户决策.1.1.2 组件式地理信息系统 组件式地理信息系统已经成为当今软件技术的潮流之一.组件式GIS软件平台是国际上最近几年发展起来的新型GIS软件,具有二次开发方便、易于集成、无限扩展等特点。它带来了GIS应用系统开发方式的变革,有利于提高二次开发的效率,增强GIS系统中各子系统之间
13、的亲和能力。组件式GIS的基本思想是把GIS的各大功能模块划分为若干控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同各式各样的积木,它们分别实现不同的功能(包括GIS功能和非GIS功能),根据实际需要把实现各种功能的“积木”搭建起来,就构成应用系统.1.2 开发工具的选择基于组件式GIS的上述特点,本系统在GIS的几种开发方式当中,选择了基于GIS组件的集成二次开发方法,GIS组件选用MapX,高级语言选用VB。1。2。1 Visual Basic简介Visual Basic是Mi
14、crosoft公司推出的一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计工具,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大.在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统.总的来说,Visual Basic具有以下特点:(1)可视化编程 Visual Basic提供了可视化设
15、计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。(2)面向对象的程序设计4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法
16、(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。(3)结构化程序设计语言Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式.Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual Basic是解释型语言,在输入代
17、码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误.在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(。EXE),脱离Visual Basic环境,直接在Windows环境下运行。 (4)事件驱动编程机制Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用Visual Basic设计大型应用软件时,不
18、必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。(5)访问数据库Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式的数据库,并提供了强大的数据存储和检索功能.同时,Visual Basic还能直接编辑和访问其他外部数据库,如DBASE,FoxPro,Paradox等,这些数据库格式都可以用Visual Basic编辑和处理.Visual
19、Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。1。2。2 MapInfo简介MapInfo公司于1986年成立于美国特洛伊(Troy)市,成立以来,该公司一直致力于提供先进的数据可视化、信息地图化技术,其
20、软件代表是桌面地图信息系统软件MapInfo。(1) MapInfo Professional是MapInfo公司主要的软件产品,它支持多种本地或者远程数据库,较好地实现了数据可视化,生成各种专题地图。此外还能够进行一些空间查询和空间分析运算,如缓冲区等等,并通过动态图层支持GPS数据。(2) MapBasic是为在MapInfo平台上开发用户定制程序的编程语言,它使用与BASIC语言一致的函数和语句,便于用户掌握.通过MapBasic进行二次开发,能够扩展MapInfo功能,并与其他应用系统集成。 (3) MapInfo ProServer是应用于网络环境下的地图应用服务器,它使MapInf
21、o Professional运行于服务器端,并能够响应用户的操作请求;而客户端可以使用任何标准的Web浏览器。由于在服务器上可以运行多个MapInfo Professional实例,以满足用户的服务请求,从而节省了投资。 (4) MapInfo MapX是MapInfo提供的OCX控件. (5) MapInfo MapXtrem是基于InternetEthenet的地图应用服务器,它可以用于帮助配置企业的Internet。 (6)SpatialWare是在关系数据库环境下基于SQL进行空间查询和分析的空间信息管理系统,在SpatialWare中,支持简单的空间对象,从而支持空间查询,并能产生新
22、的几何对象。在实际应用中,一般使用SpatialWare作为数据服务器,而MapInfo Professional作为客户端,可以提高系统开发效率。1.2。3 MapX简介MapX是MapInfo 家族中的一枝新秀,是MapInfo二次开发中的又一强大工具.MapInfo MapX也是一个性能价格比好、功能强大的OCX控件,它可以很容易地在应用程序中加入强大的制图功能。它可以把数据用地图的形式显示出来,更易于理解.地图形式可以比简单的图表、图形提供更多的信息,而且描述地图比描述数据表更加简单迅速。MapX是MapInfo公司的能向用户提供强大地图分析功能的ActiveX控件产品。由于它是一种基
23、于Windows操作系统的标准控件,因而MapX能支持绝大多数标准的可视化开发环境如:Visual Basic、Visual C+、Delphi、PowerBuilder等面向对象语言,而且可以使用Lotus Script将MapX嵌入到Lotus Notes中.利用MapX,用户能够简单而快速的在自己的企业应用中嵌入地图化功能,增强企业应用的空间分析能力,实现企业应用的增值。通过MapX,可以完全按照自己的意愿在应用程序中加入强大的制图功能.可以按点、按专题渲染区域、按饼图或直方图等等来显示数据。启用MapX的分析功能,可以分组和组织数据、执行搜索或在一个指定的半径、矩形区域或指定的点的周围
24、选择地图图元。1、MapX的优点(1) 增强信息可视化能力以及数据的深层表现力很多企业最初建立的应用并不具有空间分析功能。但是随着企业内部信息量的增加及信息的多元化和复杂化,很多信息采用传统的报表和文档方式已无法清晰、直观、智能化地向用户表现。此时,就需要利用MapX在企业应用中增加对信息的可视化显示能力以及从数据中挖掘有用信息的能力:例如,利用MapX可以非常直观地将企业自身在空间位置上的分布特性及客户的住址、邮政编码等信息,以地图化的方式展示出来,并能将企业信息以统计图表等可视化的方式显示出来.(2)MapX的内嵌功能由于采用的是控件技术,因此MapX可以无缝地嵌入到各个领域新的或已有应用
25、系统中去,成为企业应用开发和运行环境的一部分,增强应用系统中数据的管理能力以及可视化功能. (3)易于掌握,开发周期短,成本低用户仅需要掌握一门通用语言如VB、VC、Delphi、PowerBuilder等就可以使用MapX,而不需要去学习专业的开发语言,从而缩短应用开发周期,降低开发成本.2MapX与MapInfo Professional的区别使用MapX开发,编程人员在开发过程中并不需要掌握其他专业编程语言,便可轻招地将地图应用功能嵌入到企业应用中。并且应用可以脱离MapInfo的软件平台运行。相反,在构建上述的企业应用系统,如果选用MapInfo Professional作为地图化应用
26、的平台,则需要很多技巧来实现企业应用中的公用信息管理系统与地图管理信息系统之间的信息交换与通讯. MapBasic是一种类Basic的地图应用开发语言,它具有自己的语法规则,同时它编译生成的执行程序要依赖于MapInfo Professional平台.对于想要快速建立以地图空间分析为主要功能的企业应用用户来说,选用MapBasic来开发是一种最快也最简单的开发方式。因为MapBasic是一种集成化程度很高的开发语言,很多复杂的地图分析功在MapBasic中只需要一条或是几条语句便可以实现。对于有丰富编程经验的程序员来说,MapX是建立地图应用的最理想工具,因为在利用MapX进行开发时,可以选用
27、自己最熟悉的开发语言,充分发挥程序员的创造灵感。第二章 需求分析2。1 系统功能描述城市自来水管网信息管理系统,主要应用于城市自来水管网中管段、阀门、泵站、用户信息以及其他设备等信息的显示和维护,为调度、规划、设计、管网维护提供辅助决策信息。该系统的功能如下:(1)能够在整个自来水管网覆盖区域,创建给水管网及其附属设施的平面地图,并能实现对地图的无极放大、缩小和漫游;(2)能够在地图上完成对城市自来水管网中管段、阀门、泵站、用户信息以及其他设备信息的显示、维护和查询。例如可根据管段的编号查询管段属性;(3)实现对城市自来水管网中管段、阀门、泵站、用户等的定位、统计、分析功能。例如可按管径统计管
28、长,按区域统计用户;(4)能够在地图上作出标注,如对出现事故的管段进行颜色渲染, 直观地显示其地理分布,为爆管抢修提供辅助决策。2.1.1 图层控制功能地理信息系统的数据管理是以图层为单位进行的,每个图层在图上表现为一层,而属性数据表现为一个表。每个表(图层)是以文件的形式存放的.对图层的控制是地理信息系统处理地图的基本功能。图层控制模块要实现以下功能:(1)创建图层(2)添加图层(3)删除图层(4)更改图层顺序(5)放大或缩小显示地图2.1.2 对象编辑功能地图符号是在地图上用以表示各种制图对象的图形记号,或者还包括与之配合使用的注记。使用地图符号不仅能反映制图对象的个体存在、类别及其数量和
29、质量特征,而且通过它们的联系和组合,还能反映出制图对象的空间分布和结构以及动态变化.故地理信息系统对地图符号的编辑功能也很重要。根据约定原理,可将地图符号分为点状符号、线状符号和面状符号。在MapX中地图符号抽象为点对象(Point)、直线对象(Line)、折线对象(PolyLine)、区域对象(Region)等。对象编辑模块功能主要是在图层上添加点、直线、折线、区域等MapX对象。2。1。3 查询、搜索功能信息的查询搜索是实施现代化管理、提高科学决策水平的重要手段。地理信息系统是图形、数据与应用程序的结合.GIS中查询搜索应该是双向的,即“已知文本查询空间对象,根据空间对象查询文本”。空间地
30、理对象在GIS中描述为图元,故图元搜索模块主要通过索引字段定位地图中的图元.2.1。4 专题制图功能专题制图是强大的分析以及可视化数据的方法.以图形来表示数据,使用户可以在地图上看到数据.使用专题渲染在地图上显示数据时,在数据列表中几乎无法显示的样式和趋势可以清晰地展现在用户眼前,为科学管理和决策提供强有力的支持.专题制图模块功能是根据已有的数据集和图层,制作符合要求的专题地图。2。2系统组成城市电子地图系统,供水管网图(库)系统,管段阀门数据库系统.三个系统中的元素通过空间关系联系到一起。在相对独立的两个数据库中分别存储几何数据和属性数据的系统称为混合自来水管网信息管理系统用户界面管理几何数
31、据商业性DBMS几何数据库坐标文件拓扑文件属性表格系统。数据库之间通过唯一的标识符进行关联。混合系统通常采用商业关系性数据库来存储属性数据,专用文件系统来存储几何数据.(如图2。1)图2。1 混合数据库模型第三章 总体设计3。1 系统总体结构系统结构采用模块结构,系统的总体结构由图形创建模块、图形显示模块、信息维护模块、信息查询模块、统计模块等5个子模块构成(如图3。1).图形创建模块图形显示模块信息维护模块信息查询模块统计模块自来水管网信息管理系统图3.1 系统结构3。2 MapX主要组件概述3。2.1 MapX对象 在MapX 对象体系中,Map对象存在于最顶端。每个MapX对象、属性、方
32、法都衍生于Map对象。每个在Map对象之下的属性和方法都会对生成整个Map对象有所影响.主要是由DataSet、Layers和Annotations对象定义每个Map对象.表3.1 由数值表示的Map对象属性属性描述代码示例Zoom设置在地图中显示的英里(默认的距离)数Map1.Zoom = 500Rotation对地图旋转指定的度数Map1。Rotation = 179CenterX设置x和y坐标,它们可能代表经纬度。这是由地图投影来决定的Map1.CenterX = 79。459CenterYMap1.CenterY = 44.6753表3.1显示了一些由数值表示的Map对象属性,可以在设
33、计时改变这些属性,也可以在运行时用以下代码示例来更改: 3。2.2 图层 每一幅单独的地图是一个图层,MapX把地图存储为图层的集合。在设计时通过MapX属性对话框或是在运行时通过编程可以对图层进行改变。新建图层、删除图层以及更改图层的可见性和样式都是一些能在图层上完成的操作。 图层集合Layers是由0到n个图层对象组成的.图层对象是由特性集合(Feature)组成的,且每一个特性都有其自己的属性和样式.特性集合由特征对象组成,对应地图中的图元,例如点、线和区域。可以创建独立的特征对象,也可以取得特征对象的集合。3.2.3 GeoSetGeoSet是地图图层及其设置的集合,可以在设计时指定G
34、eoSet。在运行时指定要加载的其他GeoSet、给地图对象添加图层,或是操作图层的外观等操作都可同过属性页来实现,或者可以通过与MapX一起装载的MapX GeoSet Manager 图3。2 GeoSet Manager程序程序来实现(如图3。2)。利用MapX作为数据绑定或创建专题地图时,可以用GeoDictionary来匹配数据源于地图图层。GeoDictionary是一个保存了关于哪个地图图层可以匹配、哪个字段可以用作匹配字段的信息文件。如果想运用自动匹配/自动绑定,则必须在GeoDictionary中注册文件。3。2。4 AnnotationsAnnotations集合是把文本和
35、符号放在地图上的简单方法。注释放在所有其它图层的最顶端,并且不和任何数据链接。3.2.5 创建对象在MapX对象模型中,可以用表3.2中的对象类来创建独立对象。表3.2 MapX对象类BindLayerODBC QueryInfoRectangleBitmapSymbols点集的集合StyleFeatureNotesViewInfoFieldsPointNotesQueryInfoPoints第四章 系统实现本系统使用VB6.0 + MapX5。0模式编程,使用MapX5.0来绘制、显示、维护和管理地理信息;使用VB,通过ADO控件和ODBC连接数据库来完成用户界面设计和属性数据管理.4。1
36、数据库的实现该系统的数据分为空间数据和属性数据两种,空间数据主要指与空间地理位置相关的数据:如管段、阀门的位置(坐标值)、唯一标识号等。属性数据指的是设备的属性信息:如设备的类型、型号、生产日期、检修状况等。对于与地理信息有关的数据,可以用MapX提供的图层表示存储,使之便于地理信息与地图对象的紧密结合,对于属性信息使用关系型数据库Access进行存储。 4。1。1 数据的关联 在本应用系统中,管网空间数据是非结构化的,因而对空间数据的操作需要GIS软件实现,同时还要充分利用用户现有的数据库系统,可以利用空间数据库存储空间数据,而借助于已有的关系数据库管理属性数据。因此本系统采用空间数据库结合
37、关系数据库的方案,空间数据库与关系数据库通过关键字相关联。(如图4.1)地物IDID1ID2地物IDID1ID2属性值属性1属性值属性2属性值属性值坐标X1,Y1X2,Y2(a)通过空间数据库管理空间数据 (b)通过关系数据库管理属性数据图4.1 空间数据库结合关系数据库4。1。2 文件格式MapX中有五种文件格式,分别是*。DAT,.TAB,.IND,。ID,*。MAP。(1)*。TAB:属性数据结构文件,定义了地图属性数据的结构,即地图的属性都由哪几部分组成.用普通的记事本就可以打开,里面定义了各种属性的名称以及类型。(2)*.DAT:属性数据文件,存放地图的属性数据。一般用Excel可以
38、打开,看到的是在TAB中定义的各个属性名称所包含的值。(3).MAP:空间数据文件,存放图像对象的数据,包括空间对象的几何类、坐标信息、颜色信息等。(4)*.ID:交叉索引文件(二进制),连接属性数据和图形数据,记录地图中每个对象在.MAP中的位置指针.(5).IND:对于某些字段专门建立的索引文件.。DAT与.TAB文件是MapX中必须的,.IND 、。MAP与.ID并不是必须的,但如果存在,。MAP与*。ID必须共存.4。1.3 空间数据表示方法空间数据主要由地理底图数据和网文件组成,各种空间数据按其特征分层进行存储。其中地理底图数据划分为一些最基本的地图图层,如居民区、建筑物、道路等,网
39、文件则由用户水表、阀门、管道等管网图层组成.(如图4。2) 空间数据库网文件地理底图库线图层点图层面图层地下管道用户水表图4.2 空间数据库结构4。2 地图图层的划分 使用MapX提供的GeoSet Manger管理器生成Watersuply图层组,该图层组由以下图层组成:泵站层、干管层、支管层、开口层、节点层、阀门层、消火栓层、河流层、道路层、水厂层、大用户层、普通用户层和城市底层图。对于每一个图层都可以控制其是否显示、可编辑、可选择、可自动标注等.GeoSet Manger使用名为power.gst的文件记录各个图层的各种属性值.下面以“道路”为例:“table道路。tabfile=”道路
40、。tab”“table道路.tabvisible”=”true”“table道路。tabautomatic labels”=”true”“table道路。tabselectable=false”“table道路.tabeditable”=”false”简单通俗来说在MapX中地图的组成是各个的Feature在图层上,所有的图层按照一定顺序排列,组成一个*.GST文件,就构成了一个完整的地图文件。打开图层控制(如图4。3)对话框,选中图层列表中某个图层,再单击“Display”可打开“显示图层”对话框,通过对话框的各项设置实现各项图层控制功能.图4。3 图层控制对话框图层的添加过程如下所示,依次
41、增加河流、道路以及建筑物.图4。4 增加河流图层图4.5 继续增加道路图层图4.6 继续增加建筑物图层4。3 代码生成4.3。1 界面设计Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件,即图形对象,并设置这些图形对象的属性.Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。系统主界面(图4。7)及信息维护界面(图4.8)如下所示:图4.7 系统主界面图4.8 设备信
42、息维护界面4。3。2 图像的基本操作首先是一些最简单的对于图像的操作,在这里可以直接使用设置当前工具为所需要的工具来完成这个功能。具体代码如下:Private Sub Command1_Click()Map1.CurrentTool = miZoomOutTool 缩小End SubPrivate Sub Command2_Click()Map1.CurrentTool = miZoomInTool 放大End SubPrivate Sub Command3_Click()Map1。CurrentTool = miZoompanTool 漫游End SubPrivate Sub Command
43、4_Click()Map1.CurrentTool = miZoomselectTool 选择End SubPrivate Sub Command5_Click()Set Map1。Bounds = Map1。Layers。Bounds 箭头End Sub4。3。3 管网信息增、删、改功能的实现 本系统使用MapX提供的各种图形工具来实现地理信息的增、删、改,在绘制图层上绘制需要将Map的工具置为绘制工具,具体代码如下: Map1。CurrentTool = MapXLib。ToolConstants。miAddLineTool 增加线Map1。CurrentTool = MapXLib。To
44、olConstants.miAddPointTool 增加点Map1.CurrentTool = MapXLib.ToolConstants.miAddPolylineTool 增加折线Map1。CurrentTool = MapXLib。ToolConstants。miAddRegionTool 增加区域例如,我们用直线来表示管段,下面是向图层中增加一个直线对象的实现语句.在这里使用插入工具时一定要保证设置了绘制图层,否则程序会报错。Private Sub Command1_Click() Map1。CreateCustomTool 22,miToolTypeLine,miArrowCurs
45、or Map1。CurrentTool=22End Sub Private Sub Map1_ToolUsed(ByVal ToolNum As Integer, ByVal X1 As Double, ByVal Y1 As Double, ByVal X2 As Double, ByVal Y2 As Double, ByVal Shift As Boolean, ByVal Ctrl As Boolean, EnableDefault As Boolean) If ToolNum=22 Then Dim pts As New Points Dim ftr As Feature Pts.AddXY X1,Y1 Pts.AddXY X2,Y2 Set frt=Map1.FeatureFactory.CreateLine(pts) Ftr。Style.PickLine Map1。Layers(mytemp-layer”)。AddFeature ftr End If End sub4。3.4 地理信息查询和分析功能的实现使用MapX提供的信息工具显示并查询和地理信息有关的数据.例如用点表