Questions tagged «pgrouting»

pgRouting扩展了PostGIS / PostgreSQL地理空间数据库,以提供地理空间路由功能。

2
接驳巴士服务
首先,有一点背景。 我在区域运输机构工作。我们正在对馈线巴士服务进行“诊断”。我们想知道有多少比例的用户可以乘公共汽车去火车站而不是开车。这已经完成了几次,但是现在我们使用gtfs作为主要数据源,因此我们必须重新考虑我们的方法。 要被视为“为火车供餐”,公共汽车路线必须在距火车站一定距离内的车站(红色缓冲区)停靠。同样,与火车服务的同步性也很重要,因为如果您的巴士在火车前半小时到达火车站,那么等待时间就太长了,您将需要早上多睡20分钟才能开车。 假设您在12号车站乘A线(蓝色),然后在13号车站下车。公交车到达13号车站,这是火车前5分钟到达1号火车站的车站。这是非常好的。这意味着每个在1到13站内乘坐该公交车的人都将在火车开行前5分钟到达。 然后,火车经过人口稠密的地区,那里有很多学校和人行横道,被迫大幅度降低其速度。同时,公交车在14至17号车站接载乘客,并在火车开行前10分钟到达2号火车站。因此,一旦到达火车站,在14至17号车站乘坐公共汽车的乘客将都有10分钟的等待时间。因此,沿着那条公交线路,在1至13号车站乘坐巴士的乘客的等待时间为5分钟,而在14至17号车站乘坐巴士的乘客的等待时间为10分钟。 B线在轨道的另一侧,经过1号火车站附近,但其车站距离太远,无法考虑“为1号火车站供餐”。它在火车出发前7分钟到达2号火车站(在高峰期,每趟火车都要这样做;它的同步性很好)。因此,沿着B线的乘客从1号车站到59号车站到处都有巴士,等待时间为7分钟。 现在,我的问题。一旦我确定LineA.13和LineA.17停靠站正在为我的火车供电(这是在PostGIS中在空间上完成的),并且在#13之前停靠的公交车的等待时间是5分钟,但之后的等待时间是等待时间为10分钟,我该如何为所有停靠站分配等待时间? 我想在Postgres / PostGIS(pl / pgsql或pl / python)中做到这一点,但是我也可以使用纯python(OS或arcpy)。 我认为我可以向后循环。因此,一旦我找到合适的停靠点(在这里为LineA.17),就将相同的等待时间分配给停靠点16,然后是15 ...直到找到另一个适合我的条件的停靠点(LineA.13),然后分配其余的停靠点的等待时间与13。 我不知道如何创建这样的循环。我不认为我可以用SQL做到这一点,所以我不得不在PostgreSQL中使用过程语言。 我有一个使用pgRouting来找到每个供料器停靠点之间的路线的想法,这样一来,线A就会一分为二(停靠点1至13,然后停靠13至17)。这样会更容易吗? 下一步,将使用pgRouting从所有有等待时间的站点(抱歉LineA.18及以上!)计算出行驶时间,并将其与公交车的时间表进行比较以计算竞争力(是否需要5在公交车上比在车上多几分钟? 有任何想法吗?我通常会发布一个冗长的正在进行中的脚本,以显示到目前为止我所做的努力,但是我被困住了!

3
为什么任何pgr_ *路由功能都会基于启用了pgrouting的DB中的OSM数据永久使用
我使用osm2po 4.7.7将德国OSM数据集加载到了可填充的数据库中。一切正常,我通过它的config设置了osm2po,并且它的Java部分像魅力一样工作。 我导入了* _2po_4pgr表,没有任何问题。甚至* 2po_v表也被导入,尽管我并不完全了解该表的关系。 我执行了pgr_createTopology函数,该函数运行了一段时间(12000秒),同时计算了所有6m边。我以为这可以达成协议,但速度仍然令人难以忍受。 我想知道我是否忘记了什么。我当时正在考虑使用pgRouting而不是java库,但是目前它的性能方面还处于比较之中。


1
如何简化线路网络的保留拓扑?
我有一个Shapefile(由欧洲主要道路组成),其中包含大约250.000个路段,为了进行注浆,我必须对其进行简化。但是我似乎找不到适当的方法。 看起来是这样的: 它应该是这样的: 我必须以某种方式删除连接到少于3条线(不是交叉点)的线的每个点,同时保留其余点之间的拓扑连接。如果有人有想法,将不胜感激! 最好的祝福 编辑:我试图实现@dkastl的想法,并设法通过下面的代码从网络中仅获取不需要的节点(只有2个相邻线串的节点)(网络生成来自underdark的博客http://underdark.wordpress.com / 2011/02/07 / a-beginners-guide-to-pgrouting /): SELECT * FROM (SELECT tmp.id as gid, node.the_geom FROM (SELECT id, count(*) FROM network JOIN node ON (start_id = id OR end_id = id) AND (end_id = id OR start_id = id) GROUP BY id ORDER BY id) as …

3
帮助使DARP示例运行
我已经编译并安装了DARP分支。是否有任何数据示例可以测试? 我根据文档说明http://www.pgrouting.org/docs/1.x/darp.html使用了一些数据,但没有返回结果。 depot_id和depot_point_is有什么区别? 在距离查询中,我不了解from_order和to_order字段。 如果我添加了从A点到B点的请求,则有必要在距离表中添加从B点到A点的成本。 距离查询中的字段值,应该是什么时间单位?,分钟?,秒?,毫秒? darp.c和darp_solver.c在哪里留下日志消息? 我知道darp分支也许是RC版本,但是请您能帮我这个忙吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.