2024年1月25日发(作者:)
基于WebGIS的杭州公交线路查询系统设计与实现
——站点信息图-文互查
摘要
随着Internet的发展,很多开发者已经开始从互联网上获取公交线路查询信息,结合WebGIS技术,具有很大的实用价值,已在诸多领域中得以广泛应用。以往非GIS的公交线路查询系统存在很多的缺陷,给出行的人员带来了不同程度的不便。当WebGIS应用于公交线路查询系统开发时,结合公交查询系统的实际需要,考虑基于WebGIS的杭州公交线路查询系统的总体目标.同时提出公交线路查询系统的数据库设计方案、系统功能模块设计方法和关键技术。
在基于WebGIS的杭州公交线路查询系统站点信息查询模块中,实现智能查询,能够进行清晰查询,模糊查询以及周围建筑查询,从而实现了大范围内全方位发挥的实时、准确、高效的运输综合管理,使人、车、路密切配合,和谐统一,大大改善了交通环境。
【关键词】 WebGIS、公交查询、站点信息、空间数据
1
Design and Realization of Hangzhou Buses Line
Querying System Based on WebGIS
— Station Information Querying by Chart-Attribute
ABSTRACT
With the development of the Internet, many developers have begun
enquiries from the Internet to obtain public information lines, with
WebGIS technology has great practical value, which can be widely
applied in many fields. GIS previous non-existence of the bus line
enquiry system many mistakes, go on a journey to bring personnel with
varying degrees of inconvenience. When applied to the bus line enquiries
WebGIS system development, integration of public enquiry system needs
to consider the Hangzhou-based WebGIS bus line enquiry system overall
objectives. At the same time raise public enquiry line database system
design, system design methodology and key functional modules
technology.
WebGIS in the Hangzhou-based bus line enquiry system website
Information Referral module, and achieving wisdom enquiries could clear
enquiries vague enquiries and the surrounding buildings enquiries, thus
achieving broader context of a comprehensive real-time, accurate,
comprehensive and efficient transport management, people, cars, roads
closely, harmony and unity. greatly improved the traffic environment.
KEYWORDS: WebGIS, public transit inquiry, station information,
spatial data
2
目录
第一章 引言 ..................................... 7
1.1
选题的提出 ...................................................... 7
1.2
选题的目的和意义 ................................................ 7
1.3
选题目前在国内外的研究现状 ...................................... 8
第二章 系统设计的关键技术 ........................ 9
2.1
WEBGIS .......................................................... 9
2.2
MAPX与MAPXTREME .................................................. 9
2.3
技术的开发 .............................................. 11
第三章 系统需求分析 ............................. 12
3.1
可行性分析 ..................................................... 13
3.1.1 技术可行性分析 ........................................... 13
3.1.2 操作可行性分析 ........................................... 13
3.1.3 经济可行性分析 ........................................... 13
3.1.4 社会环境可行性分析 ....................................... 13
3.2
系统功能需求分析 ............................................... 14
3.2.1 功能描述 ................................................. 14
3.2.2 数据流图(DFD) .......................................... 15
3.3
安全性需求 ..................................................... 16
3.4
一致性需求 ..................................................... 16
3.5完整性需求 ..................................................... 16
第四章 系统总体设计 ............................. 17
4.1
系统目标的确定 ................................................. 17
4.1.1 项目系统模块图 ........................................... 19
4.1.2项目系统流程图 ........................................... 19
4.2
数据库设计 ..................................................... 19
4.3
WEBGIS基础平台软件的选择 ....................................... 21
4.4
系统功能模块设计 ............................................... 22
5
4.4.1系统的功能一览表 ......................................... 22
4.4.2 功能模块的划分 ........................................... 23
4.4.3 公交线路查询系统中的功能设计 ............................. 23
第五章 系统功能实现 ............................. 24
第六章 总结 .................................... 31
6.1
主要成果 ....................................................... 31
6.2存在问题和今后工作建议 ......................................... 31
致 谢 ......................................... 32
参考文献 ........................................ 33
6
基于WebGIS的杭州公交线路查询系统设计与实现
——站点信息图-文互查
第一章 引言
1.1 选题的提出
随着现在社会的发展,出行人员都避免不了要到某些城市去公干或其他的事情。一旦你对这个城市不熟悉,你的出门就会举步维艰。打的,对于一些因公出差的人来说算不了什么,但是对于旅游者或是个人来说就不是很好的选择。以前那些人只能靠打电话,看交通图,像熟人问路等这些传统的查询公交信息。这样就浪费掉很多的时间在查询公交线路中,而且得到的信息也不一定是很可靠的。
随着Internet的发展,开发一个城市的公交智能线路查询系统就显得十分必要,可以说更加适应现代社会的需求。因此提出了基于WebGIS的公交线路查询系统的设计和研究。本系统是利用MapXtrem 2004、 、SQLSERVE 2000、WebGIS开发系统开发的,页面美观、运行速度快、操作简单、内容详细,可以高效的安排自己的行程。
1.2 选题的目的和意义
城市公共交通(以下简称“公交”)是与出行人员生产生活息息相关的重要基础设施。提供良好的公交服务是建设和谐社会的基本要求。利用高新技术改造传统的公交系统。以信息化为基础,促进乘客、车辆、站点设施以及交通环境等要素之间的良性互动,推动智能公交系统建设。鉴于中国目前的经济发展状况,中国人出行还是以公交车为主,所以每个城市的公交系统都比较庞大发达。公交查询系统是近两年出现的新生事物,每个城市的发展状况也是良莠不齐。建设电子公交线路查询运行站点查询系统、线路查询系统、换乘查询信息系统,便于市民了解公交信息,合理安排出行[1]。
7
在基于WebGIS的杭州公交线路查询系统模块之一——站点信息图-文互查中,出行人员可以最快时间内被查到你所要的准确站点信息和周围建筑物的线路信息。最主要的是可以进行模糊站点查询,实现智能查询是主要的设计目的之一。为城市居民和外地旅客搜索站点提供一条或若干条快速、经济的经过该点的线路选择,极大地方便了人们的社会活动。
1.3 选题目前在国内外的研究现状
在西方国家(如美国、日本等),在城市公交网络系统上投入了极大的财力,构建了利用计算机网络和先进的通信系统的智能运输系,从而实现了大范围内全方位发挥的实时、准确、高效的运输综合管理,使人、车、路密切配合,和谐统一,大大改善了交通环境等。
国内在这方面的起步较晚,但是各地政府都给予了极大的重视,相继建立了网上公交查询系统,但是效果不甚理想。主要存在以下一些问题:
(1) 多数查询系统的形式单一,覆盖面较小。
(2) 数据存储结构不够合理,不易扩充,不能支持人以两点的查询。
(3) 多数没有地图显示能力,不够直观。
(4) 具有地图显示能力的系统,几乎全部采用非自主产权的GIS插件,运行速度慢,查询效果差。
(5) 咨询方式单一,没有充分发挥现有的各种通信资源。
8
第二章 系统设计的关键技术
2.1 WebGIS
WebGIS是建立在Internet上具有浏览器/服务器体系结构(B/S)的网络GIS,是利用万维网技术对传统GIS的改造和发展,它改变了传统GIS的运行模式,使用户可以借助方便、廉价的Internet网,通过Browser这一统一的图形用户界面,访问位于不同地区不同类型的空问信息资源。随着Internet的发展,很多开发者已经开始从互联网上获取公交线路查询信息。结合WebGIS技术,开发在Internet上的公交线路查询系统,具有很大的实用价值。
由于发展速度很快,出现的时间很短,WebGIS本身实际上还处于发展和变动之中。WebGIS具体的概念和内涵都存在很多不同的理解目前,WebGIS一般都是指利用通用浏览器访问一个WWW服务站点,激活后台的GIS服务软件,获取GIS信息。而常说的Internet GIS或网络GIS应该范围更宽一些,是泛指GIS在一种网络环境下的应用,不一定使用通用浏览器操作GIS数据[2]。
因此,综合来看,目前WebGIS具备以下这样一些基本特点:
(1) 建立首次远程访问的传输协议采用HTTP,建立联系以后也可用其它协议传输信息。
(2) 远程地理信息的首次访问或服务启动,需要利用WWW服务器上的HTML文档。
(3) 用户端一般使用能解释HTML的通用浏览器。
(4) 远程服务器端提供地理信息服务时,把WWW服务器作为信息进出的重要关口。
(5) WWW使用的通用标记语言在浏览器与服务器之间的GIS信息通讯中占有重要地位,即使使用其它数据格式或者将来HTML被其它标记语言所取代,大概这一点不会改变。
2.2 MapX与Mapxtreme
MapX是一个基于ActiveX(OCX)技术的可编程控件。MapX为开发人员提供了一个快速、易用、功能强大的地图化组件。本系统在可视化开发环境中,
9
只需在设计阶段将MapX控件放入窗体中,对图层进行画点、连线,并对其进行编程,设置属性或调用方法或相应事件,即可实现数据可视化,专题分析,地理查询,地理编码等丰富的地图信息系统功能。MapX的主要功能包括:显示MapInfo格式的地图;对地图进行放大、缩小、漫游、选择等操作;专题地图;图层控制;数据绑定;动态图层和用户绘图图层;生成和编辑地图对象;简单地理查询:边界查询,地址查询。空间数据通过MapX软件进行管理和维护,以图层形式来体现。所谓属性数据主要是指描述公交线路、站点、建筑物的互相联系以及相关信息。由于系统要求选择查询线路、站点或建筑物时时,能够将属性信息和空间信息同时显示,因而必须解决公交线路、站点、建筑物对象的地理特征即空间数据及其属性的存储、显示、查询和分析之间的关系问题。
Mapxtreme 2004是MapInfo公司的地图网上发布产品,是一个典型的基于服务器端的应用系统。开发人员使用该工具可以创建功能更加强大的地点增强型桌面和客户机 / 服务器应用程序。使用这些工具和命名空间可以创建您自己的应用程序或增强现有的应用程序,让程序包括基于地点的信息和分析功能。MapXtreme 2004 开发工具包在部署桌面、企业或 Web 解决方案方面为开发人员提供了最大程度的控制权和灵活性。除此之外,还可以重用为某一个平台编写的代码,增强或创建用于其它平台的解决方案,这样就可以节省大量时间并使工作成果在现在和将来都能得以体现。用户可以使用 MapXtreme 2004 工具包在广泛使用的 Windows 平台上为各种环境开发地图绘制解决方案。我们的目标就是向开发人员提供这样的工具,能够在尽可能短的时间内构建功能最为强大的基于地图的解决方案它以MapX为引擎。MapXtreme由3大部分组成: (1)地图服务器管理,完成服务器的配置和地图引擎的设定,它指定了浏览器端所显示的地图表现形式;(2)基准地图数据管理是一个管理无缝地图图层的工具,指定了基准地图数据所在目录和路径;(3)地图对象管理,由多个地理对象按选定的投影方式以适当的显示比例构成地理对象集合(Geoset),并根据不同的地理对象设置相应的缩放显示范围。这种由上至下的设置方式实现了地图对象的逐级分类显示,可以保证图面的清晰和整洁,还允许系统设置标注属性、增减图层或改变图层属性设置[6]。
10
2.3 技术的开发
本系统的开发模式为B/S,所以我们选择了环境下开发系统。
技术是由微软的.NET部分技术具体化而来的,完全基于模块与组件,具有更好的可扩展性与可研定制性,数据处理方面更是引入了许多激动人心的新技术。正是这些具有革新意义的新特性,让给Web开发人员提供了更好的灵活性,有效的缩短了Web应用程序的开发周期[7]。
增强了许多内置性能。例如,页只需编译一次,并为后面的请求而被缓存。由于这些已编译的页保存到磁盘,因此即使整个服务器重新启动,它们也不会失效。 还缓存内部对象(如服务器变量),以加速用户代码的访问速度。而且,使 获益的还有对公共语言运行库的所有性能改进:实时编译、同时为单处理器和多处理器计算机准备的微调公共语言运行库,等等。
改进了配置、伸缩性、安全性和可靠性。对于简单的ASP应用程序,配置其实并不算什么问题,但是当你移植到一个利用组件的N层结构中时就会遇到问题。当你对这些应用程序进行配置和维护时,DLL 陷阱问题(组件注册、版本、锁定的DLL等等)就会出现。中则取消了组件注册以及DLL锁定,全面使用了XML配置文件,从而解决了这个问题。这样你只需要执行复制文件的工作就能配置一个Web应用程序。但是,所有这些改进都无法使您避免编写那些性能不佳的代码。最终,您必须保证应用程序可以满足用户的要求。
对各种不同的浏览器提供了更好的支持。对于ASP开发人员来说,浏览器兼容问题好象是一个永恒的问题。你或者为低一级的浏览器编写代码,例如用HTML 3.2,或者限制页面的浏览范围。无线应用程序协议WAP设备的引入还会深化这个问题。本文中Web表单这部分描述了是如何解决浏览器兼容性问题的。 造就了一类新的Web应用程序。目前的Web应用程序通常都是同一种模式:一套线性应用程序,然后将逻辑植入其中之一。允许开发人员打破这种单一模式,创造出更加动态而且伸缩性更强的应用程序,这种应用程序能够更好地满足公司的商业需求,并提供一个更加丰富的开发环境。
11
第三章 系统需求分析
需求分析工作是系统设计的出发点和依据。概括地说线路查询系统的需求分析就是要根据出行人员的具体需求情况,明确需要什么样的查询系统,需要什么样的功能和性能,为什么需要,以及各种需求的紧迫程度如何。只有需求明确了,按需求建立起来的线路查询系统才能达到预期的目标,取得预定的效果。
12
3.1 可行性分析
3.1.1 技术可行性分析
本系统采用的是MapXtrem 2004、 、SQLSERVE 2000数据库相结合的方法,将所有收集的数据信息按其属性分类存储到数据库中,再通过程序调用这些数据信息实现各种查询及管理,即所谓的"程序设计数据化,数据管理程序化"思想。
基于这种思想的查询系统的理论及技术已日趋成熟,加之这些软件的应用性和移植性都非常优秀而且其发展也到了较成熟的阶段,这就保障了日后的系统维护工作,并可不断更新。
所以本系统在技术上是绝对可行的。而且该系统对于操作环境的要求不高,现在普遍使用的计算机都可以运行该系统。
3.1.2 操作可行性分析
本系统界面美观明了,提供的信息语言通俗易懂,而且操作容易,用户只要懂得初步的计算机操作即可。
3.1.3 经济可行性分析
从成本上看来,开发及维护系统所需的计算机、网络等硬件设备,电话、网络等通信费用,软件支持等基本上都是现有的。
从收益看来:本系统作为公交线路查询的具体应用,是带有实验性、贡献性的,在一定时期内无经济上收益。是注重以后的潜在发展,是在概念上、形象上的不断升值。
3.1.4 社会环境可行性分析
如今城市改造日益加快,公交线路也不断增多,使得交通的便捷性难上加难,给出行人员选择出行乘车线路造成一定的困难,特别是在旅游城市,游客在乘公交车时选择线路比较困难,它不仅可以给市民游客的乘车提供向导,同时可以对
13
外展现城市的现代风貌,体现出一个城市公交信息数字化和信息化的发展水平。所以本系统拥有非常成熟的市场。
3.2 系统功能需求分析
目前公交线路查询以C/S开发为多,传统的C/S架构(客户机/服务器,Client/Server)方式中,业务逻辑位于客户端,每完成一项事务,都要频繁地访问数据库,使得网络上数据流量非常大,对于慢速连接的用户,甚至无法使用。而基于WebGIS的杭州公交线路查询系统具有智能化,是以B/S开发的。B/S构架具有极大的优越性,对于本系统的扩展更方便,也更便于维护[5]。
3.2.1 功能描述
经过进一步的调研、讨论对该系统的需求做如下的简述:
1.系统管理员登入管理员界面后,具有删除站点、删除线路、修改站点、添加线路的功能,管理员具有普通用户所有的功能权限。
2.普通用户可以通过线路查询,用户可以获得该线路会经过的站点,地图上大致的行程路线,以及起末班时间、价格、站点周围的相关建筑信息等等。
3.普通用户也可以在站点查询模块里的,首先可以通过站点的精确查询功能里根据站点的确切信息,根据查询站点的相关信息,比如所经过该站点的线路,以及这些线路所经过的站点,并且在地图上高亮居中显示该站点。可以通过站点模糊查询功能,根据站点的模糊信息,查询出与模糊信息相关的所有信息。同时还可以通过建筑物模糊查询功能,根据用户输入的建筑物信息,查询与该建筑物相关的线路信息。
4.普通用户还可以通过公交换乘这个功能,选择直达或是一次换乘,实现换乘信息的查询。
系统结构类图3.1如下:
杭州公交线路查询系查询子系统 管理子系统
线路站点换乘14
删除删除修改添加
图3.1 系统结构图
3.2.2 数据流图(DFD)
用户查询的DFD,如图3.2:用户输入信息,系统处理查询信息,系统获得信息内容后,向数据库搜索查询信息,如果有,产生查询结果并且输入,如果没有,系统给出相关提示。
显示器
产生查询结果
用户
输
入
查询信
处
理
查
数据库
15
图3.2 用户查询 DFD
管理员的DFD,如图3.3:管理员进入后台后,根据需要,对相关信息进行处理,系统提交到数据库。
管理员
更
新
信
处
理
信
数据库
图3.3 管理员DFD
3.3 安全性需求
考虑到管理员和用户的权限不同,管理员必须输入用户名和密码,才能对系统的数据行进修改。管理员有权力行使所有的管理功能,而普通用户只能进行一般的查询。
3.4 一致性需求
在线路查询系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。
3.5完整性需求
根据线路查询系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。
16
第四章 系统总体设计
4.1 系统目标的确定
系统目标在于为广大乘客提供最新公交信息和公交查询信息的同时,还为公交管理者供简单、实用的后台管理平台。采用安全可靠的现代化处理和控制技术,及时准确、可靠地更新公交信息,建立完备、便捷的公交查询系统。
1.线路查询模块:用户进入系统后,在线路查询模块的输入框中输入要查询的线路,点击查询按钮,系统首先检查用户所查询的线路是否存在,如果不存在给出出错提示,如果存在给出这条线路的相关信息,如:双向早晚车的工作时间,
17
票价,经过的站点,经过的站点的周围有哪些明显的建筑,同时还会在地图上居中高亮显示这条线路的走向。
2.站点查询模块:用户进入系统后,在站点查询模块中有三种选择,第一个是按站点的确切信息也就是完全匹配查询,此时用户要给出站点的全称,当点击查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,系统显示这个站点的相关信息。比如:经过这个站点共有哪些线路,这些线路又各经过哪些站点,同时在地图上也会高亮居中显示这个问题站点的具体位置;第二个选择是站点的模糊查询,也就是不完全匹配,用户只需输入站点名称和部分字符信息,系统便会给出与此相关的所有站点信息。第三个选择是按显著的建筑查询,也就是用户可以根据自已想去的某个地方的显著建筑来查询经过那个地方的一些线路相关信息。
3.换乘查询模块:用户进入系统后,在主页面的换乘查询模块中有两种选择,第一是直达,第二个是一次换乘。用户可以在起点站输入框中输入自已的出发点,然后在终点站输入框输入出行的终点,如果选择直达,系统便会检测这两个站点间是否有直达车,如果没有直达车,系统会给出相关提示。那么用户便可以选择一次换乘,系统会检测是否有一次换乘方案,如果有系统会给出所以换乘方案,在每条详细换乘方案后会有一个是计算距离功能按钮和一个地图显示功能按钮,用户可以点击计算距离来获得本条换乘方案所用路线的距离,也可以点击地图显示,来看到本条换乘方案所用到的路线和它们的走向。
4.系统管理员登入管理员界面后,具有删除站点、删除线路、修改站点、添加线路的功能,管理员具有普通用户所有的功能权限。
18
4.1.1 项目系统模块图
图4.1 项目系统模块图
4.1.2项目系统流程图
在Windows环境中的该项目完成品最终是以数据库体现运行程序,将用户想要查询的信息从数据库中查找、匹配然后通过语言界面输出,并从空间数据库中读出地图显示。但对其运行后的结果不能进行查找和增加、删减等操作,只能由管理员在指定的界面操作或直接对数据库编辑。
图4.2 项目流程图
4.2 数据库设计
系统方案进行设计.它是系统的整体解决方案。其目标为:建立包括公交线路属性数据库、公交站点属性数据库等公交信息所必需的数据库:建立包括公交
19
线路空间数据库、公交站点空间数据库等公交信息所必需的数据库:建立基于WebGIS的公交线路数据库的查询系统,使出行人员可有重点地查询相关信息。
数据库的规划和设计在整个系统中占有非常重要的地位,它不但起着存储各种信息以供统计、查询、分析使用等作用,而且还关系到不同查询信息之间的数据传递。数据库设计要考虑其合理性、规范性和适用性。目前用于应用系统开发的数据库大多在SQLSERVE、Oracle、Informix等主流数据库之间进行选择。结合实际,经过综合比较,本系统最终选用了SQLSERVE 2000 数据库平台,就可以行使基于网络连接的用户认证。从而给不同的子系统分配不同的数据库使用角色,让他们彼此之间使用的数据库隔离开来,以达到较高的安全性。其优点是:有较好的可靠性、安全性、容错性及开放性,并能很好地支持空间数据存贮。
空间数据是地理信息系统的核心,同时也是地理信息系统区别于一般管理信息系统的主要标志。获取是地理信息系统建设首先要进行的任务,而扫描矢量化是当前使用普遍的空间信息录入方式,把一个完整的矢量电子地图,进行修改、标注、计算和等编辑处理。
此公交查询系统软件与其它软件有所不同,它小巧实用,主要利用数据
库来实现:
a. 将所有的数据分类都存入数据库的相关列表中
b. 程序调用的数据都来自数据库
c. 能随意的输入数据和输出数据
d. 通过过滤的功能来查找出来的记录中找到所需的项
e. 可直接在数据库中对数据信息进行修改、添加、删除等操作
根据系统的功能要求和实际情况,本系统属性数据库主要包括的实体有线路、站点、建筑物,还有管理员实体。系统的数据需要进行分类主要包括线路信息数据、站点信息数据、标志建筑信息数据、管理员登陆信息,如表4.1:
表4.1 数据分类
主要数据
公交车线路信息
数据简述
记录杭州市公交车线路的具体信息,包括:停靠站点,线路名称,行车时间和周围建筑物
公交站点信息 记录杭州市站点的具体信息,包括该点的线路名称和周
20
围的建筑物等
标志建筑信息
管理员登陆信息
通过对数据的分析,系统数据库主要的表有“buildings”、“road”、“publicstation”和“usertable”,它们分别代表建筑物表、线路表、站点表和管理员表。属性数据库需要的表结构有:
图4.3 buildings表结构
记录杭州标志建筑的简单附近的公交线路情况
记录管理员的用户名,密码
图4.4 road表结构
图4.5 pulicstation表结构
图4.6 usertable表结构
4.3 WebGIS基础平台软件的选择
WebGIS与一般基于因特网的信息系统相比.最大特点是在空间框架上实现图形,图象数据与属性数据的动态连接,提供网上可视化查询和空间分析功能。与传统GIS相比.它使原来基于单机或局域网的GIS扩展到整个因特网,使得地学数据和地学模型有可能在全球范围内共享。经过合理地组织,WebGIS可以实现数据和模型操作的透明.为地球系统科学研究提供一个功能强大而又方便有效的途径[4]。
21
4.4 系统功能模块设计
研究开发的线路查询信息系统,在开放式数据库的支持下,可以与数据库中具有空间地理属性定义的数据表尽可能地动态连接,实现网络拓扑结构的自动生成和路径分析等功能。本系统采用Browser/Server界面模式。整个应用系统的结构框架设计由分布在互联网上的客户端Browser)、Web服务器、应用服务器、数据服务器组成,系统具有很强的可扩展性。
4.4.1系统的功能一览表
用户使用进入公交查询系统,在查询主页面中,线路查询、站点查询,换乘查询供用户进行查询,并且提供公交最新动态、公交信息、日期等消息和信息而且链接了一些功能比较强大的线路查询网站。管理员进入后台,可以进行删除站点、删除线路、修改站点、添加站点等编译。具体功能表如图4.7所示:
公交最新动态
公交信息
日期
线路查询
站点查询
换乘查询
友情链接
删除站点
删除线路
修改站点
添加站点
大众查询页面 管理员页面
线路查询主页面
公交线路查询系统
清晰站点查询
模糊站点查询
周围建筑查询
22
图4.7 系统功能图
4.4.2 功能模块的划分
杭州公交线路查询系统总体上可分为线路查询模块、站点查询模块(包括清晰站点查询、模糊站点查询、周围显著建筑查询)、换乘查询模块(包括直达、一次换乘、二次换乘)、后台管理模块(包括删除站点、删除线路、修改站点、添加线路等功能)。数据库由属性数据库、空间数据库构成。整个系统的结构关系如图4.8所示:
空间数据属性数据线路查询模站点查询模换乘查询模后台管理模图4.8 系统结构图
4.4.3 公交线路查询系统中的功能设计
1) 地图显示
地图浏览工具:基本的放大、缩小、移动、居中等功能。
地图显示和控制:根据需要,显示背景地图和各个图层,并可以设定要显示的地图图层,打开、关闭图层,设置图层显示风格(颜色、线性、字体等)。
2) 属性查询和统计
查询:直接访问属性数据库,查询各类信息,如路线、站点、周围建筑物等。根据查询内容具体的把所需查询信息的显示出来。
统计:在换乘模块中,出行人员需要换乘时,而所查到的换乘不只一种,为了节省时间,需要对这些换乘进行对比,计算出通过换乘两站间的距离。系统中就设置了显示距离这一功能,为出行人员提供最好的选择。
23
3) 空间查询
在地图上选择地图元素.可以显示相应的地图信息和关联的属性信息,并在对地图上的点进行编译。比如说,在站点查询模块中,只要输入站点名称,可以查询出该站点的具体信息,并且在地图上该站点居中且高亮显示。
第五章 系统功能实现
要设计一个良好的公交查询系统,就必须首先明确该应用环境对系统的要求。因此,该系统需满足以下几方面需求:
1、查询功能:系统需要提供几种不同方式的查询手段,以实现灵活方便地管理整个系统。
2、数据的更新修改:
更新:系统允许管理员级别的用户对数据进行更新、修改并且存盘操作; 编辑:系统允许管理员级别的用户对数据进行编辑、删除的操作,保证现库的真实性与实时性。
根据广大用户的实际需求,大体上实现了以下功能,其具体情况如表5.1:
表5.1 系统功能表
实现的功能
具体的线路情况查询
功能的具体描述
输出具体车次的具体情况(行车时间、停靠站点等)并在地图上显示该条线段
清晰站点查询 输入站点名称即可输出经过该站点的所有线路,并且显示在地图上高亮显示该站点并在地图上居中
模糊站点查询 输入站点的相关字即可输出带有该字的所有站点及线路
周围建筑物查询 输入建筑物的全名或相关字即可输出带有该字的所有建筑物及附近的线路
换乘查询 输入两个站点的名称即可输出经过该两点的所有换乘的方法和路径,并在地图上显示换乘路线
24
本系统设计了一个管理员和大众用户能共用的主界面。但管理员需登陆才能进入相应的界面进行操作和修改,而大众用户无需登陆可直接进入相应的界面进行查询。
两者实现的功能基本一样,但系统只对用户提供信息查询功能,并不对用户开放所有数据信息的编辑权限。而管理员比大众用户增加了对数据信息编辑功能(包括:删除站点、删除线路、修改站点、添加线路等功能等),管理员实现对数据信息的编辑并对系统进行定期的维护,保证其运行的稳定性,为大众用户提供尽可能完善的服务。
用户使用本系统人员开发的系统进去首页面如图5.1所示:
图5.1 首页面
点击“”便可进入主查询页面如图5.2所示:
图5.2 主查询界面
在主页面中,有管理员入口,线路查询,站点查询,公交换乘,公交最新动态,友情链接,日期,以及公交查询说明。
用户进入主页面后不但可以得到公交相关信息,而且对公交进行查询。
在线路查询中主要实现所属线路具体的信息,获得该线路会经过的站点,地图上大致的行程路线,以及起末班时间、价格、站点周围的相关建筑等等。用户输入搜索的线路,系统自动判断用户输入的字符串是否带K,如果带K,则取K后面的字符串,到Road表查询,如果存在,则通过road表索引到road+字符串表,获取具体的线路的信息,然后通过datagrid导出线路信息。当查询到该条线路存在的时候,地图空间上也会相应的高亮显示出这条线路所经过的曲线,并且居中显示在地图的中央,而且添加了一些具体的地图工具,如放大、缩小、移动、居中功能。
我主要负责站点查询这一模块。当出行人员查询站点的时候,根据实际的要求,也许他们不知道具体的站点,甚至他们连叫什么站都不知道,或者只知道周
25
围建筑的名称。一般网上这种模糊查询和周围建筑查询很少很少,这样给出行人员出行带来了极大的不便。但在基于WebGIS的杭州公交线路查询系统——站点信息图-文互查中,不但提供了精确站点查询,而且最主要为用户提供了模糊查询和周围建筑查询两种查询方案。
精确站点查询顾名思义输入正确的站点名,用户只要输入正确的站点名称就可以在页面上显示站点的信息比如:经过这个站点共有哪些线路,这些线路又各经过哪些站点,同时在地图上也会高亮居中显示这个站点的具体位置。用户输入搜索的正确的站点,系统获得查询的站点的字符串,到publicstation表查询,如果存在,则通过publicstation表索引到road+字符串表,获取该站点的线路的信息,然后通过datagrid导出。例如:有人想要到文化商城,那么只要输入翠文化商城,就能获得经过该点的线路信息。如图5.3和图5.4所示:
图5.3 精确站点查询模块
图5.4 精确站点查询结果显示
精确站点查询实现的主要代码如下:
//在地图上显示站点
private void showstation(string station)
{
["站点"].Enabled=true;
_searchTable;
Column _searchColumn;
FindResult _result;
Find find=null;
_searchTable=ble(@"E:bishemap杭州地图站点.tab");
nfo tabinfo=_nfo;
s columns=s;
_searchColumn=columns["站点名称"];
find=new Find(_searchTable,_searchColumn);
seMatches=true;
26
FindResult _findResult=(station);
dpoint;//定义点对象
dpoint.x=(double)_oint.X;
dpoint.y=(double)_oint.Y;
=dpoint; //让点居中
SimpleVectorPointStyle vs=new SimpleVectorPointStyle();
=;;
ize=25;
e();
=9000;
}
//站点查询
private void station()
{
string station=Session["station"].ToString().Trim();
string stationname=Session["station"].ToString().Trim();//获取用户站名信息
SqlConnection conn=new SqlConnection(connstr);//建立数据库连接对象
();
string cmdtext="select station,roada,roadb,roadc,roadd,roade from
publicstation where station='"+stationname+"'";//查询经过站点的所有线路
SqlDataAdapter da=new SqlDataAdapter(cmdtext,conn);
DataSet ds=new DataSet();
(ds,"station");
if(["station"].>0)//说明站点存在
{
string roada=["station"].Rows[0]["roada"].ToString();
string roadb=["station"].Rows[0]["roadb"].ToString();
string roadc=["station"].Rows[0]["roadc"].ToString();
string roadd=["station"].Rows[0]["roadd"].ToString();
string roade=["station"].Rows[0]["roade"].ToString();
="你好,你查询的站点是:"+"
"+stationname+"";
e=true;
="经过"+""+stationname+""+"站点的线路有:";
if(roada!="null")
{
string roadtable="road"+roada;
string cmdstring="select id ,station from"+" "+roadtable;
e=true;
e=true;
e=true;
27
SqlDataAdapter da2=new SqlDataAdapter(cmdstring,conn);
(ds,"station2");
urce=["station2"].DefaultView;
nd();
=""+roada+""+"路";
}
模糊查询,允许用户输入站点的任何字符,模糊查询的匹配规则是字符或者字符串前后任意匹配。当查询到数据库中存在匹配的站点时,就会弹出一个窗口,显示匹配的站点名,以及所经过的线路。否则弹出请重新输入信息的错误窗口。例如:有人想要到翠苑一区,但却不知道具体站点的名称,只模模糊糊的知道那站点有翠苑这几个字,那么他只要在模糊查询中输入翠苑这几个字(如图5.5),那么系统就会显示出带有翠苑这些字的所有站点名称,以及这些站点相关的线路(如图5.6)。
图5.5 模糊查询模块
图5.6 模糊查询结果实现
主要代码如下:
//模糊查询站点
private void muhustationsearch()
{
string muhustation=Session["mufustation"].ToString();
SqlConnection conn=new SqlConnection(connstr);
();
string cmdtext="select * from publicstation where station like
'%"+muhustation+"%'";
SqlDataAdapter da=new SqlDataAdapter(cmdtext,conn);
DataSet ds=new DataSet();
(ds,"muhustation");
if(["muhustation"].>0)
{="符合"+""+muhustation+""+"的结果有:
28
";urce=["muhustation"].DefaultView;
nd();
}
else
{
="对不起,没有符合你输入的关键字的相关站点,请重新尝试";
}
();
}
建筑物查询,不但用户输入建筑物正确名称可以查询建筑物相关线路信息,而且允许用户输入模糊建筑物名称进行查询。当用户在建筑物查询中输入建筑物名称(字符串)时,系统自动从build表中获取字符串,找到符合该字符串的线路。例如:有人想要去博库书城这地方,但不知道该乘哪路车,那么只要他在周围建筑查询中输入博库书城建筑物的名称,就能得到所有相关的线路(如图5.7和图5.8)。
图5.7 建筑物查询模块
图5.8 建筑物查询结果实现
甚至当用户只记得博库的时候,也能对此进行模糊查询,查询到博库书城的正确名称和所有相关的线路。(如图5.9和图5.10)
图5.9建筑物查询模块
图5.10建筑物查询结果实现
主要代码如下:
29
//模糊查询建筑周围的线路
private void buildingssearch()
{
tring buildings=Session["buildings"].ToString();
SqlConnection conn=new SqlConnection(connstr);
();
string cmdtext="select * from buildings where building like
'%"+buildings+"%'";
SqlDataAdapter da=new SqlDataAdapter(cmdtext,conn);
DataSet ds=new DataSet();
(ds,"buildings");
if(["buildings"].>0)
{
="符合"+""+buildings+""+"的结果有:";
urce=["buildings"].DefaultView;
nd();
}
else
{
="对不起,没有符合你输入的建筑周围的相关线路,请重新尝试";}
();
}
在公交换乘中主要实现直达和一次换乘的方法,用户可以在起点站输入框中输入出发点,然后在终点站输入框输入出行的终点,如果选择直达,系统便会检测这两个站点间是否有直达车,如果有系统便会给出经过这两个站点的直达车的相关信息,比如:早晚班车的工作时间,票价等,同时也会在地图上高亮居中显示这直达车的走向,如果没有直达车,系统会给出相关提示:没有直达车请选择换乘。这时用户便可以选择一次换乘,点击查询按钮,这时系统会检测是否有一次换乘方案,如果有系统会给出所以换乘方案,在每条详细换乘方案后都会有两个功能按钮,一个是计算距离,另一个是地图显示,用户可以点击计算距离来获得本条换乘方案所用路线的距离,也可以点击地图显示,来看到本条换乘方案所用到的路线和它们的走向。如果换乘方案也不存在,系统同样也给出提示让用户用其它的信息重新尝试。
30
系统管理员通过管理员入口输入用户名和密码登入管理员界面,管理员直接可以对属性数据和空间数据进行操作,如删除站点、删除线路、修改站点、添加线路。
第六章 总结
6.1 主要成果
随着信息技术和网络技术的发展.Internet与GIS结合而成的WebGlS以其独到的优势在诸多领域得以应用。鉴于当前公交线路查询中存在的弊端,本系统基于WebGIS的公交线路查询系统.相信能对出行人员对公交查询更灵活方便。
6.2存在问题和今后工作建议
一个应用程序设计开发的好坏,与设计人员对开发工具的掌握程度息息相关。在本系统的开发设计过程中,由于本人对开发工具的掌握有限,可以说整个的开发过程是一边摸索一边实践出来的。但令人高兴的是,通过这样一个边学习边应用的过程,本人完成了公交查询系统的开发工作,并实现了该应用程序背景所要求的功能。但总的来说,程序仍然存在许多不足之处, 在整个开发过程中本人一直本着认真、虚心、刻苦、积极的态度,坚持自己独立完成设计,并基本达到了应用设计的功能要求。希望该系统在日后能够得到不断改进,发挥出它应有的作用。
31
致 谢
在本系统的开发设计过程中,本人得到了父母、指导老师、张行、以及顾建军的大力支持与帮助。感谢吴承健老师在具体设计过程中给予的悉心指导;感谢他们在环境上与时间上的支持;特别是感谢父母在生活上和精神上给予的支持,这是我能够坚持下来的源动力。
再次向所有在本人设计过程中给予过帮助与关怀的所有朋友表示深深的感谢!
32
[参考文献]
[1] 张永梅,韩焱. 城市公交查询系统的研究与设计[J].计算机应用, 2(25),
2005,423-425
[2] 方裕,陈斌,薛巍巍.开放式地理信息系统应用开发平台的理论与实现[J].中国图象图形学报.1998.3(10),858-869.
[3] 萨师煊,王珊.数据系统概论[M].北京.高等教育出版社,1983, 15-18
[4] 李琦,杨超伟.WebGIS研究[J].中国图象图形学报.1999.4(A),102-l06
[5] 曹桂发,傅俏梅.城市交通信息系统的设计研制[J].系统工程理论与实践,1997,(1),105-109.
[6] eme 2004 中国计算机报[J].2004,10(5),6-9.
[7] 孟令奎,史文东,张鹏林. 网络地理信息系统原理与技术[M]. 北京.科学出版社,2002, 32-48.
[8]
刘光明,蔡先华. 一种城市公交查询的算法及其应用[J]. 交通运输工程与
信息学报,2005, 3(2),87-91
[9] 李慧哲.最短路径及其变形问题的算法[J].农机化研究,2005,2(15),64-81
[10] 王炜. 城市交通管理规划方案设计技术[J]. 交通运输工程报,2003,(2),5-17
[11] Michael F. Goodchild. GIScience, Geography, Form, and Process. Annals of
the Association of American Geographers[J], 2004, 94(4), pp. 709–714.
[12] Michael F. Goodchild. GIS and Transportation: Status and Challenges.
GeoInformatica[J], 2000,4(2), pp. 127-139.
33
[13] Transmissia Semiawan and Michael Middleton. Strategic information planning
and campus information systems development in Indonesia[J]. Campus-Wide
Information Systems, 1999, 16(2), pp. 70–76.
34
发布者:admin,转转请注明出处:http://www.yc00.com/news/1706131526a1442490.html
评论列表(0条)