问题标签 [pgrouting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
460 浏览

postgresql - osm2po 在导入到 postgresql 时会丢失边缘

我正在使用 osm2po 将 pbf 文件导入到 postgresql,但是当我使用内置算法找到路线时,我发现某些边缘丢失了,因此路线与道路不匹配。有谁知道为什么会发生这种情况,在此先感谢 示例显示在此图像中

0 投票
8 回答
101230 浏览

python - Postgres SSL SYSCALL 错误:使用 python 和 psycopg 检测到 EOF

将 psycopg2 包与 python 2.7 一起使用,我不断收到标题错误:psycopg2.DatabaseError: SSL SYSCALL error: EOF detected

它仅在我WHERE column LIKE ''%X%''向我的 pgrouting 查询添加子句时发生。一个例子:

互联网上的线程直观地表明这是 SSL 的一个问题,但是每当我注释掉事物的模式匹配方面时,查询和与数据库的连接都可以正常工作。

这是在运行 Xubuntu 13.10 的本地数据库上。

经过进一步调查:看起来这可能是由于 pgrouting 扩展导致数据库崩溃,因为它是一个错误的查询,并且它们不是具有这种模式的链接。

很快就会发布答案...

0 投票
2 回答
1112 浏览

postgresql - 递归搜索拓扑网络表中的死胡同

我已经尝试了数周来解决这个问题:我需要递归搜索拓扑网络,在这种情况下为 OpenStreetMap 街道,寻找死胡同,以及仅与网络其余部分仅一个边缘的社区。如果您的城市如此体贴,这些地方可能会出现禁止出口标志。

我的表记录了网络中的每条边。每条边都有一个“目标”和“源”字段,用于标识该边连接到的节点。我添加了一个名为“dangling”的二进制列,以指示边缘是否已被识别为终止段。我将此列初始化为 FALSE,假设最好。

到目前为止,我已经能够使用以下 SQL 识别简单的分支死胡同

我只是继续运行此查询,直到没有更新任何行。结果如下所示(红色悬空 = true):

http://i.stack.imgur.com/OE1rZ.png

优秀的!这很好用……但如果你愿意的话,仍然有死胡同,它们只通过一个边缘连接到更大的网络。我怎样才能识别那些?

我最好的猜测是,我会在某个时候需要一个 WITH RECURSIVE,但这大约是我的非数学思维所能达到的程度。谁能指出我正确的方向?

0 投票
1 回答
890 浏览

routing - 使用 pgrouting 计算路线

如果可能的话,我如何仅使用现有点作为源来计算两点之间的路线?没有提供网络/道路,我只有积分。我试过这个http://docs.pgrouting.org/dev/src/tsp/doc/index.html,但我想我走错了路。

0 投票
2 回答
213 浏览

openstreetmap - 如何在planet_osm_line/pg_route 中设置街道阻塞

我正在做一个项目,我们将寻找从 A 点到 B 点的最短/最快路线。我一直在查看 osm2pgsql 生成的表。而且我想知道在将 osm 加载到我们的数据库中后,我将如何表示一条被阻塞的道路。我们的项目将依靠 osm 来绘制所有道路,我们还将有一名操作员查看道路的实时视频片段。此时,如果操作员看到道路被阻塞,我们想要更新数据库以反映这条道路被倒下的树阻塞。

我一直在查看所有的列,唯一在我脑海中突出的就是屏障。我一直找不到任何关于每列代表什么以及 pg_route 在创建路由时如何考虑每一个的文档。我正在寻找的是一个列,当 pg_route 在数据库中查找并看到一条道路时,它说哦,道路阻塞跳过它?

0 投票
2 回答
2393 浏览

postgresql - 如何获取 OSM 文件以生成街道宽度?

我正在尝试将 osm 数据加载到数据库中,并且我同时使用了 osm2p0 和 osm2pgrouting 并且一直意识到我没有看到任何引用街道宽度的东西。

这对我来说很重要,因为我正在编写一个程序来执行搜索和救援,其中街道的大小很重要,因为它可以限制哪些车辆可以使用哪些道路。

所以我开始查看 osm.xml 文件,但我没有看到任何引用街道宽度的内容。

http://wiki.openstreetmap.org/wiki/Key:width。它说关键应该是宽度。键宽描述了路或其他特征的实际宽度。

我是否遗漏了某些东西,或者 OSM 中实际上没有提供宽度。

0 投票
1 回答
63 浏览

postgis - 在同一台机器上运行 pgrouting 1.x 和 2.x

我们想在我们的测试服务器上运行 pgrouting 2.x。此外,我们希望现有的应用程序仍然在 pgrouting 1.x 上运行。有谁知道,是否可以并行安装和运行它们?

目前,我们在 Postgres 9.1.9 和 PostGIS 2.0.1 上运行。

0 投票
1 回答
145 浏览

web - 哪些是可用于在线路由应用程序的最佳工具?

所以这是我的问题。假设有人要创建一个在线 Web 应用程序,该应用程序将当前位置和目的地位置作为用户输入,并作为结果显示存储在数据库中的 5-6 条可用路线中的一条,这些路线在术语上最合适距离,以及使用开放街道地图数据和开放图层,这将是实现这一目标的最佳方式?

我要的是我需要什么: 1.将数据存储在数据库中 2.进行路由计算。如果出于学术原因我想稍微更改算法并更好地控制我的最终结果,我会怎么做?我需要任何编程语言吗?有什么好的教程吗?3.使用 pgRouting 和使用任何自定义解决方案(如上所述)有什么区别?自己重新编写所有代码就像重新发明轮子一样?4.对于需要快速计算的商业网站来说,什么是最好的?

更新:我需要的是一种连接方式 1.用户输入(作为几何点) 2.路由算法我已经编写了 3.Road Network 并根据到达某个点的最佳方式返回结果

0 投票
1 回答
291 浏览

sql - pgRouting 在数据库备份后停止工作

我在 postgresql PATHWAY 中有这两个表,以及我使用 pgr_createTopology 创建的顶点表,称为 PATHWAY_VERTICES_PGR。一切都很好,直到我决定备份数据库以便以后恢复它,现在我已经恢复了它,使用相同的 postgres 9.3.4 x64、postgis 2.1.3 和 pgrouting 2.0 版本,没有任何改变,但事实是我已经恢复它,现在 pgr_dijkstra 停止工作,每次我查询 pgr_dijkstra 时都会收到此错误:

但是当我搜索错误代码时:

在还原之前完全没问题的查询示例:

我已经尝试重新安装 Postgres,再次删除并添加 postgis 和 pgrouting 扩展,但错误仍然存​​在。如果你们有任何想法让我知道,这些 postgresql 错误代码很难破译

0 投票
0 回答
865 浏览

postgresql - 在 Postgres 中创建函数失败 - 语言 C 不存在错误

当我尝试像上面那样创建一个函数时,我收到一个错误,比如语言 C 不存在

Postgres 版本 9.3 x86 PostGIS 版本 - postgis Bundle 版本 2.1(带有 pgrouting 2.0)