迪杰斯特拉算法(Dijkstra's algorithm)

Dijkstra’s algorithm 算法

迪杰斯特拉算法(Dijkstra’s algorithm)是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。

在地理信息系统中,Dijkstra’s algorithm 主要在network analysis中应用。以ArcGIS为例,最短路径就是基于最为经典的Dijkstra’s algorithm来实现的。

算法解释

isacc计算机科学网站提供该算法的具体解释,点击链接{target="_blank"}。

代码实现(PostGIS)

相关教程:https://zhuanlan.zhihu.com/p/82227139

pgr_costResult[] pgr_dijkstra(text sql, integer source, integer target,
                           boolean directed, boolean has_rcost);

代码实现(Python)


牛海沣
牛海沣
研究员

英国剑桥大学土地经济系研究员,欧盟Horizon 2020资助项目Emotional Cities空间分析研究员。主要研究兴趣包括城市大数据挖掘、空间数据科学、地理可视化、城市感知和城市动态模拟,特别是关注如何通过结合机器学习、人工智能和城市大数据来更好地支持城市规划、政策制定和智能管理。