我有大量的GIS(纬度,经度)坐标,想要得到它们之间的距离。是否有可以为我计算最短路径的服务?我知道谷歌地图,但我想要能够从Python中使用的东西,并且可以同时处理大批请求。 我需要驾车距离,因此直线距离是不行的。 谢谢。
根据您的问题和发布的答案,我理解您在询问应该使用哪个程序。如果您能找到免费或便宜的途径(例如通过工作、学校等),我建议使用ArcGIS 9.x。它有一些怪癖,但得到了用户社区的高度支持,并且有许多论坛和帮助/培训书籍可用。此外,他们已经将Python作为其官方脚本语言采纳(非常棒!)。另一个价格较低的选择是GRASS。它是一个免费、开源、成熟、功能强大且多平台的GIS程序。它可能比ArcGIS具有更陡峭的学习曲线,但考虑到它是一个免费程序,我听说过非常好的评价。这个网站列出了关于免费、开源(FOS)GIS程序的信息http://opensourcegis.org/,可以给您提供一些其他选择的好信息。我无法确定你是在询问如何测量两点之间的距离并在GIS程序中找到最短旅行距离,还是仅仅提到这是你需要做的事情。不管怎样,ArcGIS非常适合这些任务。ArcGIS的ArcToolbox中的一些工具已经有命令帮助您找到最佳的交通路线。此链接可让您探索一些可用的工具ArcToolbox Help。ArcToolbox中的大多数工具都自动包含了GUI批处理选项。在ArcGIS中逐个测量点到点距离很容易,如果您需要测量一堆点对点对,您可以编写一个快速的Python脚本来轻松完成。我认为我回答了你所有的问题。如果有我错过或不理解的地方,请随时告诉我。希望这能帮到你,伙计。
请查看OpenStreetMap。您可以下载他们的地图数据并将其保存在本地系统中。http://wiki.openstreetmap.org/wiki/Routing讨论了其数据的各种路由系统。 您知道旅行推销员问题是NP完全问题吗?
如果你的点之间有互联,你可以使用迪杰斯特拉算法来计算“从单个点到最短路径”,或者使用弗洛伊德算法来计算“所有对之间的最短路径”。这两种算法都不是特别复杂,但是它们假设你知道点之间的道路长度。要计算驾驶距离,你需要有这些数据。