我正在构建一个路由计划系统,但是我仍然必须决定我将使用哪种底层路由引擎。到目前为止,我已经发现了pgrouting和neo4j。
我的路由网络位于postgresql / postgis数据库(从shapefile导入)中。我进行了一些查询,以提取节点(必须决定要走的方向或死角的方式的端点)并提取边缘(通常由几种连续的方式组成)。我所有的边缘都是双向的。
我的主要目标是使用距离=成本的A-star算法来计算该网络上的路由。
我的感觉告诉我,像neo4j这样的图形数据库是行之有效的方法(因为它似乎是为此目的而创建的),但是它们似乎默认情况下并不支持A-star,并且也没有真正的几何意义。 。似乎更适合社交网络而非地图。
- 灌浆能满足我的需求吗?
- 它足够快地进行即时查询(+ -2000个节点,+-4000个边缘)吗?通常,对于A-star,这将是几毫秒,但是我不确定在sql中的实现。
- 向A-star灌浆是否给了我节点和边的列表?
- 在大多数示例中,我看到有关灌浆的信息,我注意到通常在计算路线后会有一系列命令(例如“在X处向左转,等等”)。灌浆是产生还是从其他系统产生?
希望有人可以给我一些有关选择哪种系统的信息。Neo4j,灌浆或其他系统。