GIS点之间的距离

时间:2010-03-15 08:21:41

标签: python maps gis

我有大量的GIS(纬度,经度)坐标,我希望得到它们之间的距离。有没有能为我计算最短路径的服务?我知道谷歌地图,但我想要一些我可以在Python中使用的东西,它可以同时处理大量的请求。

我正在寻找行驶距离,所以直线距离不行。

由于

4 个答案:

答案 0 :(得分:1)

查看OpenStreetMap。您可以下载他们的地图数据并将其放在本地系统上。 http://wiki.openstreetmap.org/wiki/Routing讨论了各种数据路由系统。

你知道旅行商的问题是np-complete吗?

答案 1 :(得分:1)

使用Qgis

  • 使用分隔文本插件导入数据
  • 将导入另存为形状文件
  • 打开形状文件
  • 使用ftools插件,计算矩阵距离

答案 2 :(得分:1)

所以我根据你的问题和答案发布了你在问什么程序?如果您能找到一种免费或廉价的方式(如通过工作,学校等),我建议您使用ArcGIS 9.x.它有它的怪癖,但它得到了用户社区的高度支持,并且有很多论坛和帮助/培训书可供它使用。此外,他们已采用Python作为该程序的官方脚本语言(Sweeeet!)。

另一种较便宜的选择是GRASS。它是一个免费的,开源的,完善的,功能强大的多平台GIS程序。它可能比ArcGIS有更陡峭的学习曲线,但考虑到它是一个免费的程序,我听说它非常好。

本网站列出了免费的开源(FOS)GIS程序http://opensourcegis.org/的信息,可以为您提供其他选择的一些信息。

我不知道你是在问一个关于如何测量两点之间的距离并在GIS程序中找到最短行程距离的问题,或者如果你只是提到那种你需要做的东西。无论哪种方式,ArcGIS都非常适合这些任务。 ArcGIS的ArcToolbox中的某些工具已经具有帮助您找到最佳运输路线的命令。通过此链接,您可以浏览一些可用的工具ArcToolbox Help。 ArcToolbox中的大多数工具都自动包含GUI批处理选项。在ArcGIS中,单个点测量点到点距离很容易,如果需要测量一堆点对点,可以编写一个快速的Python脚本来轻松地为您完成。

我想我已经回答了你所有的问题。如果有什么我错过或没有意义,请随时告诉我。希望这有帮助,伙计。

答案 3 :(得分:0)

如果点之间有互连,则可以使用Dijkstra's algorithm表示“单点最短路径”或Floyd's algorithm表示“所有对”最短路径计算。

两者都不是特别复杂,但他们确实假设您知道点之间的道路长度。您需要使用此数据来计算行驶距离。