科学网

 找回密码
  注册

tag 标签: 最短路径

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

原来拼音转汉字的算法和导航中最短路径算法是相同的
byunix 2017-5-29 20:38
一直在做地图最短路径,使用了Dijkstra、A*、SPFA、分支限界算法(王晓东.算法设计与分析(第3版) .北京:清华大学出版社,2015:156)四种办法,也做出了系统原型。展示网址 http://222.19.237.185:8080/ (需要内网才能访问,我贴个图看看大致什么样的) 今天看了数学之美(吴军第二版),拼音输入法的数学原理,原来拼音转汉字的算法和导航中最短路径算法是相同的,简直脑洞大开。
3082 次阅读|0 个评论
ArcGIS,Python,网络数据集中查询两点最短路径
Jeppeyu 2013-11-27 17:27
阅读该文章你需要理解References中的如何利用路径网络分析工具进行网络路径分析。 如果你想通过Python Scripts 跟ArcGIS进行交互,通过网络数据集,完成查询交通地图中任意两点之间的最短路径 (从点A到点B的最短距离,对应于真实交通网络最短路径) 的任务的话,那你就来对地方了。 ArcGIS是有Ersi公司开发的一款专门用于处理地理数据的集成软件。ArcGIS集成了好几个工具,经常被用到了主要有ArcMap和ArcCatalog。ArcMap主要用于可视化的路网分析,ArcCatalog (以我的理解) 主要是充当数据库的角色。 ArcMap提供了很多地理分析工具,不同的工具都需要特定的输入数据,其中我们将会用到Network Analyst工具需要输入网络数据集。网络数据集 (如右图所示)非常适合于构建运输网。它们通过源要素创建,其中可以包括简单要素(线和点)和转弯要素并存储源要素的连通性。 使用 ArcGIS 网络分析执行分析时,该分析始终在网络数据集中进行。如下图所示,NA提供了平面几何网络的路径分析工具,其实ArcGIS还提供了 表面分析的工具 ,可以点击左侧的超链接,可以在ArcGIS的帮助里面找到更加形象的理解。至于我们该如何利用NA进行地图中任意两点之间的最短路径分析流程,可以参考下面的References,我就不一步一步的介绍了。篇幅有限,我们直奔主题,如何通过Python与ArcGIS进行交互进行两点之间的最短路径进行分析。PS : 最好在Windows环境下计算两点之间的最短路径。 为了便于大家理解贴上来的代码,我简单介绍下计算两点之间的最短路径分的步骤 1. 利用你手头上的路网数据通过ArcCatalog生成一份 Network dataset, 保存在你自己设定好的工作路径下 2. 为你生成这份网络数据集新建一个网络分析工具 (Network Analyst), NA 包括了好几个组件,其中的 Stops 和 Route 对于路径分析来说是非常重要的组件。 3. Stop 译为停靠点,是网络路径分析工具的分析对象,来自于ArcCatalog中的Shapefile表。在这里就是我们要进行路径分析的GPS点。在NA中,Stop会实例化为 Point类型的对象,所以我们先要有创建一张包含有两个shape类型的Points。随机初始化两个包含有 #shape, #longitude, #latitude 属性的Points,以后每有一次计算两个GPS点,就更新一次该Shapefile。 4. Route 会保存 NA 的分析结果。需要注意的是,NA会根据你所选择的衡量指标得到不同的最优路径结果。比如,你选择距离作为寻找最优路径的指标的话,NA 会返回距离最短的路径信息,如果你选择时间作为最优路径指标的话,NA 会返回花费时间最短的路径信息。 5. 如果你得到了你需要计算最短路径的两个GPS点,首先更新3中提到的Shapefile,然后将该Shapefile作为输入,传递给 Network Analyst,调用NA对象的 solve 函数就能得到返回结果,单位为 km python code : http://vdisk.weibo.com/s/DmLYNa9y7Oj8 References: 路径网络分析流程 路径分析网络的网络分析对象 也就对应于你将要查询的两个点 Network Analyst Tool/Module RouteSolverProperties (arcpy.na) Fusion Center Blogs - Python GIS Create Shapefile with Python Based on arcpy Geospatial Python 这个需要翻墙,但是里面的脚本真的非常有用,尤其是对 Shapefile 的讲解 Edit and Create Shapefile in ArcMap Cursor : Editing shapefile in Python ArcGIS 10 Desktop Resource Center Feature Class Geodatabase VS Shape File
个人分类: 地理信息系统|15144 次阅读|0 个评论
费马原理的例子
qianlivan 2010-2-13 14:00
费马原理是一个很深刻的物理原理。最早接触这个原理是在光学中。光在均匀介质中沿测地线传播(在平直时空是直线)以及光的折射定律都可以从这个原理得出。 除此之外还有什么地方可以找到这个原理的用武之地呢?和路径选择有关的问题很多都和费马原理有关,也和上面提到的光学里的例子类似。比如,从陆地上某地甲到海上某地乙,若两地的连线和海岸线不垂直,那么从甲地到乙地最省时间的路径一般不是两地的连线,而是和在陆地上的运动速度以及在海上的运动速度有关的路径。 此外,在有避雷针的情况下,闪电在空气中的路径也和费马原理有关。但是这种情况有一点不同。光的传播路径在同一种介质中是径直向前的,而闪电却是充满拐折。区别就在于光的传播是稳态过程,在每一点,光的下一步的走向都是确定的。而闪电是瞬态过程,其传播会改变介质的状态,因而细节的路径是不确定的,但大致方向可以用费马原理估计。
个人分类: 思考|7394 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-17 07:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部