我正在开发一个需要某些城市路由信息的应用程序。首先,我下载了一个openstreetmap数据文件(* .osm),然后使用osm2pgrouting工具(http://workshop.pgrouting.org/chapters/installation.html)将其导入postgreSQL数据库。 在此之后,我有以下表格:
我是否会使用不在“vertices_tmp”表中的节点来计算节点之间的距离?或者我只使用存储在“vertices_tmp”中的节点?
在方法表中有一个名为“the_geom”的字段,它封装了不同的位置点(节点)。例如:
"MULTILINESTRING((1.5897786 42.5600441,1.5898376 42.5601455,1.589992 42.5605438,1.590095 42.5606795,1.5901782 42.5608026,1.5902238 42.561018,1.5902912 42.5616808,1.5903685 42.561899,1.5904008 42.5620563,1.5903836 42.5624117,1.5904265 42.5627151,1.5904947 42.5628368,1.5905981 42.5629553,1.5906926 42.5631007,1.590802 42.5633238,1.5908604 42.5634883,1.5909501 42.5637139,1.5910869 42.5638755,1.5913053 42.5639639,1.5914994 42.5640237,1.591648 42.5640261,1.5919232 42.5640145,1.5921124 42.5640363,1.5923292 42.5640953,1.592804 42.5643306))"
我可以使用中间节点路由还是仅使用源/目标节点进行路由?
我的目标是能够在不同的节点或POI之间进行路由,这取决于其舒适性标签,不仅是驾驶距离,步行距离。此外,我需要计算源/目标节点的最短路径。
有没有想过这样做?
答案 0 :(得分:1)
您不能使用节点表的元素。
如果要计划从一个POI到另一个POI的路线,首先必须根据所选算法找到最近的顶点/边缘(射击星需要边缘,其他使用顶点)。 在此之后,您可以进行路由,只需从THIS SITE
中选择算法你会找到一个关于不同路由解决方案的好教程,以及一些详细用法的帮助(包括如何确定最接近的方式)。