公交最短路径查询_第1页
公交最短路径查询_第2页
公交最短路径查询_第3页
公交最短路径查询_第4页
公交最短路径查询_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于WebGIS的公交线路查询系统设计与实现目前很多城市公交网站提供了查询信息,但大多只是简 单的文字查询,没有结合地图进行属性到空间以及空间到属 性的动态查询,更没有为用户提供站点到站点间的最佳换乘 查询。因此,建立基于空间数据与互联网的城市公共汽车信 息查询系统非常必要,它既能方便市民查询公交信息,又能 扩大城市公交的宣传,是未来公交信息化的发展趋势1。 以空间数据为基础的地理信息系统是实现该系统的强有力 支持,GIS与互联网技术的结合形成了今天的WebGIS技术。 基于WebGIS的查询系统,人们可以在Internet的任意节 点上,获取各种地理空间数据及属性数据系统设计的关键技术Web

2、GISWebGIS,即互联网地理信息系统,指在网络环境下,以支持标准Html的浏 览器为统一的客户端,通过Web Server向GIS Server提出GIS服务请求的网络 化GIS 2-4。WebGIS采用的HTTP协议是基于C/S的请求/应答机制,具有较 强的用户交互能力,可以传输并在浏览器上显示图形、图像。用户通过交互操作 对空间数据进行查询分析,利用Web来寻找所需要的空间数据,并且进行地图 放大、缩小、漫游等各种操作。因此,与传统的GIS相比WebGIS具有明显的 优势。因此,综合来看,目前WebGIS具备以下这样一些基本特点:(1)建立首次远程访问的传输协议采用HTTP,建立联系以

3、后也可用其它协议传 输信息。(2 )远程地理信息的首次访问或服务启动,需要利用啊叩服务器上的HTML文档。用户端一般使用能解释HTML的通用浏览器。远程服务器端提供地理信息服务时,把WWW服务器作为信息进出的重要关 口。WWW使用的通用标记语言在浏览器与服务器之间的GIS信息通讯中占有重 要地位,即使使用其它数据格式或者将来HTML被其它标记语言所取代,大 概这一点不会改变。MapX 与 MapxtremeMapX是一个基于ActiveX(OCX)技术的可编程控件。MapX为开发人员提供了一 个快速、易用、功能强大的地图化组件。本系统在Dot.Net可视化开发环境中, 只需在设计阶段将MapX

4、控件放入窗体中,对图层进行画点、连线,并对其进行编 程,设置属性或调用方法或相应事件,即可实现数据可视化,专题分析,地理查 询,地理编码等丰富的地图信息系统功能。MapX的主要功能包括:显示MapInfo 格式的地图;对地图进行放大、缩小、漫游、选择等操作;专题地图;图层控制; 数据绑定;动态图层和用户绘图图层;生成和编辑地图对象;简单地理查询:边 界查询,地址查询。空间数据通过MapX软件进行管理和维护,以图层形式来体现。 所谓属性数据主要是指描述公交线路、站点、建筑物的互相联系以及相关信息。 由于系统要求选择查询线路、站点或建筑物时时,能够将属性信息和空间信息同 时显示,因而必须解决公交线

5、路、站点、建筑物对象的地理特征即空间数据及其 属性的存储、显示、查询和分析之间的关系问题。Mapxtreme 2004是MapInf。公司的地图网上发布产品,是一个典型的基于服 务器端的应用系统。开发人员使用该工具可以创建功能更加强大的地点增强型桌 面和客户机/服务器应用程序。使用这些工具和命名空间可以创建您自己的应 用程序或增强现有的应用程序,让程序包括基于地点的信息和分析功能。 MapXtreme 2004开发工具包在部署桌面、企业或Web解决方案方面为开发人员 提供了最大程度的控制权和灵活性。除此之外,还可以重用为某一个平台编写的 代码,增强或创建用于其它平台的解决方案,这样就可以节省大

6、量时间并使工作 成果在现在和将来都能得以体现。用户可以使用MapXtreme 2004工具包在广泛 使用的Windows平台上为各种环境开发地图绘制解决方案。我们的目标就是向 开发人员提供这样的工具,能够在尽可能短的时间内构建功能最为强大的基于地 图的解决方案它以MapX为引擎o MapXtreme由3大部分组成:(1)地图服务器管理, 完成服务器的配置和地图引擎的设定,它指定了浏览器端所显示的地图表现形 式;(2)基准地图数据管理是一个管理无缝地图图层的工具,指定了基准地图数 据所在目录和路径;(3)地图对象管理,由多个地理对象按选定的投影方式以适 当的显示比例构成地理对象集合(Geoset

7、),并根据不同的地理对象设置相应的缩 放显示范围。这种由上至下的设置方式实现了地图对象的逐级分类显示,可以保 证图面的清晰和整洁,还允许系统设置标注属性、增减图层或改变图层属性设置 6ASP.Net技术的开发本系统的开发模式为B/S,所以我们选择了 ASP.NET环境下开发系统。ASP.NET技术是由微软的.NET部分技术具体化而来的,ASP.NET完全基于模块与组 件,具有更好的可扩展性与可研定制性,数据处理方面更是引入了许多激动人心 的新技术。正是这些具有革新意义的新特性,让ASP.NET给Web开发人员提供了更 好的灵活性,有效的缩短7Web应用程序的开发周期7。ASP.NET增强了许多

8、内置性能。例如,页只需编译一次,并为后面的请求而 被缓存。由于这些已编译的页保存到磁盘,因此即使整个服务器重新启动,它们 也不会失效。ASP.NET还缓存内部对象(如服务器变量),以加速用户代码的访 问速度。而且,使ASP.NET获益的还有对公共语言运行库的所有性能改进:实 时编译、同时为单处理器和多处理器计算机准备的微调公共语言运行库,等等。ASP.NET改进了配置、伸缩性、安全性和可靠性。对于简单的ASP应用程序, 配置其实并不算什么问题,但是当你移植到一个利用组件的N层结构中时就会遇 到问题。当你对这些应用程序进行配置和维护时,DLL陷阱问题(组件注册、版 本、锁定的DLL等等)就会出现

9、。ASP.NET中则取消了组件注册以及DLL锁定,全 面使用了 XML配置文件,从而解决了这个问题。这样你只需要执行复制文件的工 作就能配置一个Web应用程序。但是,所有这些改进都无法使您避免编写那些性 能不佳的代码。最终,您必须保证应用程序可以满足用户的要求。ASP.NET对各种不同的浏览器提供了更好的支持。对于ASP开发人员来说, 浏览器兼容问题好象是一个永恒的问题。你或者为低一级的浏览器编写代码,例 如用HTML 3.2,或者限制页面的浏览范围。无线应用程序协议WAP设备的引入 还会深化这个问题。本文中Web表单这部分描述了 ASP.NET是如何解决浏览器兼 容性问题的。ASP.NET造

10、就了一类新的Web应用程序。目前的Web应用程序通 常都是同一种模式:一套线性应用程序,然后将逻辑植入其中之一。ASP.NET允 许开发人员打破这种单一模式,创造出更加动态而且伸缩性更强的应用程序,这 种应用程序能够更好地满足公司的商业需求,并提供一个更加丰富的开发环境。第三章系统需求分析需求分析工作是系统设计的出发点和依据。概括地说线路查询系统的需求 分析就是要根据出行人员的具体需求情况,明确需要什么样的查询系统,需要什 么样的功能和性能,为什么需要,以及各种需求的紧迫程度如何。只有需求明确 了,按需求建立起来的线路查询系统才能达到预期的目标,取得预定的效果。可行性分析技术可行性分析本系统采

11、用的是MapXtrem 2004、ASP.Net、SQLSERVE 2000数据库相结合 的方法,将所有收集的数据信息按其属性分类存储到数据库中,再通过程序调用 这些数据信息实现各种查询及管理,即所谓的程序设计数据化,数据管理程序 化思想。基于这种思想的查询系统的理论及技术已日趋成熟,加之这些软件的应用性 和移植性都非常优秀而且其发展也到了较成熟的阶段,这就保障了日后的系统维 护工作,并可不断更新。所以本系统在技术上是绝对可行的。而且该系统对于操作环境的要求不高, 现在普遍使用的计算机都可以运行该系统。操作可行性分析本系统界面美观明了,提供的信息语言通俗易懂,而且操作容易,用户只要 懂得初步的

12、计算机操作即可。经济可行性分析从成本上看来,开发及维护系统所需的计算机、网络等硬件设备,电话、网 络等通信费用,软件支持等基本上都是现有的。从收益看来:本系统作为公交线路查询的具体应用,是带有实验性、贡献性 的,在一定时期内无经济上收益。是注重以后的潜在发展,是在概念上、形象上 的不断升值。社会环境可行性分析如今城市改造日益加快,公交线路也不断增多,使得交通的便捷性难上加难, 给出行人员选择出行乘车线路造成一定的困难,特别是在旅游城市,游客在乘公 交车时选择线路比较困难,它不仅可以给市民游客的乘车提供向导,同时可以对 外展现城市的现代风貌,体现出一个城市公交信息数字化和信息化的发展水平。 所以

13、本系统拥有非常成熟的市场。系统功能需求分析目前公交线路查询以C/S开发为多,传统的C/S架构(客户机/服务器, Client/Server)方式中,业务逻辑位于客户端,每完成一项事务,都要频繁地 访问数据库,使得网络上数据流量非常大,对于慢速连接的用户,甚至无法使用。 而基于WebGIS的杭州公交线路查询系统具有智能化,是以B/S开发的。B/S构架具 有极大的优越性,对于本系统的扩展更方便,也更便于维护5功能描述经过进一步的调研、讨论对该系统的需求做如下的简述:系统管理员登入管理员界面后,具有删除站点、删除线路、修改站点、 添加线路的功能,管理员具有普通用户所有的功能权限。普通用户可以通过线路

14、查询,用户可以获得该线路会经过的站点,地图 上大致的行程路线,以及起末班时间、价格、站点周围的相关建筑信息等等。普通用户也可以在站点查询模块里的,首先可以通过站点的精确查询功 能里根据站点的确切信息,根据查询站点的相关信息,比如所经过该站点的线路, 以及这些线路所经过的站点,并且在地图上高亮居中显示该站点。可以通过站点 模糊查询功能,根据站点的模糊信息,查询出与模糊信息相关的所有信息。同时 还可以通过建筑物模糊查询功能,根据用户输入的建筑物信息,查询与该建筑物 相关的线路信息。普通用户还可以通过公交换乘这个功能,选择直达或是一次换乘,实现 换乘信息的查询。系统结构类图3.1如下:图3.1系统结

15、构图数据流图(DFD)用户查询的DFD,如图3.2 :用户输入信息,系统处理查询信息,系统获得 信息内容后,向数据库搜索查询信息,如果有,产生查询结果并且输入,如果没 有,系统给出相关提示。用户查询数据库产生查询结果图3.2用户查询DFD管理员的DFD,如图3.3:管理员进入后台后,根据需要,对相关信息进行处 理,系统提交到数据库。管理员更新处理数据库图3.3管理员DFD安全性需求考虑到管理员和用户的权限不同,管理员必须输入用户名和密码,才能对系 统的数据行进修改。管理员有权力行使所有的管理功能,而普通用户只能进行一 般的查询。一致性需求在线路查询系统相关的表之间,有较强的关联性,为了实现一致

16、性的需求, 我们在各个表之间建立起了一致性约束。完整性需求根据线路查询系统的要求,为保持数据的完整性,采用了数据库的事务机制, 防止出现操作故障。第四章系统总体设计4.1系统目标的确定系统目标在于为广大乘客提供最新公交信息和公交查询信息的同时,还为公 交管理者供简单、实用的后台管理平台。采用安全可靠的现代化处理和控制技术, 及时准确、可靠地更新公交信息,建立完备、便捷的公交查询系统。线路查询模块:用户进入系统后,在线路查询模块的输入框中输入要查询 的线路,点击查询按钮,系统首先检查用户所查询的线路是否存在,如果不存在 给出出错提示,如果存在给出这条线路的相关信息,如:双向早晚车的工作时间, 票

17、价,经过的站点,经过的站点的周围有哪些明显的建筑,同时还会在地图上居 中高亮显示这条线路的走向。站点查询模块:用户进入系统后,在站点查询模块中有三种选择,第一个 是按站点的确切信息也就是完全匹配查询,此时用户要给出站点的全称,当点击 查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,系统显示这个 站点的相关信息。比如:经过这个站点共有哪些线路,这些线路又各经过哪些站 点,同时在地图上也会高亮居中显示这个问题站点的具体位置;第二个选择是站 点的模糊查询,也就是不完全匹配,用户只需输入站点名称和部分字符信息,系 统便会给出与此相关的所有站点信息。第三个选择是按显著的建筑查询,也就是 用户可

18、以根据自已想去的某个地方的显著建筑来查询经过那个地方的一些线路 相关信息。换乘查询模块:用户进入系统后,在主页面的换乘查询模块中有两种选择, 第一是直达,第二个是一次换乘。用户可以在起点站输入框中输入自已的出发点, 然后在终点站输入框输入出行的终点,如果选择直达,系统便会检测这两个站点 间是否有直达车,如果没有直达车,系统会给出相关提示。那么用户便可以选择 一次换乘,系统会检测是否有一次换乘方案,如果有系统会给出所以换乘方案, 在每条详细换乘方案后会有一个是计算距离功能按钮和一个地图显示功能按钮, 用户可以点击计算距离来获得本条换乘方案所用路线的距离,也可以点击地图显 示,来看到本条换乘方案所

19、用到的路线和它们的走向。系统管理员登入管理员界面后,具有删除站点、删除线路、修改站点、添 加线路的功能,管理员具有普通用户所有的功能权限。项目系统模块图图4.1项目系统模块图项目系统流程图在Windows环境中的该项目完成品最终是以数据库体现运行程序,将用户想 要查询的信息从数据库中查找、匹配然后通过语言界面输出,并从空间数据库中 读出地图显示。但对其运行后的结果不能进行查找和增加、删减等操作,只能由 管理员在指定的界面操作或直接对数据库编辑。图4.2项目流程图数据库设计系统方案进行设计.它是系统的整体解决方案。其目标为:建立包括公交线 路属性数据库、公交站点属性数据库等公交信息所必需的数据库

20、:建立包括公交 线路空间数据库、公交站点空间数据库等公交信息所必需的数据库:建立基于 WebGIS的公交线路数据库的查询系统,使出行人员可有重点地查询相关信息。数据库的规划和设计在整个系统中占有非常重要的地位,它不但起着存储各 种信息以供统计、查询、分析使用等作用,而且还关系到不同查询信息之间的数 据传递。数据库设计要考虑其合理性、规范性和适用性。目前用于应用系统开发 的数据库大多在SQLSERVE、Oracle、Informix等主流数据库之间进行选择。结合 实际,经过综合比较,本系统最终选用了SQLSERVE 2000数据库平台,就可以行 使基于网络连接的用户认证。从而给不同的子系统分配不

21、同的数据库使用角色, 让他们彼此之间使用的数据库隔离开来,以达到较高的安全性。其优点是:有较 好的可靠性、安全性、容错性及开放性,并能很好地支持空间数据存贮。空间数据是地理信息系统的核心,同时也是地理信息系统区别于一般管理信 息系统的主要标志。获取是地理信息系统建设首先要进行的任务,而扫描矢量化 是当前使用普遍的空间信息录入方式,把一个完整的矢量电子地图,进行修改、 标注、计算和等编辑处理。此公交查询系统软件与其它软件有所不同,它小巧实用,主要利用数据 库来实现:将所有的数据分类都存入数据库的相关列表中程序调用的数据都来自数据库能随意的输入数据和输出数据通过过滤的功能来查找出来的记录中找到所需

22、的项可直接在数据库中对数据信息进行修改、添加、删除等操作根据系统的功能要求和实际情况,本系统属性数据库主要包括的实体有线 路、站点、建筑物,还有管理员实体。系统的数据需要进行分类主要包括线路信 息数据、站点信息数据、标志建筑信息数据、管理员登陆信息,如表4.1: 表4.1数据分类主要数据数据简述公交车线路信息记录杭州市公交车线路的具体信息,包括:停靠站点, 线路名称,行车时间和周围建筑物公交站点信息记录杭州市站点的具体信息,包括该点的线路名称和周围的建筑物等标志建筑信息记录杭州标志建筑的简单附近的公交线路情况管理员登陆信息记录管理员的用户名,密码通过对数据的分析,系统数据库主要的表有“ bui

23、ldings ”、“road ”、“publicstation”和“usertable”,它们分别代表建筑物表、线路表、站点表和管理员表。属性数据库需要的表结构有:WebGIS基础平台软件的选择WebGIS与一般基于因特网的信息系统相比.最大特点是在空间框架上实现图 形,图象数据与属性数据的动态连接,提供网上可视化查询和空间分析功能。与 传统GIS相比.它使原来基于单机或局域网的GIS扩展到整个因特网,使得地学数 据和地学模型有可能在全球范围内共享。经过合理地组织,WebGIS可以实现数据 和模型操作的透明.为地球系统科学研究提供一个功能强大而又方便有效的途径 4系统功能模块设计研究开发的线路

24、查询信息系统,在开放式数据库的支持下,可以与数据库中 具有空间地理属性定义的数据表尽可能地动态连接,实现网络拓扑结构的自动生 成和路径分析等功能。本系统采用Browser / Server界面模式。整个应用系统的 结构框架设计由分布在互联网上的客户端Browser) Web服务器、应用服务器、 数据服务器组成,系统具有很强的可扩展性。系统的功能一览表用户使用进入公父查询系统,在查询王页面中,线路查询、站点查询,换乘 查询供用户进行查询,并且提供公交最新动态、公交信息、日期等消息和信息而 且链接了一些功能比较强大的线路查询网站。管理员进入后台,可以进行删除站 点、删除线路、修改站点、添加站点等编

25、译。具体功能表如图4.7所示:图4.7系统功能图功能模块的划分杭州公交线路查询系统总体上可分为线路查询模块、站点查询模块(包括清 晰站点查询、模糊站点查询、周围显著建筑查询)、换乘查询模块(包括直达、 一次换乘、二次换乘)、后台管理模块(包括删除站点、删除线路、修改站点、 添加线路等功能)。数据库由属性数据库、空间数据库构成。整个系统的结构关 系如图4.8所示:图4.8系统结构图公交线路查询系统中的功能设计1 )地图显示地图浏览工具:基本的放大、缩小、移动、居中等功能。地图显示和控制:根据需要,显示背景地图和各个图层,并可以设定要显示 的地图图层,打开、关闭图层,设置图层显示风格(颜色、线性、

26、字体等)。2)属性查询和统计查询:直接访问属性数据库,查询各类信息,如路线、站点、周围建筑物等。 根据查询内容具体的把所需查询信息的显示出来。统计:在换乘模块中,出行人员需要换乘时,而所查到的换乘不只一种, 为了节省时间,需要对这些换乘进行对比,计算出通过换乘两站间的距离。系统 中就设置了显示距离这一功能,为出行人员提供最好的选择。3)空间查询在地图上选择地图元素.可以显示相应的地图信息和关联的属性信息,并在 对地图上的点进行编译。比如说,在站点查询模块中,只要输入站点名称,可以 查询出该站点的具体信息,并且在地图上该站点居中且高亮显示。第五章系统功能实现要设计一个良好的公交查询系统,就必须首

27、先明确该应用环境对系统的要 求。因此,该系统需满足以下几方面需求:1、查询功能:系统需要提供几种不同方式的查询手段,以实现灵活方便地 管理整个系统。2、数据的更新修改:更新:系统允许管理员级别的用户对数据进行更新、修改并且存盘操作; 编 辑:系统允许管理员级别的用户对数据进行编辑、删除的操作,保证现库的真实 性与实时性。根据广大用户的实际需求,大体上实现了以下功能,其具体情况如表5.1:表5.1系统功能表实现的功能功能的具体描述具体的线路情况查询输出具体车次的具体情况(行车时间、停靠站点等)并 在地图上显示该条线段清晰站点查询输入站点名称即可输出经过该站点的所有线路,并且显 示在地图上高亮显示

28、该站点并在地图上居中模糊站点查询输入站点的相关字即可输出带有该字的所有站点及线 路周围建筑物查询输入建筑物的全名或相关字即可输出带有该字的所有建筑物及附近的线路换乘查询输入两个站点的名称即可输出经过该两点的所有换乘 的方法和路径,并在地图上显示换乘路线本系统设计了一个管理员和大众用户能共用的主界面。但管理员需登陆才能 进入相应的界面进行操作和修改,而大众用户无需登陆可直接进入相应的界面进 行查询。两者实现的功能基本一样,但系统只对用户提供信息查询功能,并不对用户 开放所有数据信息的编辑权限。而管理员比大众用户增加了对数据信息编辑功能 (包括:删除站点、删除线路、修改站点、添加线路等功能等),管

29、理员实现对 数据信息的编辑并对系统进行定期的维护,保证其运行的稳定性,为大众用户提 供尽可能完善的服务。用户使用本系统人员开发的系统进去首页面如图5.1所示:图5.1首页面点击“”便可进入主查询页面如图5.2所示:图5.2主查询界面在主页面中,有管理员入口,线路查询,站点查询,公交换乘,公交最新动 态,友情链接,日期,以及公交查询说明。用户进入主页面后不但可以得到公交相关信息,而且对公交进行查询。在线路查询中主要实现所属线路具体的信息,获得该线路会经过的站点,地图上 大致的行程路线,以及起末班时间、价格、站点周围的相关建筑等等。用户输入 搜索的线路,系统自动判断用户输入的字符串是否带K,如果带

30、K,则取K后面 的字符串,到Road表查询,如果存在,则通过road表索引到road+字符串表, 获取具体的线路的信息,然后通过datagrid导出线路信息。当查询到该条线路存 在的时候,地图空间上也会相应的高亮显示出这条线路所经过的曲线,并且居中 显示在地图的中央,而且添加了一些具体的地图工具,如放大、缩小、移动、居 中功能。我主要负责站点查询这一模块。当出行人员查询站点的时候,根据实际的要 求,也许他们不知道具体的站点,甚至他们连叫什么站都不知道,或者只知道周 围建筑的名称。一般网上这种模糊查询和周围建筑查询很少很少,这样给出行人 员出行带来了极大的不便。但在基于WebGIS的杭州公交线路

31、查询系统站点 信息图-文互查中,不但提供了精确站点查询,而且最主要为用户提供了模糊查 询和周围建筑查询两种查询方案。精确站点查询顾名思义输入正确的站点名,用户只要输入正确的站点名称就 可以在页面上显示站点的信息比如:经过这个站点共有哪些线路,这些线路又各 经过哪些站点,同时在地图上也会高亮居中显示这个站点的具体位置。用户输入 搜索的正确的站点,系统获得查询的站点的字符串,到publicstation表查询, 如果存在,则通过publicstation表索引到road+字符串表,获取该站点的线路 的信息,然后通过datagrid导出。例如:有人想要到文化商城,那么只要输入翠 文化商城,就能获得经

32、过该点的线路信息。如图5.3和图5.4所示:图5.3精确站点查询模块图5.4精确站点查询结果显示精确站点查询实现的主要代码如下:在地图上显示站点private void showstation(string station)(this.MapControl1.Map.Layers 站点 .Enabled二true;MapInfo.Data.Table _searchTable;Column _searchColumn;FindResult _result;Find find=null;_searchTable=MapInfo.Engine.Session.Current.Catalog.Ope

33、nTable(矿E:bi shemap杭州地图、站点.tab);MapInfo.Data.TableInfo tabinfo=_searchTable.TableInfo;MapInfo.Data.Columns columns=tabinfo.Columns;_searchColumn二columns站点名称;find=new Find(_searchTable,_searchColumn);find.UseCloseMatches二true;FindResult _findResult=find.Search(station);MapInfo.Geometry.DPoint dpoint;

34、/定义点对象dpoint.x=(double)_findResult.FoundPoint.X;dpoint.y=(double)_findResult.FoundPoint.Y;this.MapControl1.Map.Center二dpoint; /让点居中SimpleVectorPointStyle vs=new SimpleVectorPointStyle();vs.Color二System.Drawing.Color.Blue;vs.PointSize=25;find.Dispose();this.MapControl1.Map.Scale=9000;站点查询private void

35、 station()(string station二Sessionstation.ToString().Trim();string stationname二Sessionstation.ToString().Trim();/获取用户站 名信息SqlConnection conn=new SqlConnection(connstr);/建立数据库连接对象 conn.Open();string cmdtext=select station,roada,roadb,roadc,roadd,roade from publicstation where station=+stationname+;/查询

36、经过站点的所有线 路SqlDataAdapter da=new SqlDataAdapter(cmdtext,conn);DataSet ds=new DataSet();da.Fill(ds,station);if(ds.Tablesstation.Rows.Count0)/说明站点存在(string roada二ds.Tablesstation.Rows0roada.ToString();string roadb二ds.Tablesstation.Rows0roadb.ToString();string roadc二ds.Tablesstation.Rows0roadc.ToString(

37、);string roadd二ds.Tablesstation.Rows0roadd.ToString();string roade二ds.Tablesstation.Rows0roade.ToString();this.Label1.Text=你好,你查询的站点是:+stationname+;this.Label3.Visible=true;this.Label3.Text二经过 +stationname+站 点的线路有:;if(roada!=null)(string roadtable=road+roada;string cmdstring=select id ,station from+

38、 +roadtable;this.DataGrid2.Visible=true;this.Label2.Visible=true;this.Panel1.Visible=true;SqlDataAdapter da2=new SqlDataAdapter(cmdstring,conn); da2.Fill(ds,station2); this.DataGrid2.DataSource=ds.Tablesstation2.DefaultView; this.DataGrid2.DataBind();this.Label2.Text=+roada+路; 模糊查询,允许用户输入站点的任何字符,模糊查

39、询的匹配规则是字符或者 字符串前后任意匹配。当查询到数据库中存在匹配的站点时,就会弹出一个窗口, 显示匹配的站点名,以及所经过的线路。否则弹出请重新输入信息的错误窗口。 例如:有人想要到翠苑一区,但却不知道具体站点的名称,只模模糊糊的知道那 站点有翠苑这几个字,那么他只要在模糊查询中输入翠苑这几个字(如图5.5), 那么系统就会显示出带有翠苑这些字的所有站点名称,以及这些站点相关的线路 (如图5.6)。图5.5模糊查询模块图5.6模糊查询结果实现主要代码如下:/模糊查询站点private void muhustationsearch()(string muhustation=Sessionmu

40、fustation.ToString();SqlConnection conn=new SqlConnection(connstr);conn.Open();string cmdtext=select * from publicstation where station like%+muhustation+;SqlDataAdapter da=new SqlDataAdapter(cmdtext,conn);DataSet ds=new DataSet();da.Fill(ds,muhustation);if(ds.Tablesmuhustation.Rows.Count0)this.Labe

41、l1.Text=符合”+muhustation+ 的结果有:;this.DataGrid1.DataSource=ds.Tablesmuhustation.DefaultView;this.DataGrid1.DataBind();else(this.Label1.Text二对不起,没有符合你输入的关键字的相关站点,请重新尝试;conn.Close();建筑物查询,不但用户输入建筑物正确名称可以查询建筑物相关线路信息, 而且允许用户输入模糊建筑物名称进行查询。当用户在建筑物查询中输入建筑物 名称(字符串)时,系统自动从build表中获取字符串,找到符合该字符串的线 路。例如:有人想要去博库书城这地方,但不知道该乘哪路车,那么只要他在周 围建筑查询中输入博库书城建筑物的名称,就能得到所有相关的线路(如图5.7 和图5.8)。图5.7建筑物查询模块图5.8建筑物查询结果实现甚至当用户只记得博库的时候,也能对此进行模糊查询,查询到博库书城的 正确名称和所有相关的线路。(如图5.9和图5.10)图5.9建筑物查询模块图5.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论