资源描述
毕 业 设 计 论 文题目:基于GIS的平顶山市公交线路最优路径运算研究25 摘 要城市的发展日新月异,许多新建小区大量出现,公交线路也日渐增多,给人们的出行带来了极大便利,但是由于城市规模的不断发展,给人们选择出行乘车线路造成一定的困难,特别是在旅游城市,游客在乘公交车时选择线路比较困难,因此,开发智能化的城市公交信息查询系统非常必要,它不仅可以给市民游客的乘车提供向导,同时可以对外展现城市的现代风貌,体现出一个城市公交信息数字化和信息化的发展水平。基于 GIS的空间数据库技术, 可以对公交实体要素进行详细表述, 为精确计算换乘延误提供了可能。以平顶山市公交系统为实例研究对象, 建立了基于 GIS的公交网络数据库, 应用可行的基于换乘次数最少的最优路径算法, 在 ArcGIS中实现了任意两点间的最优路径查询。 关键字: 公交网络; 最短路径算法; 数据模型; 公交换乘; ArcGIS河南城建学院本科毕业设计(论文) Abstract AbstractThe city development changes with each new day, many newly built plots massive appearances, the public transportation line also day after day increases. Went on a journey for the people has brought the enormous convenience, but as a result of the city scale unceasing development, chooses for the people goes on a journey rides in a carriage the line to cause the certain difficulty, specially in the traveling city, the tourist is riding the public transportation vehicle hour choice line quite to be difficult. Therefore, the development intellectualization city public transportation information inquiry system is extremely essential. It not only may give the resident the tourist to ride in a carriage provides the guide, at the same time may foreign unfold the city the modern style, manifests a city public transportation information digitization and the becoming an information based society level of development.Based on GIS spatial database technology, transit features can be represented in detail , which providespossibility for precisely evaluating transfer impedance. Taking Wuhan transit system as an example, a prototype transitnetwork database is constructed based on GIS. With special considerations on travel and transfer distance, an improvedoptimizing algorithmfor transit travel is developed in ArcGIS.Key words : transit network; optimal route algorithm; data model; transit transfer; ArcGIS河南城建学院本科毕业设计(论文) 目录 目 录1绪论11.1本课题的目的及研究意义21.1.1研究目的21.1.2研究意义21.2本课题的国内外研究现状31.2.1国外研究现状31.2.2国内研究现状32地理信息系统工程的一般开发方式42.1概述42.2设计模式42.2.1结构化设计模式42.2.2现代的原型化设计模式52.3系统设计52.3.1功能设计52.3.2数据库设计62.3.3程序设计62.3.4程序的运行与调试73平顶山市公共交通系统73.1概述73.2平顶山市GIS公交网络数据库83.2.1数据库平台83.2.2数据库表设计83.2.3数据采集103.2.4数据库构建103.3基于最少换乘的最优路径算法思想124主要模块设计及实现134.1两点间距离的测量134.2最优路径算法模块144.3系统实现165总结与展望17致 谢19参考文献19河南城建学院本科毕业设计(论文) 1 绪论 1 绪论城市公交系统是与城市居民日常生活联系最为紧密的环节之一,甚至在一定程度上决定着城市居民的生活方式, 因而,时下众多城市的电子地图产品都把实现公交网络最优路径查询作为其重中之重,以期使电子地图能够更好地满足用户的需求,但其离最优还有很大的差距。经过调查研究发现,存在这一差距的主要原因是电子地图软件的开发者与用户双方对公交最优路径的理解有着明显的分歧。一方面, 软件开发者认为,公交网络最优路径分析同其他网络分析一样,也应该是以最短为基础的; 另一方面, 多数用户认为,最少换乘才是关键问题。这两者看似统一,但其实不然,因绝大多数城市公交网络中的站点是依据客流量的大小而设计的, 还有一些是源于政治和历史的原因而形成的, 因而即使把最短路径求得再快再好, 建立于其上的最优乘车方案往往会为达到最短而增加换车次数。当然,不排除一些最短路径虽然换乘次数较多,但由于中途等待的时间很短反而能更快地到达的情况。本文主要就基于最优路径展开讨论1.1 本课题的目的及研究意义 1.1.1 研究目的 随着城市经济的发展, 城市的公交路网也不断地扩展, 为了便于管理这些公交信息, 同时也为了方便公交乘客的出行, 开发了城市公交信息管理系统。该系统不但可以方便地查询到城市的公交站点、道路和公交线路, 其中最重要的一个功能是在乘客给出起点和终点后, 自动计算出最优的乘车路线, 设计出合理而有效的算法, 而且可以在一定程度上, 使公交客流分配更加合理。利用GIS 地理分析的特性, 提出了一种较为简单的公交路网的描述方法。同时, 设计了合乎乘客心理的最优路线判断标准, 并在此基础上, 设计了基于公交路线的双向搜索最短路算法, 该算法与现有的基于公交站点最短路算法相比, 大大地减少了计算时间。1.1.2 研究意义 利用GIS 地理分析的特性, 提出了一种较为简单的公交路网的描述方法。同时, 设计了合乎乘客心理的最优路线判断标准, 并在此基础上, 设计了基于公交路线的双向搜索最短路算法, 该算法与现有的基于公交站点最短路算法相比, 大大地减少了计算时间1.2 本课题的国内外研究现状 1.2.1 国外研究现状 国外分析了现有公交出行最佳路径算法,并针对现有算法不完善的地方,根据乘客的出行心理,利用GIS的空间分析功能,提出了一种基于最小交通阻抗的公交出行最佳路径算法。首先根据城市公共交通网络的特点抽象出合理的公交网络模型,建立了此网络的拓扑关系,并用有效的数据结构存储此公交网络图;然后根据乘客的出行特点确定了合理的交通阻抗函数;为了进一步提高搜索效率设定了节点限制搜索区域;最后对算法的仿真实现证明了此算法的可行性和有效性。1.2.2 国内研究现状我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,为了解决这种问题,加快发展城市公交信息化,设计一个城市公交查询系统是具有一定实际应用意义的。在此背景下,我运用GIS语言开发了一个城市公交查询系统。本论文首先考虑了公交运营的实际情况和不同公交乘客的实际要求,分析了此系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述,其中主要包括查询模块和管理更新模块,最后结合系统开发阶段和调试阶段发现的问题,提出了系统需要完善的地方,总结了开发此系统所取得的经验和体会。本系统采用简单灵活的GIS语言,并结合简单灵活的SQL数据库,提供用户一个完全开放的查询平台。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了公交信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。河南城建学院本科毕业设计(论文) 2 地理信息系统工程的一般开发方式 2 地理信息系统工程的一般开发方式2.1 概述地理信息系统工程是应用系统原理和方法,针对特定的实际应用目的和要求,统筹设计、优化、建设、评价、维护实用地理信息系统的全部过程。它最基本的原理就是系统工程原理,即从系统的观点出发,立足于整体,统筹全局,同时又将系统分析和系统综合有机地结合起来,采用定量的或定性与定量相结合的方法,提供合理的地理信息系统建设思路和模式。地理信息系统工程开发设计的主要内容包括确定系统目标、进行系统分析和系统设计、系统实施、系统维护和评价等工作。为了加强系统的实用性,降低系统开发和应用的成本,提高系统的生命周期,采用先进的系统设计方法和合理的设计路线是十分重要的。2.2 设计模式2.2.1 结构化设计模式地理信息系统设计方法,起源于比较成熟的信息系统技术,在应用中采用了结构化分析和设计原理。所谓结构化就是有组织、有计划和有规律的一种安排。结构化系统设计方法,就是利用一般系统工程分析法和有关结构概念,把它们应用于地理信息系统的设计,采取自上而下、划分模块、逐步求精的一种系统分析方法。结构化系统设计模式主要有以下四个主要阶段:(1)通过访问用户,调查用户需求和数据源,确定系统的目的、要求、和规定,从而分清任务的执行顺序。(2)描述和评论与系统设计过程有关的资源和限定因素,例如现有的硬件、软件和有关的政治和法律因素等,明确任务的执行条件和分支机构。(3)说明和评价说拟定的不同系统,重复执行某项任务,直到定义的条件满足系统所规定的要求。(4)对拟定的系统做最后的评价,从中选择最合理的系统运行方式和方法。该模式的主要特点是强调对用户的调查和系统功能需求的分析。在系统设计的各个阶段都要写成有关的文件,以便进行评价,并考虑用户要参与系统的设计,以免系统设计的失误。结构化设计中最重要也是最流行的方法是自上而下、逐步精化的顺序设计方法。该方法将系统描述分为若干层次,最高层次描述系统的总体功能,其他层次则一层比一层更加精细、更加具体地描述系统功能,直到分解为程序设计语言地语句。这种方法的特点是结构描述比较清晰,便于掌握系统全貌,也可逐步细化为程序语句,是一种很有效的设计方法。2.2.2 现代的原型化设计模式自结构化系统设计模式应用于地理信息系统设计以来,其设计思想已经有了很大的发展。原来的设计模式是假定系统的大部分组成(除了硬件以外,包括所有的软件和数据库等)都需要由系统设计人员来完成,有时甚至包括处理空间数据的某个专门的硬件。现在的情况不同了,市场上不但有很多的处理空间数据的软件,而且有现成的系统和空间数据库。因此,需要对原来的地理信息系统设计模式进行修改,其主要设计思想是强调对现有的各个组成部分,包括硬件、软件、数据库等进行认真的评价,以研究其满足系统功能的程度,保证所设计系统的实用性、可靠性和数据处理的有效性以及使用周期等要求。该模式采用了管理信息系统和软件工程的一些设计理论。地理信息系统的设计人员,为了适应新技术的发展和变化的要求,对传统设计方法中的原型法(Prototype Method)进行了研究和发展,使之更能适合于地理信息系统的设计工作。这种设计思想要求在系统建设的早期阶段,生成一个实实在在的系统原型,然后将该原型提供给用户使用,听取用户的意见,根据反馈信息修正系统原型,补充新的数据、数据结构、和应用模型,再提供给用户使用。这样,在系统设计过程中,包含一个再设计的过程。这种方法的特点是不需要一开始就清楚地描述一切,而是在明确任务后,在设计过程中逐步地对系统进行定义和改造,直至系统完成,这是一种动态的设计技术。2.3 系统设计由于系统目标的不同以及所用数据的性质和系统功能的不同,地理信息系统设计的内容也有很大差异。系统设计的任务是将系统分析阶段提出的逻辑模型转化为相应的物理模型。一般而言,在系统设计阶段,根据所研究对象的不同,可分为三个部分进行设计。首先应根据系统目标,确定系统必须具备的空间操作功能,称为功能设计或系统的总体设计;其次是对数据分类和编码的处理,完成空间数据的存储和管理,称为数据库设计,包括数据采集、数据库结构设计、数据库存储和检索设计等;最后是建立系统的应用模型和产品的输出,成为应用设计。2.3.1 功能设计一个信息系统有无生命力,主要看系统对事务的处理是否满足应用要求,即系统应具有的功能以及这些功能处理事务的能力。因此,功能设计或总体设计的主要任务是根据系统研制的目标来规划系统的规模和确定系统的各个组成部分,并说明它们在整个系统中的作用与相互的关系,以及系统的软硬件配置、采用的技术规范等,以保证系统总体目标的实现。2.3.2 数据库设计数据库是地理信息系统的核心组成部分。根据不用的应用,数据库的数据组织会有各种各样的组织形式。数据库设计就是把现实世界中一定范围的存在抽象成一个数据库的具体结构的过程。具体讲,就是对于给定的应用环境,提供确定最优数据模型与处理模式的逻辑设计以及确定数据库存储结构与存取方法的物理设计,建立能够反映现实世界信息和信息联系的、满足用户要求的、能被数据库管理系统(DBMS)所接受的、同时能实现系统目标并有效存取数据的数据库。2.3.3 程序设计程序编制的依据是系统分析与设计阶段产生的过程结构图、程序伪码、决策树、判断表、程序说明书和流程图等,根据以上资料和统一选择的程序语言进行程序设计。一般来说,应将不同的处理细分为多个大小不等的处理模块,这些处理模块或相当于程序,或相当于子程序。由于编制程序的需要,有时也可能将处理模块进行分解和组合,分解和组合的主要依据是功能和语句的多少,要求功能单一,语句适中。在编程中,注意做到一个上级程序模块不应调用过多的下级程序模块,一个下级程序模块应能被多个上级模块所调用。结构化程序设计是近年来发展的编程新方法。这种方法建立在模块化基础上,使程序具有更好的结构性和逻辑性,这种方法提高了程序结构的合理性和质量。传统的编程方法依赖程序员的技巧和熟练程度,程序没有一定的规律可循,往往几个 GOTO 语句就失去控制或造成逻辑上的混乱。而结构化程序设计遵循一定的模块划分的规律,程序划分为多个模块,模块功能容易辨认,程序的可读性强,减少或杜绝了 GOTO 语句的使用,程序模块间留有简单的接口关系,使程序便于检查、修改和维护。在系统设计时,采用结构化系统设计方法所绘制的过程结构图可以看做是程序模块图,在此基础上编写的伪码就是程序结构(相当于程序框图),程序员根据伪码和有关资料,就可以直接转换为结构化程序。因此,结构化程序设计是结构化系统分析和设计的一个重要组成部分。任何结构化程序都可由顺序结构、循环结构和条件结构等三种基本逻辑结构组成,其中顺序结构又是最基本的,也可以用它代表其它两种基本结构。在条件结构的基础上,还可以扩展出多元条件的辅助结构等。2.3.4 程序的运行与调试程序的编制与调试是一个事物的两个方面。编制程序是为了使计算机按照规定的内容进行工作,调试是检验程序的正确程度,两者相辅相成。编制一个一般程序,调试工作占整个程序编制工作量的二分之一。若在调试阶段和维护阶段发现同一错误,则改正该错误所花费的相对代价是 1:80。任何程序不可能一次通过,必须反复调试,反复修改,直到满意为止。对于大型程序应该分块调试。若是几个人合编的程序则要采用先分调后联调的办法,这种方法能够缩小范围,便于发现问题,修正错误。对于互相有关的不同程序,也要进行分调和联调,以保证程序的质量。在程序调试中,一般可将少量假数据输入程序,进行验证。这种方法是行之有效的。调试数据应符合下列要求:(1)为了测试不同的功能,调试数据应满足多方面的要求。要根据所需具有的功能来确定调试数据的种类,保证程序的各个部分都能得到完整的检查。(2)调试数据要满足上、下限和循环重复次数的要求。(3)要有一定量的错误数据,以便能够检验能否正确执行出错处理。(4)数据之间的关系应符合程序要求。在各子系统分调基础上进行系统的联调,通过主控程序和调度程序检测来往的通路和参数传递的正确性,发现和解决资源调度中的问题,保证系统运行的正确性和有效性。河南城建学院本科毕业设计(论文) 3 平顶山市公共公交系统 3 平顶山市公共交通系统3.1 概述平顶山市公共交通已初步形成了市场经济条件下以公共汽车为主, 出租车和小公共汽车为辅,电动三轮为补充的综合运输体系, 公交服务水平和舒适度不断提高, 满足了不同层次乘客出行的需要。常规公交仍是平顶山市公共交通的主体, 承担了72%的公交客流。作为公共交通辅助的出租车和小公共汽车, 分别承担了公共交通客运量的 21.5%和6.1%。电动三轮作为武汉市公共交通的补充部分, 也承担了公共交通客运量的 0.40%。3.2 平顶山市GIS公交网络数据库3.2.1 数据库平台ArcGIS很大的一个优点是可以使用任何格式的 GIS 数据, 并且可以同时访问多个数据库和文件, 支持基于文件的空间数据类型和基于数据库的空间数据类型。 ArcGIS中的空间信息是基于标准设计的, 通过定义和使用这些空间数据模型的行为,可以作为多种应用的基础, 也可以和其他程序很好地共享。 这样 ArcGIS为几乎所有的 GIS应用提供了很好的平台。3.2.2 数据库表设计数据库表是系统的一个重要部分,在每个地图图层的生成过程中,MapInfo自动为每个图层建立一张与之相关的数据库表。MapInfo 对地图图层的处理,实际上是对地图图层所对应数据库表的处理。系统中用到的数据库表有航班表、铁路表、长途汽车表、市公汽车次数据库表、市公汽站点数据库表、市公汽站点附近信息数据库表、大专院校表、政府机关表、风景点表、体育场所表、医院表、街道表和其它信息表等等。MapInfo 数据库表在工作空间文件中对应的是相应的地图对象,这些地图对象的类型可以是点对象、衣示数据的单一位置)、线对象(覆盖给定距离的开放对象)、区域对象(覆盖给定面积的封闭对象)或者是文本对象(描述地图或其他对象的文本)。一幅完整的地图由多个地图图层组成,每一地图图层是具有相同类型对象的组合。所以,与地图图层相关联的数据库表是系统的一个重要部分。对地图窗口中的某一地名查询、修改、增加和删除时,其实是对地图对象的查询、修改、增加和删除。市公汽车次数据库表包括车次名称、车次号、车次类型、经过站点数量、出发时间、到站时间等字段。市公汽站点数据库表包括车次号、站点名称、站点号、发车时间、某车次中间站顺序号、附近居民区个数。市公汽站点附近信息数据库表包括站点名称、居民区名称、医院名称、风景点名称、著名建筑物名称、所属路段名称等字段。选取车次号将市公汽车次数据库表和市公汽站点数据库表联系起来,选取站点名称将市公汽站点数据库表和市公汽站点附近信息数据库表联系起来。这样,既可以体现出它们是同一个主题,又可以进行进一步的挖掘。在建立站点的过程中,必须考虑求最短路径时,要涉及到站点,涉及到任意两点间的距离,因此必须为任意相连的两个站点赋一个值来表示两点间的距离。另外,在求任意两点距离时,要用到数组。所以需要为每个站点赋一个索引号。为了能在地图上绘制路径,必须为地图上的站点赋以坐标。同时要考虑到可能出现钓情况,即可能出现一个站点同时在两路或更多车次中。在设置和上个站点间的距离 distance 字段时,每路车的第一站为 10000,表示它前面没有站点。市公汽车次数据库表、市公汽站点数据库表、市公汽站点附近信息数据库表等表均存放在 MapInfo 工作空间文件中。工作空间是当前正使用的所有表和窗口的列表,它记录了己打开的所有窗口、窗口大小和它们在屏幕上的位置、专题地图、装饰对象、标注和字体、符号样式、线的样式以及用来显示对象的填充地图等。工作空间给用户带来极大的便利,用户可以尽快地返回上次停止处进行工作而省去打开多张表的操作。基本的数据格式如下公交线路的数据格式:线路标识所属公司线路段号起点位置终点位置公交站点的数据格式站点标识站点名称线路段号线路位置城市道理的数据格式道路标识道路段号线路标识站点标识小区标识站点附近信息数据信息名称地理位置小区标识道路段号属性信息3.2.3 数据采集在 GIS中向数据库添加数据有两种基本方法:一是图形手工数字化操作, 同时建立实体关系; 二是直接将已有数字化成果导入数据库, 再手工建立实体间关系。本文在构建平顶山市公交网络数据库时同时使用了这两种方法, 将已有基础道路网图形的数字化成果直接导入到 ArcGIS中, 然后以此为参照对站点和线路进行手工数字化。根据多层次公交网络模型的定义, 构建平顶山市公共交通网络时需要采集的空间要素为: 线路( 线段)、 站点( 结点) 和线路段( 线段)。站点的空间位置参考实际调研和平顶山市 “ 站点线路表” 确定; 线路按照实际运行轨迹以道路中心线为参照手工绘制。线路段的数据输入工作量较大, 按照公交线路以站点为结点构建, 由于一个站点有多条非重复公交线路经过, 因此站点之间的若干条线路段会存在部分的重叠。3.2.4 数据库构建完成了公交网络要素的数据采集,按照多层次公交网络数据模型的概念定义, 可以分别构建虚拟层次和有向层次的平顶山市公交网络数据库, 如图1、 图 2图1图23.3 基于最少换乘的最优路径算法思想算法的基本思想:如图1 所示, 在查询从站点1到站点 2 的最优路径的过程中, 首先看二者之间是否可以直达,如果是, 则直接进入最后一步,按照路线距离进行排序,给出其中最短的几条线路供用户选择;如果不是,则查询站点1 所能直达的所有站点和能直达站点2 的所有站点,对这两个集合求取交集, 如果存在交集, 则结束迭代,进入最后一步按路线总距离进行排序,否则,仍然继续迭代,求取从站点 1 必须经过 1 次换乘才能够到达的站点集合( 涉及集合差与并) , 与能够直达2的所有站点集合求交, 从而得到必须换乘两次才能到达的乘车方案。交集非空, 则结束迭代,进入最后一步; 否则,继续迭代, 直到找到乘车方案为止。显然,这一基于 图论的算法包含了众多的集合运算。对该算法的实现有两种途径可供选择, 一是采用主存数据结构, 实现集合的快速运算,其中包括快速查找、 索引支持以及集合运算等一系列算法;二是直接利用现存商业数据库已有的在集合运算方面的优秀性能。对于前者,曾经采用基于 ST L( 标准模板库) 的算法予以了实现。在为这个算法作进一步改进的过程中,尝试了第二种选择,结果表明,其在平顶山公交网络查询系统中的效率和稳定性明显更进了一步。 图1 算法思想河南城建学院本科毕业设计(论文) 4 主要模块设计与实现 4 主要模块设计及实现4.1 两点间距离的测量该模块功能是测量地图两点之间的距离。为了给用户一个“所见即所得”的效果,即看到从开始点到鼠标的当前位置有一条连线,而且随着鼠标的移动,这条连线动态地变化。该方法通过不断地画从开始点到鼠标的当前位置有的连线,并擦除以前画的线。为了不影响其它图形的显示,采用了图形画法中的异或画法实现。设置异或画法用属性 Pen.mode,其格式为 Pen.mode:=pmXORo 测量距离的步骤为:(1) 当用户按下鼠标时,开始测量,并记下起始点的位置。该功能在OnMouseDown 函数中实现,语句如下:Pressed:=true;Canvas.moveto(x,y);ox:=x; oy.=Y;xo=x; Yi:=y;(2)当用户移动鼠标时,开始画线,该功能在 OniIouseMove 函数中实现,语句如下:Canvas.Polyline(Canvas.Penpos,Point(ox,oy);Canvas.Polyline(Canvas.Penpos,Point(x,y);(3)当用户释放鼠标时,结束测量,并给出结果。该功能在 OnMouseUp 函数中实现,语句如下:Pressed:=false;disp:=sqrt(sqr(x- x,)+ sqr(y- y,)显示 disp 的值。4.2 最优路径算法模块启动 VC+6.0 建立一个基于对话框的 Road 工程,按照程序流程图在 CRoadDlg 中添加 void CRoadDlg:CheckWhetherInTheSameTruck()函数,加入如下代码:int i,j;CString temp(“”);m_Result=“”;int num =0;check =false;/如果能直达则值为 true,否则为 falsefor( i=0; i<BeginName.m_Result; i + +)for(j=O;j<EndName.m_Result; j + +)if(strcmp)BeginName.m_TruckNamei,EndName.m_TruckNamej)= =0)WayLongnum=abs(BeginName.m_IndexNamei-EndName.m_IndexNamej);Waynum.Format(“所乘的车是:%S 共%d 站rn”,BeginName.m_TruckNamei,abs(BeginName.m_IndexNamei-EndName.m_IndexNamej);If(BeginName.m_IndexNamei>EndName.m_IndexNamej)For(int k=BeginName.m_IndexNamei;k>=EndName.m_Index-Namej; k- -)if(k= = EndName.m_IndexNamej)temp.Format(“%s”,AllRoadBeginName.m_IndexRoadi.namek);else temp.Format(“%s-”,AllRoadBeginName.m_IndexRoadi.namek);Way num + =temp;Elsefor(int I=BeginName.m_IndexNamei;I<=EndName.m_IndexNamej; I+ + )if(I= =EndName.m_IndexNamej)temp.Format(“%s", AllRoadBeginName.m_IndexRoadi.nameI);else temp.Format(“%s -”,AllRoadBeginName.m_IndexRoadi.nameI);Waynum + =temp;check =true;num + +;CheckWay + +;if(check) ChoseShortestWay();else SecondCheck();先将最后一句“else SecondCheck ( ); "屏蔽掉,并在 CRoadDlg 中添加 void CHoadDlg: ChoseShortestWay()加入如下代码:int Waylndex=WayLong0;int num =1;CString temp(“”);for(int s =0; s <CheckWay-1;s + +)if ( Waylndex>WayLong s+1)Waylndex = WayLong s+1;/遍历所有的路线长度找出最短的长度m_Result.Format(“共经过%d 站rn", WayIndex);for(s=0; s<CheckWay; s+ +)if(WayIndex= = WayLongs)/如果是最短的则打印temp.Format(“方法%d: %srnrn”, num + +,Ways);m_Result + =temp;UpdateData(false);上述代码是对所选的乘车方案进行优化,输入按车站数最少的一项。4.3 系统实现通过编程实现后,系统总界面见下图河南城建学院本科毕业设计(论文) 5 总结与展望 5 总结与展望总结本文以平顶山公交系统为实例, 研究在已有公交网络数据库的基础上, 以空间距离最短为目标得到最优路径再计算可行的换乘方案, 选择出换乘次数最少的最优出行路径。虽然与将换乘次数最少作为公交最优路径选择首要目标的方法相比, 不是最科学合理的, 但在城市主要公交换乘枢纽的设置和公交线网的优化中具有重要意义。本论文按照一般地理信息系统工程开发方式, 以平顶山市公交网络为研究对象,对公交线路和公交站点进行合理的抽象,最后建立了用虚拟网络表示的公交网络模型,然后分析了传统 Dijkstra 算法的弊端,在模型的基础上研究了一种可行的公交网络最短路径查询算法。通过对以上问题的系统研究,本论文得出以下结论:(1)传统的 Dijkstra 算法由于数据结构复杂、算法时间长和公交转车中的特殊性等原因,此算法并不适合公交线路最短路径查询。(2)传统的公交网络最优路径查询算法往往先求出发地和目的地之间的最短路径,再考虑在这个路径上的换乘方案。这可能导致换乘的次数过多而使出行的时间和费用增加,不符合人们出行的习惯。而基于换乘次数最少的查询算法是一种较为符合实际情况的算法。(3)传统的公交网络最优路径查询算法在计算转乘方案时往往忽视了人们在换车时可能步行一段距离到转乘点,以紧邻站点来表示这种转乘的情况能较为有效地解决问题。本文编程实现了设计的查询功能,基本解决了乘客在乘公交车时选择线路困难的问题。它不仅可以给市民游客的乘车提供向导,同时可以对外展现平顶山的现代风貌,体现出一个旅游城市公交信息数字化和信息化的发展水平。展望本文由于受资料、时间及个人水平有限,对于一些问题还未来得及探讨或需进一步研究,希望在以后能得以解决。(1)最优路径算法的改进。本文探讨了基于换乘次数最少的最优路径算法,这种算法存在着一些问题:第一,算法的效率随换乘次数的增加而急剧下降,特别是需要搜索紧邻站点时。第二,算法中仅考虑了换乘次数(包含票价)和行程这两个因素,对于现实生活中影响乘车方案的其它因素,如道路阻塞程度、公共汽车发车间隔、公共汽车舒适程度等未加以考虑。以上问题都是本文算法需要改进的地方。(2)数据动态更新和实时查询的实现。本文所研究和实现的查询系统是一个静态的系统,数据如果发生了变更或新增数据就可能需要重新进行预处理或重新定义数据表,如城市公交线路的新增和改线,原先定义的属性信息要扩展等。因此本查询系统还需要在系统功能上进一步完善以适应数据的动态更新以及在动态更新的基础上实现实时查询。(3)系统功能的完善。本系统仅实现了城市公交网络最优路径的查询,对于人们想了解的城市公交其它信息未能提供。希望在以后把本系统的功能进一步扩充,完善成一个城市公交综合查询系统。(4)实现在 Internet 上发布。本系统若要为广大公交出行者服务,就必须以 WebGIS 的形式在 Internet 上发布,使每个人都能方便、快捷的查询城市公交信息。河南城建学院本科毕业设计(论文) 致谢 致 谢本论文是在导师的悉心指导下完成的。在本论文的写作过程中,我的导师倾注了大量的心血,从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢。导师敏锐的科学眼光、严谨的治学态度、渊博的知识、不断开拓进取的精神,使我受益匪浅,也必将影响我的一生,并将激励我终身向上。特别要感谢导师对我的支持,帮助我今后的发展。在此论文完成之际,谨向导师及其家人表示衷心的感谢和深深的祝福。感谢我的家人,他(她)们的爱是我永恒的幸福源泉。他(她)们给予我无尽的爱,是我不断前进的动力,使我克服困难完成学业。感谢各位评委在百忙之中抽出时间来评审和参加答辩的专家和评委们,你们辛苦了!由于时间仓促,本人水平有限,论文中难免有不当和疏漏之处,热切期待各位老师进行批评指正。写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。河南城建学院本科毕业设计(论文) 参考文献 参考文献1 韩鹏,王泉,王鹏,漆伟,乌萌.地理信息系统开发ArcEngine方法M.武汉:武汉大学出版社,2008.2 龚沛曾,杨志强,陆慰民.Visual Basic程序设计教程(第3版)M.北京:高等教育出版社,2007.3 王占全,赵斯思,徐慧.地理信息系统开发工程案例精选M.北京:高等教育出版社,2010.4 王海梅,周献中. 网络系统中的最短路径分析及其应用研究J. 兵工学报, 2006,(03) .5 王建宇,许震洪,周献中. 基于数字地图的多属性最优路径问题的算法研究J. 测绘信息与工程, 2003,(04) .7 徐立华. 求解最短路问题的一个计算机算法J. 系统工程, 1989,(05) .8 徐琼,陈荣清,官云兰,陶国强. 基于遗传算法最短路径问题的探讨J. 华东地质学院学报, 2003,(02) .9 赵伟华,章复嘉,梁红兵. 车辆导航系统最优路径规划的研究与实现J. 杭州电子工业学院学报, 2003,(01) .10汤国安、赵牡丹.地理信息系统.科学出版社 200011 罗跃军、李霖、朱敦尧、郑莉.车辆导航系统中最短路径计算的数据模型.昆明理工大学学报 2004陈述彭.城市化与城市地理信息系统.12 刘春、刘大杰.GIS 的应用及研究热点探讨.现代测绘 2003,613 张新长、曾广鸿、张青年.城市地理信息系统.科学出版社 200114 张广莹、张广宇、黄昊.地理信息系统在智能交通系统中的应用.自动化技术与应用 200115 方裕.地理信息系统(GIS)的技术与发展.计算机与通信,1999,7:1416 邬伦等.地理信息系统原理、方法和应用.北京:科学出版社,2001,217 李季涛、杨俊锋. 基于 GIS 的公交网络模型及其在公交线路查询中的应用.大连铁道学院学报 200418 陈箫枫、蔡秀云、唐德强最短路径算法分析及其在公交查询的应用.工程图学学报 200119 刘光明、蔡先华、苗聪.一种城市公交查询的算法及其应用.交通运输工程与信息学报 2005.6
展开阅读全文