- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GIS网络分析功能实现.doc
GIS网络分析功能的实现摘?要:?网络分析作为GIS的重要功能,在电子导航、交通旅游、城市规划以及电力、通讯等各种管网、管线的布局设计中发挥了重要的作用。随着GIS系统集成应用的不断深入,为了满足用户的应用需求,我们通过二次开发的手段,为一些GIS平台定制了网络分析功能。利用经典的Dijkstra算法,结合GIS数据和平台特点,通过简单的程序设计可以实现复杂的网络分析功能。 ?????????关?键?词:?网络分析;?Dijkstra算法;网络拓扑关系 ?????网络分析作为GIS应用最主要的功能之一,在电子导航、交通旅游、城市规划以及电力、通讯等各种管网、管线的布局设计中发挥了重要的作用。随着计算机及测绘技术的不断发展,地理信息产业得以蓬勃发展,近几年来我中心面向社会的GIS应用开发不断增多,逐渐形成以MapObject和 MapGuide为主流的GIS应用开发体系。MapGuide是Autodesk公司的商业webgis产品,该产品合理的分配了客户机和服务器的运算,实现了矢量数据的直接访问,优良的性能、可扩展性强,是webgis应用的首选产品之一。MapObject是美国ESRI生产的控件式GIS系统,它性能稳定,价格适中,是目前非常流行的GIS系统开发平台。但这两个系统都没有现成的网络分析功能,为了满足用户的应用需求,我们通过二次开发为MapGuide和MapObject分别定制了网络分析功能。 ?????????网络分析中最基本最关键的问题是最短路径问题。最短路径不仅仅指一般地理意义上的距离最短,还可以引申到其他的度量,如时间、费用、线路容量等。相应地,最短路径问题就成为最快路径问题、最低费用问题等。其实,无论是距离最短、时间最快还是费用最低,它们的核心算法都是最短路径算法。 最短路径的求解,必须把现实生活中的道路、管线等各种网络抽象成一种数学结构,这种抽象出来的数学结构被称为网络拓扑结构。于是各种网络分析技术实现的关键在于网络拓扑结构的建立和高效能最短路径算法。下面我们就这两个问题进行深入探讨。 1 最短路径算法 最短路径算法,关键是将一个物理网络结构抽象为一个数学网络结构,再利用数学方法进行求解。 1.1 算法选择 在数学和计算机领域网络被抽象为图,再利用图论的方法计算最短路径。目前提出的基于图论的最短路径的算法大约有17种。经专家测试,其中有3种效果比较好,它们分别是:TQQ、DKA以及DKD。其中TQQ算法的基础是图增长理论;后两种算法则是基于Dijkstra的算法。Dijkstra算法是经典的最短路径算法,目前多数系统解决最短路径问题采用了Dijkstra算法为理论基础,只是不同系统对Dijkstra算法采用了不同的实现方法。 1.2 经典Dijkstra算法的主要思想Dijkstra算法的基本思路是:将顶点分成两个集合S和T,已求出最短路的点置于S中,其它点置于T中。开始时S中仅含起点vs,其它点全在T中,随着求最短路迭代工作的进行,S中的点逐渐增多,当终点vt也被纳入S中时,迭代结束。为了便于计算和区分各顶点是否已进入集合S,给已求出到起点最短路的点vk赋以标号。这?个标号由两部分组成,记为(d(vs,vk),i)其中i为vk到起点最短路上的前点,d(vs,vk为从起点vs到vk的最短路长。因每个标号含有两部分,故称为双标号法。最短路径算法的基本过程如下:(1)给始点vs赋以标号(0,s),并置vs于置,其它顶点于集合T中。 (2)对图G里起点在S中终点在T中的边ei,计算: d(vs,vk)=mim{d(vs,vi)+minj[Wij]|vi∈s,vj∈T}并将vk置于S中,同时赋给它标号(d(vs?vk),i)。 (3)重复步骤(2),当vt∈S时计算结束vt的第一个标号给出vs→vt的最短路长;利用第 二个标号反向追踪,可得最短路径。 2 网络拓扑关系的获取与高效访问 要想用计算机程序实现Dijkstra算法,关键技术是用什么样的方式抽象出网络拓扑结构,及节点与节点的连通关系,并对网络拓扑结构进行高效能访问。 2.1 拓扑关系的获取 GIS中的数据(如道路、管网、水系等)要进行最短路径的计算,就必须首先将其按结点和边的关系抽象为图的结构,这在GIS中称为构建网络的拓扑关系。只有建立了拓扑关系,我们才能进行网络路径分析。GIS数据通常是图形数据和属性数据的有机集合。在ARC/INFO下利用命令CLEAN对道路网数据构建网络拓扑,我们可以看到属 性表,其属性数据中包括_Fnode?(起点)和_Tnode(终点)两个属性项。该属性表中包含了一个完备的网络拓扑关系,即记录了该图拥有多少个节点,又记录了节点与节点的连通关系,不同的_Fnode、_Tnode标号代表不同的节点
原创力文档


文档评论(0)