GIS点之间的驾驶距离

4

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

我需要驾车距离,因此直线距离是不行的。

谢谢。

4个回答

2
根据您的问题和发布的答案,我理解您在询问应该使用哪个程序。如果您能找到免费或便宜的途径(例如通过工作、学校等),我建议使用ArcGIS 9.x。它有一些怪癖,但得到了用户社区的高度支持,并且有许多论坛和帮助/培训书籍可用。此外,他们已经将Python作为其官方脚本语言采纳(非常棒!)。
另一个价格较低的选择是GRASS。它是一个免费、开源、成熟、功能强大且多平台的GIS程序。它可能比ArcGIS具有更陡峭的学习曲线,但考虑到它是一个免费程序,我听说过非常好的评价。
这个网站列出了关于免费、开源(FOS)GIS程序的信息http://opensourcegis.org/,可以给您提供一些其他选择的好信息。
我无法确定你是在询问如何测量两点之间的距离并在GIS程序中找到最短旅行距离,还是仅仅提到这是你需要做的事情。不管怎样,ArcGIS非常适合这些任务。ArcGIS的ArcToolbox中的一些工具已经有命令帮助您找到最佳的交通路线。此链接可让您探索一些可用的工具ArcToolbox Help。ArcToolbox中的大多数工具都自动包含了GUI批处理选项。在ArcGIS中逐个测量点到点距离很容易,如果您需要测量一堆点对点对,您可以编写一个快速的Python脚本来轻松完成。
我认为我回答了你所有的问题。如果有我错过或不理解的地方,请随时告诉我。希望这能帮到你,伙计。

1

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

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


是的。这是应用算法课程的内容,我们正在学习近似NP难问题的技术。=) - Paul

1

使用Qgis

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

0
如果你的点之间有互联,你可以使用迪杰斯特拉算法来计算“从单个点到最短路径”,或者使用弗洛伊德算法来计算“所有对之间的最短路径”。这两种算法都不是特别复杂,但是它们假设你知道点之间的道路长度。要计算驾驶距离,你需要有这些数据。

不,但我正在使用真实的街道数据运行此程序,而且我没有那些数据的图表。我正在寻找一个类似于谷歌地图的服务,但是我可以从Python中与之通信,并发送大量数据。像这样的东西会很棒: https://webgis.usc.edu/Services/ShortestPath/Default.aspx 但看起来它还没有向公众开放。 - Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接