GIS工程与应用报告-最佳路径.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GIS工程与应用报告-最佳路径

《GIS工程与应用》 课 程 实 验 报 告 项目名称: 最佳路径 小组成员: 学生学号: 2009070,2009 20090 指导教师: 完成日期: 2013-1-2 背景 最短最优化路径问题是一个重要的问题,也是地理信息系统、通信、物流管理、计算机科学等领域的研究热点。目前,国内外学者对此问题进行了大量的研究,在这些研究成果中,绝大部分都是基于静态网络的,也就是说路径寻优中网络弧段的权值是固定不变的,然而实际生活中的很多问题,其网络弧段的权值是随时间变化的,比如道路交通网络和通信网络。本文主要基于地理信息系统GIS,对校园网络中的两点之间的最短最优化路径进行实现。 意义 近几十年来,静态网络最短路径算法已经得到充足的发展,但在现实生活中很多应用领域如110报警、119火警、医疗救护等,都需要尽快获得到达目得地的最快路径,以便处理突发事故。相对于静态最短路径算法而言,基于GIS的时变最短路径成果还很少,时变最短路径算法能与全球定位系统、GIS和ITS技结合在一起,综合每条道路不同时段的不同路况,找出最短最优的路径。本文就最简单最基本的校园两点之间的最短最优化路径,做了几个简单的功能实现。 三、系统功能 输入N(N10)个校园出发点,每两个地点之间有对应的距离和费时(可以不能到达),要求实现如下程序: a)给出任意两个校园出发点之间的最短距离,及其到达方式; b)给出任意两个校园出发点之间的最少用时,及其到达方式; c)权衡距离和费用,给出任意两个城市之间的最优路径,及其到达方式; PS:1. 距离矩阵和费用矩阵由同学自己给出; 2. 题 c)的最优路径由自己定义。 四.算法设计 欲求得每一对顶点之间的最短路径,解决这一问题的办法是采用弗洛伊德算法。 弗洛伊德算法仍从图的带权邻接矩阵出发,其主要思想是:设集合S的初始状态为空集合,然后依次向集合S中加入顶点V0,V1,V2,…,Vn-1,每次加入一个顶点,我们用二维数组D保存每一对顶点之间的最短路径的长度,其中,D[i][j]存放从顶点Vi到Vj的最短路径的长度。在算法执行中,D[i][j]被定义为:从Vi到Vj的中间只经过S中的顶点的所有可能的路径中最短路径的长度(如果从Vi到Vj中间只经过S中的顶点当前没有路径相通,那么d[i][j]为一个大值MaxNum)。即d[i][j]中保存的是从Vi到Vj的“当前最短路径”的长度。每次加入一个新的顶点,Vi和Vj之间可能有新的路径产生,将它和已经得到的从Vi到Vj的最短路径相比较,d[i][j]的值可能需要不断修正,当S=V时,d[i][j]的值就是从Vi到Vj的最短路径。 因为初始状态下集合S为空集合,所以初始化D[i][j]=A[i][j](A[i][j]是图的邻接矩阵)的值是从Vi直接邻接到Vj,中间不经过任何顶点的最短路径。当S中增加了顶点V0,那么D(0)[i][j]的值应该是从Vi到Vj,中间只允许经过v0的当前最短路径的长度。为了做到这一点,只需对D(0)[i][j]作如下修改: D(0)[i][j]=min{D[i][j],D[i][0]+D[0][j]} 一般情况下,如果D(k-1)[i][j]是从Vi到Vj,中间只允许经过{ V0,V1,V2,…,Vk-1}的当前最短路径的长度,那么,当S中加进了Vk,则应该对D进行修改如下: D(k)[i][j]=min{D(k-1)[i][j],D(k-1)[i][k]+D(k-1)[k][j]} 五.概要设计 1.数据结构 二维数组来表示邻接矩阵,数组中存储元素表示邻接点之间的距离,或费时。 2.抽象数据类型 有向图 3.函数接口 Void main() 主函数 Void Dispmat() 输出邻接矩阵函数 Void Floyed() 计算最短路径函数 Void Dispath() 输出最短路径函数 六.详细设计 Main 函数的流程图如下: DispMat(MGraph g) 函数流程图如下: Dispath(double A[][MAXV],int path[][MAXV],int n)函数流程图如下: Floyd(MGraph g)函数流程图如下: 七.运行结果显示 首先请输入校园出发点个数和弧数(整型数据):4 8。 1.下面计算任意两个出发点之间的最短距离: 2.下面计算任意两个校园出发点之间的最少用时: 3.权衡距离和时间,给出任意两个校园出发点之间的最优路径,及其到达方式。此时定义最短路径为两邻接点之间的距离乘以a0与两邻接点之间的费用乘以b0的和. 六.附件 附有源程序如下: #includestdio.h #defin

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档