版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、厦门大学软件学院学士论文本科毕业论文(科研训练、毕业设计)题 目:拓扑邻接关系模拟演示程序-基于GIS底层关系姓 名:学 院:软件学院系:专 业:软件工程年 级:学 号:指导教师(校内): 职称:指导教师(校外): 职称: 年 月 日拓扑邻接关系模拟演示程序 -基于GIS底层关系摘要:随着计算机软硬件水平的提高,促使地理信息系统(GIS)向实用方向飞速发展,GIS的应用已经从基础信息的管理与规划转向更复杂的区域开发、预测预报,并与卫星遥感技术相结合用于全球监测、辅助决策等越来越广阔的应用领域。厦门亿力吉奥信息科技有限公司隶属于福建省电力集团,公司宗旨是开发基于电网的GIS系统,为电力资源管理服
2、务,更好地合理调度电力资源,提高电网的效益。拓扑关系是电力网中最基本的底层关系之一。本文深入地剖析了拓扑关系对GIS的重要性,并对拓扑关系的结构定义和应用进行研究,就拓扑关系中邻接关系作为切入点,通过探讨图中点和边的连接关系变化引起整个拓扑数据库的变化,并结合公司的需要,我们开发了基于底层拓扑邻接关系的模拟演示程序TPARSS(Topology adjacent relation Simulation procedure)。在TPARSS设计中,我们把复杂的电网系统抽象成一个简单的图。图中的点节点表示电网系统中的杆塔(电线杆),配电站,变压器等设施,边节点表示这些设施之间的电线连线,对这个图中
3、节点的操作代表了电网系统中几个基本问题操作的情况。关键字:地理信息系统 拓扑关系 拓扑信息 邻接关系Abstract:With the level of computers software and hardware improvement, make GIS developing forward utility direction at very fast speed, the applications of GIS have turned from management and programming of basic info into more complexity area impl
4、ode, forecast prediction, and combine secondary planet remote sensing technique for used in the seven seas inspect, assist decision-making etc. more and more broad application area.Xiamen Yilijiao Information Science and Technique corporation belong to fujian province electric power group, the tenet
5、 of company is develop GIS system based on electric power, service for electric resource management, even more get well in attempter electric resource in reason, improve benefit of electric network. Topology relation is one of the more basic bottom relation of electric network.The text go deep into
6、analysis the topology relations importance to GIS, study the structure definition and application of topology relation, treat topology relations adjacency relation as disquisitive emphases, through discussing change of link relation between point and edge in graphic arouse change of wholly topology
7、database , we develop TPARSS(Topology adjacent relation Simulation procedure) based bottom topology relation.During design of TPARSS , we abstract complex electric network system into a simple graphic. Point node in graphic show telegraph pole, electric-distribute station, transformer etc. establish
8、ment in electric network system, edge point show wire link between establishment, manipulation of graphics node show several basic question solution in electric network system.Keywords: GIS(Geographic Information System) Topology Relations Topology Information Adjacent relation目录引言5第一章 地理信息系统(GIS)61
9、.1公司背景61.2地理信息与地理信息系统61.3 GIS的分类61.4 GIS中的拓扑关系及其表示71.4.1 拓扑的概念71.4.2 拓扑关系的意义7第二章 TPARSS设计需求分析82.1 功能点要求82.2 需求分析:9第三章 TPARSS算法设计113.1 概要规格设计113.2 详细规格设计123.2.1 界面设计123.2.2点节点及其拓扑连接信息的增加143.2.3 点节点拓扑连接信息的删除163.2.4 节点删除173.3 编码设计183.3.1 CNodeManagerDlg(实现各个界面切换及删除节点的功能)183.3.2 CAddNodeDlg(实现增加节点及其拓扑连接
10、信息的功能)193.3.3 CDelNodeDlg(实现删除节点拓扑连接信息的功能)20第四章 TPARSS测试报告214.1增加节点214.2 增加节点拓扑连接信息224.3删除连接边234.4删除连接点244.5删除点节点254.6删除边节点26结论28致谢语29参考文献30引言地理信息系统(Geographic Information System,简称GIS)是由计算机软硬件支持,对地理空间(包括地理表面、地下、地上和其他人类生产与生活所感知到的空间)数据进行采集、存储、管理、分析和表达的信息系统。它是一门集计算机科学、地理学、测绘遥感学、环境科学、城市科学、空间科学、信息科学、应用数
11、据、管理科学为一体的新兴科学。计算机软硬件水平的提高,促使GIS向实用方向飞速发展,GIS的应用已经从基础信息的管理与规划转向更复杂的区域开发、预测预报,并与卫星遥感技术相结合用于全球监测、辅助决策等越来越广阔的应用领域。在当前大多数的GIS中,由矢量地图数据库构成系统的基础数据库,矢量数据不仅包含必要的几何坐标数据,还包括重要的拓扑关系数据。拓扑关系在GIS的编码、输入、格式转换、存储管理、查询分析等应用中都有重要作用,是GIS的特色之一。拓扑学是一种新兴的几何学,是研究图形(或形状)的科学。它之所以较新,是因为它研究的是图形在连续变形下的不变的整体性质。拓扑学中的运动可以称作“弹性运动”,
12、对图形可以任意地伸张、扭曲、拉缩,但图形中的各点仍为不同的点。一个图形中的拓扑性质是那些与此图形等价的图形都具有的性质。因此,图形的拓扑性质就是那些在弹性运动中保持不变的性质图形的任何弹性运动都毫不改变图形的拓扑性质。所以拓扑学也叫“弹性拓扑学”。本文合公司的需要,我们开发了基于底层拓扑邻接关系的模拟演示程序(TPARSS)。在TPARSS设计中,我们把复杂的电网系统抽象成一个简单的图。图中的点节点和边节点分别表示电网系统中的设施和这些设施之间的电线连线。对这个图中节点的操作代表了电网系统中几个基本问题操作的情况。主要分为:1)点节点的增加2)点节点和边节点的删除3)点节点和边节点拓扑连接信息
13、的增加和删除这个模拟系统对以后工作中的电网建模系统,以及实际中电网的一些具体问题和拓扑关系作一次深入的研究,为公司的软件开发打下理论基础。第一章 地理信息系统(GIS)1.1公司背景在世界经济模式从现行的以自然资源为主的工业经济模式往未来的信息资源为主的知识经济模式转换过程中,信息(Information)是最宝贵和重要的资源,信息的获取、展示和传播需要根本性的改革,“信息高速公路”、“知识经济”、“数字地球”都是为此而提出的崭新概念,其特征为“信息电子化”,GIS就是在信息技术飞速发展的今天,围绕信息的获取和展示应运而生的最前沿的领先科技。1.2地理信息与地理信息系统地理信息(Geograp
14、hic Information)是指表征地理系统诸要素的数量、质量、分布特征、相互联系和变化规律的数字、文字、图像和图形等的总称。地理信息属于空间信息,其位置的识别是与数据联系在一起的,这是地理信息区别于其它类型信息的最显着的标志。地理信息的这种定位特征,是通过经纬网或者公路网建立的地理坐标来实现空间位置识别的。地理信息还具有多维结构的特征,即在二维空间的基础上实现多专题的第三维结构。而各个专题之间的联系是通过属性码进行的,这就是地理系统各圈层之间的综合研究提供了可能,也为地理系统多层次的分析和信息的传输与筛选提供了方便。地理信息系统(Geographic Information System
15、,简称GIS)是以采集、存储、管理、描述、分析地球表面及空间和地理分布有关的数据的信息系统。它是以地理空间数据库为基础,在计算机硬、软件环境的支持下,对空间相关数据进行采集、管理、操作、分析、模拟和显示,并采用地理模型分析方法,适时提供多种空间和动态的地理信息,为地理研究、综合评价、管理、定量分析和决策服务而建立起来的一类计算机应用系统。简而言之,地理信息系统是以计算机为工具,具有地理图形和空间定位功能的空间型数据管理系统,是一类特殊而又十分重要的信息系统。1.3 GIS的分类 专题信息系统 Thematic Information System是具有有限目标和专业特点的地理信息系统,为特定的
16、专门目的服务,如森林动态监测信息系统、水资源管理信息系统、矿产资源信息系统、农作物估产信息系统、草场资源管理信息系统、水土流失信息系统等。 区域地理信息系统 Regional Information System主要以区域综合研究和全面信息服务为目标。可以有不同规模,如国家级的、地区或省级的、市级或县级等为各不同级别行政区服务的区域信息系统,也可以按自然分区或流域为单位的区域信息系统。1.4 GIS中的拓扑关系及其表示1.4.1 拓扑的概念拓扑学是一种新兴的几何学,是研究图形(或形状)的科学。它之所以较新,是因为它研究的是图形在连续变形下的不变的整体性质。拓扑学中的运动可以称作“弹性运动”,对
17、图形可以任意地伸张、扭曲、拉缩,但图形中的各点仍为不同的点。一个图形中的拓扑性质是那些与此图形等价的图形都具有的性质。因此,图形的拓扑性质就是那些在弹性运动中保持不变的性质图形的任何弹性运动都毫不改变图形的拓扑性质。所以拓扑学也叫“弹性拓扑学”。1.4.2 拓扑关系的意义拓扑关系反映了空间实体之间不随实体的连续变形而改变的与量度和方向无关的一种空间关系 ,对于GIS中数据的编码、录入、格式转换、存储管理、查询检索、空间分析都有重要意义,是GIS的特色之一。在GIS中,表示拓扑关系的数据属于厄余数据,也就是说,拓扑数据并非必不可少,这是因为通过对几何数据的计算可以随时构造拓扑关系。既然如此,为什
18、么大多数GIS仍旧存储拓扑数据呢?这是出于那些构造拓扑关系的计算所花费的代价可能会很昂贵,比如综合分析和连通性分析就是很费时的运算,如果有明确的拓扑关系数据作依据,这些问题的复杂度将会大大降低。具体地说,拓扑关系数据的作用体系在以下几个方面:l 协助完成有关线状要素联结关系的分析,如连通性分析;l 协助完成有关线状要素连接次序的分析,如路径选择;l 帮助进行面状要素的邻接性分析;l 通过建立拓扑关系可以自动发现某些数据错误;l 帮助查找附近的要素,如缓冲区分析;l 帮助搜索相关的要素,如根据用户要求进行组合查询时可能用到拓扑关系;l 通过将几何坐标数据与结构数据分开,使数据更新更加方便;l 降
19、低了只使用几何数据的局限性;l 更易于把基本的空间要素组合形成复合要素;l 为地图自动配置和转换提供基础;l 协助进行空间推理第二章 TPARSS设计需求分析在TPARSS设计中,我们把复杂的电网系统抽象成一个简单的图。图中的点节点表示电网系统中的杆塔(电线杆),配电站,变压器等设施,边节点表示这些设施之间的电线连线。两个点之间有线连接表示这两个设施之间有电线连通,增加一个新的节点表示增加一个新的设施,增加节点之间的拓扑连接信息表示在这几个点表示的设施之间增加新的连线(即之间有电路连通),删除一个节点的拓扑连接信息表示中断之间的连线或者关闭某一个设施,删除一个点节点表示撤走某一个设施,删除一个
20、边节点表示删除某一段的电线连接。这个模拟系统对以后工作中的电网建模系统,以及实际中电网的一些具体问题和拓扑关系作一次深入的研究,为公司的软件开发打下理论基础。在这个设计中,我和陈钧共同负责。我负责底层数据的处理,即拓扑信息的增加,拓扑信息的更新。陈钧负责将己处理好的数据用图形显示出来。例如主界面(即主要用于图形显示)通过一个菜单选项和节点管理界面(用于管理节点操作)交互。我进行节点管理,节点拓扑连接信息的增加和显示,节点拓扑连接信息的删除的设计,并且根据不同的操作显示不同的界面,即我负责CNodeManagerDlg类,CAddNodeDlg类,CDelNodeDlg类的函数的实现。程序之间的
21、交互通过界面间的切换进行交互,通过各个类中控件的消息映射处理调用其他的界面进行交互。2.1 功能点要求1) 图中节点的信息分别存储于数据库的三个表中。node,topNode,topEdge。其中node表包括三个字段,如表2-1所示:Node表:节点类型节点的分局码节点的EID1表示点,6表示边表2-1topNode表包括点节点的拓扑连接信息。包括四个字段,如表2-2所示:topNode表点的分局码点的EID点的连接边的数目点的具体的连接信息包括每个连接边和连接点的信息表2-2连接边的信息包括连接边的分局码、EID和连通有效性;连接点的信息包括连接的分局码和EID。topEdge表包括边节点
22、的拓扑连接信息,包括四个字段,如表2-3所示:topEdge表边的分局码边的EIDFrom节点To节点From端点和to端点的信息分别包括每个端点的分局码、EID,连通有效性表2-32) TopNode表中的点的具体连接信息的字段中连接边的信息中有一项关于连通有效性的子项,这个子项表示这条连接边是否有相应的连接点。3) 图中的边为无向边。4) 可以任意增加一个新的节点及其拓扑连接信息。5) 可以任意增加一个已经存在的节点的拓扑连接信息。6) 可以任意删除一个节点。7) 可以任意删除一个点的连接边或者连接点。8) 对于增加的连接信息,可以只增加连接边而不增加连接点。9) 对于删除的连接信息,可以
23、删除连接边,也可以只删除连接点。10) 对于增加和删除的节点或者节点的连接信息在数据库中能实时体现。可以随意的查询每个节点的信息。2.2 需求分析:1) 保持各个数据库之间的数据信息相对应。a) 在node表的点节点在topNode表有相应的点拓扑信息节点,在node表中的边节点在topEdge表中有相应的边拓扑信息节点。在topNode表和topEdge表中的节点在node表中都有相应的节点记录。如图2-1所示:Node表点A。边a。TopNode表点A拓扑连接信息。TopEdge表边a拓扑连接信息。图2-1b) 在点的连接信息中连接边的连通有效性的信息要与这个边的拓扑连接信息中的数据相对应
24、。如果连通有效性为是,则这个边的拓扑信息中from端点和to端点都应该有端点的信息。如果连通有效性为非,则这个边的拓扑信息中只有一个端点的信息。c) 在点的连接信息中每个点之间的信息应该是互相对应。如果点A有一条边a与点B相连。则在点A的拓扑连接信息中有连接边a和连接点B。在点B的拓扑连接信息中有连接边a和连接点A。如表2-4所示:TopNode表点A。;连接边a,连接点B;。点B。;连接边a,连接点A;。表2-4d) 在点的拓扑连接信息中连接边的信息要与这个连接边的边拓扑连接信息中的数据向对应。如果点A有连接边a和这条连接边相应的连接点B。则在边a的拓扑连接信息中点A和点B分别是边a的两个端
25、点。同理类推于点B。如果点A有连接边b,连接边b没有连接点。则在边b的拓扑连接信息中只有一个端点:点A。如表2-5,表2-6所示:TopNode表点A。;连接边a,连接点B;。;连接边b,;点B。;连接边a,连接点A;。表2-5TopEdge表边a点A点B边b点A表2-62) 增加一个新的点及其拓扑连接信息。a) 首先在node表中和topNode表中要增加这个点的记录,在topNode表中更新连接信息。b) 其次对于每个连接边和连接点,如果是新增加的边和点,需要在node表中增加这些记录。并且在topNode表中增加每个新增加的点的记录,更新它们的连接信息。在topEdge表中增加每个新增加
26、的边的记录,更新它们的from端点和to端点的信息。3) 增加一个已经存在的点的拓扑连接信息。a) 首先对于新增的连接信息在topNode表中这个点的记录中体现出来,如果有新的连接边和连接点,在node表中增加这些记录。b) 其他对于topNode表和topEdge表的操作和增加一个新节点相同。4) 删除一个节点。a) 首先在node表中删除这个点的记录。b) 如果这个节点是点节点,在topNode表中要删除这个点的记录。并且这个点的所有连接点的连接信息要修改,删除掉有关这个点的信息。这个点的所有连接边的端点信息也要修改,删除掉以这个点为端点的from端点或者to端点的信息。c) 如果删除的这
27、个节点是边节点,topEdge表中要删除这个边的记录。并且这个边的from端点和to端点的点节点的连接信息也要修改,删除掉这个边的信息。5) 可以任意删除一个点的连接边或者连接点。a) 如果删除一个连接边,首先在node表中和topEdge表中这个要删除这个边的记录。并且这个连接边的from端点和to端点的点节点的连接信息也要删除掉这个边的连接信息。b) 如果删除一个连接点。首先在topNode表中要修改这个点的连接信息,删除掉这个连接点,保留连接边。在topEdge表中这个连接边的连接信息也要修改,删除掉以这个点为端点的from端点或者to端点的信息。第三章 TPARSS算法设计3.1 概要
28、规格设计1) 语言环境本项目采用Microsoft Visual C+语言,使用MFC完成整个的程序设计,并且通过classWizard方便地完成消息映射和数据转换,缩短编程的时间,使程序设计从一些很繁琐的界面设计和消息处理的工作中解脱出来。2) 与数据库的连接数据库使用Microsoft Access。使用ADO与数据库进行连接并操作数据库。ADO是建立在OLE DB底层技术之上的高级程序接口,因而它具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等等)和极其简单、易用的编程接口。3) 界面设计软件界面的设计要清晰明了,便于使用。界面要包含所有的操作,并且界面的各个控件之间
29、关系不能模糊不清。在这个程序中包含有下拉式菜单,多个对话框。每个对话框之间的关系要明确。控件的显示要根据不同的操作的情况而定。每个特定的界面要清楚、明确地显示出要表达的信息。界面设计贯穿与节点的操作过程中,针对不同的操作和不同的信息界面的显示也各不相同。4) 点节点增加增加一个点节点,则在node表和topNode表中都要增加相应的记录。并且彼此相对应。5) 节点删除删除一个节点,则在node表和相应的topNode表(或者topEdge表)中的记录都会被删除,并且这个与这个节点相关的其他节点的信息也要相应地进行修改。6) 节点拓扑连接信息的增加可以增加若干条节点拓扑连接信息。对于新增加的连接
30、边和连接点,在node表和topNode表、topEdge表中都要增加相应的记录。并且它们的连接信息要正确地记录新增加的连接信息。对于已经存在的连接边和连接点,则要根据增加的信息修改它们的拓扑连接信息。7) 节点连接信息的删除可以删除任何一条连接边或者连接点。对于删除掉的信息,在node表和topEdge表和topNode表中要对这个删除的信息所相关的节点的信息作相应的改动。删除连接边和删除连接点要分别处理,删除连接边和删除连接点所引起的信息的变化是不同的。8) 节点显示可以显示任何一个点节点的所有连接边和连接点或者任何一个边节点的两个端点。3.2 详细规格设计3.2.1 界面设计界面分为一个
31、主界面,和三个对话框。主界面有一块画图的区域用来做图的图形显示。这个画图的区域的坐标是左上角的坐标是(0,0),x值是向右增加,y值是向下增加。如图3-1所示:y增加x增加(0,0)图3-1对话框分为管理数据对话框,增加和显示数据对话框,删除数据对话框。主界面可以通过下拉菜单的选项与这几个对话框交互。主界面如图3-2所示:图3-2管理数据对话框可以和删除数据对话框和增加并显示数据对话框交互(增加和显示数据使用同一个对话框),如图3-3所示。删除数据对话框和增加数据对话框不能交互。管理数据对话框包含了节点各种操作所需要的控件。图3-3增加和显示数据对话框包含了节点增加和显示时所需要的控件,并且针
32、对于增加和显示两种不同的操作,显示的界面和控件的显示状态是不同的。显示的界面如图3-4所示,增加的界面如图3-5所示:图3-4图3-5删除数据对话框包含了删除节点连接信息所需要的控件。如图3-6所示:图3-63.2.2点节点及其拓扑连接信息的增加单独增加点节点比较简单,直接在node表和topNode表中增加这个记录就可以了。而点节点拓扑连接信息的增加就会比较复杂一些,它可以同时增加多条连接信息,每增加一条连接信息,假设点A增加连接边a和连接点B,它主要分下面几个步骤进行:(1) 首先判断要增加的连接边a是否存在,a) 如果增加的连接边a已经存在,(即在topEdge表中有边a的记录,则取出边
33、a的两个端点进行判断)1. 则要判断这条连接边是否有两个端点,如果边只有一个端点,并且这个端点是点A或者是要增加的连接点点B,则可以修改边a的拓扑连接信息。否则表示这是一条错误的连接信息,将直接退出这条连接信息增加的操作。2. 如果边a有两个端点,表示这是一条错误的连接信息,退出操作。b) 如果增加的连接边a不存在,直接在topEdge表中增加这条边的记录。(2) 然后判断要增加的连接信息(包括连接边和连接点)是否正确(从topNode表中取出这个点节点的具体连接信息进行判断)a) 如果要增加的连接点B已存在,这是一个简单的连通图,不允许两条点之间存在直接连接的多条边,所以这是一个错误信息,退
34、出操作。b) 如果要增加的连接边a已存在并且它的连接有效性为是,这表示一条边的的另一端有两个端点,所以这是一个错误信息,对出操作。c) 如果要增加的连接边a已存在并且它的连接有效性为非,这表示向这条边的另一端加上了连接的端点点B,直接增加这条信息。d) 如果要增加的连接边不存在,则直接加入这个连接信息。(3) 向node表中增加边a的记录(4) 如果这个连接点点B是新增加的点节点,直接向node表和topNode表中增加这个点B的点节点记录,然后在topNode表中修改这个点B的点节点记录:增加这个新的连接信息,连接边边a,连接点点A。(5) 还有一种情况就是增加的连接信息中只有连接边a,没有
35、连接点。则只进行上述的(1),(2),(3)步骤就可以了。这个过程的流程图如图3-7: 否 退出输入连接边a,连接点B(可选)在topEdge表中判断边a增加的拓扑信息是否正确是是 否,退出在node表中加入边节点a如果只输入了连接边,而没有输入连接点否在node表和topNode表中加入点节点B,在topNode表中修改点B的连接信息 是,退出在topNode表中判断点A增加的拓扑信息是否正确图3-73.2.3 点节点拓扑连接信息的删除点节点拓扑连接信息的删除分为删除连接边和连接点。假设点A有连接边a和相应的连接点B(1) 删除连接边a,分为下面几个步骤。a) 首先在topNode表中找到点
36、A的拓扑连接信息,并取出点A的具体连接信息。把这个连接边a和其相应的连接点B的信息从点A的连接信息中删除。b) 然后再topNode表中找到这个连接点B的拓扑连接信息,并取出这个连接点的具体连接信息。把这个连接边a和点A的信息从连接点B的连接信息中删除。c) 然后将边a的记录从topEdge表中和node表中删除。d) 另外一种特殊的情况就是连接边a没有相应的连接点,则只要进行第a),c)步骤。整个过程的流程图如图3-8是否在topNode表中将连接边a和相应的连接点从点A的连接信息中删除如果连接边a有相应的连接点B在topNode表中将连接边a和相应的连接点A从点B的连接信息中删除在node
37、表中将边节点a的记录删除图3-8(2) 删除连接点B,分为下面几个步骤a) 首先在topNode表中找到点A的拓扑连接信息,并取出点A的具体连接信息。把连接点B的信息从点A的连接信息中删除,注意,连接边a的信息保留,不过连接边a的连接有效性改为非。b) 然后在topEdge表中找到边a的拓扑连接信息,并将端点是点B的信息删除。c) 最后在topNode表中找到连接点B的拓扑连接信息,并取出连接点B的具体连接信息。把连接边a和点A的信息从连接点B的信息中删除。整个过程的流程图如图3-9在topNode表中将连接点B从点A的连接信息中删除在topNode表中将连接边a和相应的连接点A从点B的连接信
38、息中删除在topNode表中将连接点B从点A的连接信息中删除图3-93.2.4 节点删除节点删除分为点节点删除和边节点删除。(1) 删除点节点。假设删除点节点A,点A有连接边a和连接点B,连接边b和连接点C,连接边c(连接边c无连接点)。要删除点A分下面的步骤进行:a) 打开topNode表,查询每一条记录。如果当前记录是点A,删除这条记录。如果当前记录是连接点B或者连接点C,将点A的信息从它们的连接信息中删除。b) 打开topEdge表,查询每一条记录。如果当前记录是边a或者边b,将点A的信息从它们的连接信息中删除。如果当前记录是边c,直接将这条记录删除。c) 打开node表,查询每一条记录
39、。如果当前记录是点A,删除这条记录。如果当前记录是边c,删除这条记录。(2) 删除边节点。假设删除边节点a,边a的两个端点分别为点A和点B。要删除边a分下面几个步骤进行:打开topEdge表,将边a的记录删除a) 打开topNode表,找到点A的拓扑连接信息,并取出点A的具体连接信息。把这个连接边a和其相应的连接点B的信息从点A的连接信息中删除。b) 打开topNode表,找到点B的拓扑连接信息,并取出点B的具体连接信息。把这个连接边a和其相应的连接点A的信息从点B的连接信息中删除。c) 打开node表,查询每一条记录。如果当前记录是边a,删除这条记录。3.3 编码设计 主要使用了下面三个类实
40、现程序的主要功能3.3.1 CNodeManagerDlg(实现各个界面切换及删除节点的功能)CNodeManagerDlg类的变量和函数说明如表3-1:CNdeManagerDlgCListCtrlm_ctrlEdgesLst;/边节点列表的变量CListCtrlm_ctrlNodesLst;/点节点列表的变量void OnNodeShow();/将界面切换到显示点节点信息的界面void OnLinkDelete();/将界面切换到删除点节点连接信息的界面void OnNodeAdd();/增加一个新的点节点及其拓扑连接信息或者增加一个已存在点节点的连接信息void OnWindowExit
41、();/退出管理界面BOOL OnInitDialog();void OnNodeDelete();/删除一个点节点void OnEdgeShow();/将界面切换到显示边节点信息的界面void OnEdgeDelete();/删除一个边节点void DeleteLinkEdge(CString divi, CString ei, CString leDivi, CString leEi);/在topNode表中将分局码和EID为divi和ei的记录的连接信息中的连接边的分局码和EID分别为leDivi和leEi的信息删除void DelEdgeFromTopEdge(CString divi
42、, CString ei, CString &fDivi, CString &fEi, CString &tDivi, CString &tEi);/在TopEdge表中将分局码和EID分别为divi和ei的边节点拓扑连接信息删除void DelNodeFromNode(int type, CString divi, CString ei, CString lInfo ="" );/在node表中将类型、分局码和EID分别为type,divi和ei的记录,及其相关的记录删除void DelNodeFromTopEdge(CString div
43、i, CString ei);/在topEdge表中修改from端点或者to端点的分局码和EID为divi和ei的记录,将这个点从这条记录中删除void DelNodeFromTopNode(CString divi, CString ei, CString &lInfo);/在topNode表中删除分局码和EID分别为divi和ei的记录,并将连接信息中连接点包括分局码和EID为divi和ei的信息从这条记录的连接信息中删除void ListNodes();/分别将点节点和边节点的信息显示在点节点列表和边节点列表上void AddListCtrlHeader();/加入点节点列表和边
44、节点列表的表头表3-13.3.2 CAddNodeDlg(实现增加节点及其拓扑连接信息的功能)CAddNodeDlg类的变量和函数说明如表3-2:CAddNodeDlgint m_nRows, m_nCols, m_nFixRows, m_nFixCols, m_nStartRow;/这些变量表示自定义列表的列和行的属性int m_nNodeDividCol, m_nNodeEidCol, m_nEdgeDividCol, m_nEdgeEidCol, m_nEdgeLinkCol,m_nEdgeMark, m_nNodeMark;/这些变量表示连接边和连接点的各个属性在列表中列的位置CStr
45、ingm_strDivid;CStringm_strEid;CGridCtrl m_Grid;/自定义的列表的变量int m_nNodeType;/true表示一个增加一个新的拓扑节点,false表示在已存在的拓扑节点上增加新的连接信息bool m_bShowNode;/1表示点,6表示边bool m_bNewNode;/true表示查看节点信息,false表示增加节点信息CAddNodeDlg(CWnd* pParent = NULL);BOOL OnInitDialog();void OnSave();void OnExit();BOOL ModifyTopNode(CString div
46、i, CString ei, CString leDivi, CString leEi, CString lnDivi, CString lnEi);/增加分局码和EID分别为divi和ei的点的连接信息,连接边的分局码和EID分别为leDivi和leEi,连接点的分局码和EID分别为lnDivi和lnEivoid ShowNode(); /将节点的拓扑连接信息显示在界面上void AddTopNode(CString divi, CString ei); /向topNode表中加入一条分局码和EID分别是divi和ei的记录BOOL AddNode(int type, CString div
47、i, CString ei);/向node表中加入一条节点类型、分局码和EID分别为type,divi和ei的记录BOOL AddTopedge(CString, CString, CString, CString, CString, CString);/向topEdge表加入一条新的记录,或者根据输入的信息修改旧的记录void DeleteTopedge(CString divi, CString ei);/从topEdge表中删除一条分局码和EID分别是divi和ei的记录BOOL JudgeInputReasonable(BOOL *RowReasonable);/判断输入的信息是否正确
48、完整表3-23.3.3 CDelNodeDlg(实现删除节点拓扑连接信息的功能)CDelNodeDlg类的变量和函数说明如表3-3:CDelNodeDlgCListCtrl m_ctrlLNodesLst;/连接边列表的变量CListCtrl m_ctrlLEdgesLst;/连接点列表的变量CString m_strDivid;CString m_strEid;void OnLinkDel();/删除一条连接边或者一个连接点void OnDelExit();BOOL OnInitDialog();void AddListCtrlHeader();/加入连接边列表和连接点列表的表头void S
49、howNode();/显示这个节点的所有连接信息到连接边列表和连接点列表中void DeleteTopedge(CString divi, CString ei);/在topEdge表中将分局码和EID分别为divi和ei的记录息删除void DeleteEdgePoint(CString divi, CString ei, CString pDivi, CString pEi);/在topEdge表找出分局码和EID分别为divi和ei的记录,将端点的分局码和EID分别为pDivi和pEi的信息删除void EnableLinkEdge(CString divi, CString ei, C
50、String leDivi, CString leEi, bool enable);/在topNode表中找出分局码和EID分别为divi和ei的记录,将连接信息中连接边的分局码和EID为leDivi和leEi的相应的连接点删除void DeleteLinkEdge(CString divi, CString ei, CString leDivi, CString leEi);/在topNode表中找出分局码和EID分别为divi和ei的记录,将连接信息中连接边的分局码和EID为leDivi和leEi删除void DeleteNode(int type, CString divi, CStri
51、ng ei);/在node表中将类型、分局码和EID分别为type,divi和ei的记录删除表3-3第四章 TPARSS测试报告假设现在得数据库中的数据如表4-1a,表4-1-b,表4-1-c所示:node表 topNode表typedivideIdEiddivideIdEidnumberlinkInfo0131,7,1,0,7,;1,2,1,0,2,;1,5,1,0,5,;0221,3,1,0,3,;1,2,1,0,1,;0311,3,1,0,2,;0411,4,1,0,7,;0511,5,1,0,1,;0731,7,1,0,1,;1,4,1,0,4,;1,8,1,0,8,;0811,8,1
52、,0,7,;表4-1-b101102103104105107108topEdge表divideIdEidfromInfotoInfo120,1,1,0,2,1,130,3,1,0,2,1,140,7,1,0,4,1,150,1,1,0,5,1,170,1,1,0,7,1,180,7,1,0,8,1,612613614615617618表4-1-a 表4-1-c图形显示如图4-1所示,在对图中的节点进行操作后,数据会自动地更新。:图4-14.1增加节点增加一个新的点(0,6)增加之后的数据如表4-2-a,表4-2-b所示:node表 topNode表typedivideIdEiddivideIdEidnumberlinkInfo060106表4-2-a 表4-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 年本科园林工程(园林工程施工)试题及答案
- 智能制造工程师专业应用技术评估试题及答案
- 2025年社会工作者(社工)练习题库及答案
- 2025年水电站低压配电系统过载保护调试实操试卷及答案
- 中小民营企业人力资源管理的重要性
- 2025公共关系学论文题目
- 全国乙卷理科真题及答案
- 产品质量保证协议书模板
- 耒阳美术考编真题及答案
- 合同管理技术试题及答案
- 【生物】2025-2026学年人教版八年级生物上册期中考试复习测评试卷
- 外国语学校文化建设方案
- 穿越机组装教学课件
- 大国兵器(中北大学)学习通网课章节测试答案
- 大唐集团招聘笔试试题及答案
- 个税申报培训课件
- 电车考试试题及答案
- 电流互感器知识培训
- 2025年银行信贷审批员招录笔试题目及专业解答公开
- 幼儿园防电信网络诈骗工作总结
- (2025年标准)工程资料外包协议书
评论
0/150
提交评论