【发布时间】:2015-07-28 19:19:49
【问题描述】:
所以我在一个城市(比如房屋或住宅)中有一组点,我想找到这些点之间的最短距离和商店的一组候选点。我正在寻找最好的商店位置,以最大限度地减少与布景中所有房屋的距离。所以我将迭代地移动候选商店点,然后重新计算每个商店和房子之间的距离(再次使用 Djikstra 算法)。由于计算量巨大,我无法在优化算法的每次迭代中一直访问数据库。
我已经多次使用 pgrouting 并且这会起作用,但是由于点数很多并且每次都必须搜索磁盘,所以它会太慢。
有没有一种工具可以让我在内存中加载一些小型 Open Street Maps 城市地图,然后计算内存中的最短路线?我需要一些快速的东西,所以最好在 C 或 python 中?但任何语言都可以,只要它有效。
【问题讨论】:
-
计算这些“到达”问题的正常方法是从潜在的商店位置开始一对多的计算。这样做例如使用简单的 Dijkstra 并使用快速预处理图可以在毫秒内为您提供每个商店的响应。例如。看看 OSM 路由器wiki.openstreetmap.org/wiki/Routing
标签: python postgresql gis pgrouting