我想计算两个多边形之间的拓扑距离而不是欧几里得距离。两个相邻多边形之间的距离为 1,通过公共邻居连接的两个多边形之间的距离为 2,依此类推。
有没有简单的方法来计算拓扑距离?我搜索了这个问题,但没有找到解决方案。
谢谢你。
我想计算两个多边形之间的拓扑距离而不是欧几里得距离。两个相邻多边形之间的距离为 1,通过公共邻居连接的两个多边形之间的距离为 2,依此类推。
有没有简单的方法来计算拓扑距离?我搜索了这个问题,但没有找到解决方案。
谢谢你。
基本上你想搜索多边形 A 和 B 之间的距离
以下是我将采取的步骤:
距离 = 1;
最后你会得到距离。
我找到了一种使用现有软件实现此计算的方法。
首先,使用 PostGIS 插件将 shp 文件导入 PostgreSQL。
其次,使用 ST_Touches 函数计算每个多边形的相邻多边形。
第三,以每个多边形为一个点,构建一个新的网络。
最后,使用 Dijkstra 算法计算每两点之间的最短路径。