GIS点之间的行驶距离

4 投票
4 回答
4762 浏览
提问于 2025-04-15 20:26

我有很多地理信息系统(GIS)的坐标,主要是经纬度,我想知道这些点之间的距离。有没有什么服务可以帮我计算最短路径?我知道谷歌地图,但我希望能找到一个可以在Python中使用的,并且能一次处理大量请求的服务。

我想要的是开车的距离,所以简单的直线距离不够用。

谢谢!

4 个回答

1

看看OpenStreetMap吧。你可以下载他们的地图数据,然后把它存放在你自己的电脑上。http://wiki.openstreetmap.org/wiki/Routing 这个链接讨论了他们数据的各种路线规划系统。

你知道旅行推销员问题是个NP完全问题吗?

1

使用 Qgis 的步骤:

  • 先用分隔文本插件把数据导入进来
  • 把导入的数据保存为一个形状文件
  • 打开这个形状文件
  • 然后用ftools插件来计算矩阵距离
2

根据你的问题和其他人给出的回答,我猜测你是在问用什么程序比较好?如果你能找到免费的或者便宜的版本(比如通过工作、学校等),我推荐你使用ArcGIS 9.x。这个软件有一些小毛病,但用户社区支持得很好,有很多论坛和帮助书籍可以参考。而且,他们已经把Python作为这个程序的官方脚本语言了(太棒了!)。

另一个比较便宜的选择是GRASS。它是一个免费的、开源的、成熟且功能强大的多平台GIS程序。虽然学习起来可能比ArcGIS稍微难一点,但我听说它的表现非常不错,尤其是考虑到它是免费的。

这个网站列出了免费的开源GIS程序的信息 http://opensourcegis.org/,你可以在这里找到其他选择的好信息。

我不太确定你是在问如何在GIS程序中测量两个点之间的距离,还是只是提到你需要做这样的事情。无论如何,ArcGIS都很适合这些任务。ArcGIS的ArcToolbox里有一些工具已经有命令可以帮助你找到最佳的交通路线。这个链接可以让你探索一些可用的工具 ArcToolbox帮助。ArcToolbox里的大部分工具都有图形界面批处理选项,使用起来很方便。在ArcGIS中,逐个测量点与点之间的距离很简单,如果你需要测量很多点对点的距离,你可以写一个简单的Python脚本来帮你完成。

我觉得我已经回答了你所有的问题。如果还有什么我没说清楚的,或者你不明白的地方,随时告诉我。希望这对你有帮助,朋友。

撰写回答