问题标签 [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.
postgresql - 在 GeoServer 中使用 OSM 进行路由(最佳实践)
我是 OSM 的新手,但现在我需要创建将使用 GIS(地理服务器)的应用程序,并将提供从 A 点到 B 点的道路服务。
我找到了一些关于此的信息,但我仍然有任何问题。我的是下载开放的街道地图并提取到数据库(PostgreSQL),并使用插件 pgRouting 进行路由。接下来将 db 连接到地图服务器并为客户端提供 api。
问题: 1. 那是正确的方法吗?2. osm 格式如何用于 postgre?(osm.pbf?shp.zip?还是别的什么?)
感谢您的回答
postgresql - 如何将 OSM 导出到包含所有城市和街道名称的数据库?
我下载了我县的 osm 地图并创建了空间 pg 数据库。我使用以下命令通过 osm2pgrouting 导出的 osm 文件:
导出表后,我有这个架构:
你能告诉我我做错了什么吗?如何使用城市和街道等所有节点将 osm 文件导入数据库?感谢您的回答。
sql - SQL:如何在 PostGIS 表的 line shapefile 中获取给定坐标的源/目标?
我在 PostGIS 中加载了一个 line shapefile 并pgr_createTopology
在 pgRouting 中使用,通过添加源和目标来使表可路由(分配线源编号和目标编号的 2 个端节点)。下图是表格的一部分:
现在我有一些末端节点的坐标,它们属于表中的行,我想知道这些坐标对应的源/目标数量。
例如,在上表中,假设259463.392, 2737830.062
是 和 的端节点之一line id=1
,line id=2
那么这个坐标有source/target=175
我是 SQL 新手,尝试了一些查询,但出现错误:
错误:
更新#1
我想如果列源/目标包含节点坐标的信息,我可以知道我想要什么,但似乎不是,它们只是包含数字的列。
我得到的顶点表如下:
我使用以下查询来获取下表:
我仍在寻找是否可以通过上面的两张表来满足我的需求。
所以我尝试了下面的查询并在给定坐标附近得到了两条线:
后来我从第一张图中显示的表格中发现坐标分别是id 170/51的source/target=54,但仍然效率低下。
我想知道在我发现给定坐标位于这两行之间之后,有没有办法找到相同的源/目标编号,在这种情况下line id=51
,它们都包含?line id=170
更新#2
根据顶点表,我使用以下查询来获取给定坐标的对应源编号,也就是点 id:
sql - 列“pedroad.id”必须出现在 GROUP BY 子句中或在聚合函数中使用
我应该如何使用group by
?
postgresql - 使用 pgr_drivingDistance 获取最快路径的距离
我在 PostgreSQL 中使用OSM2PO创建了一个基于 OSM 的路由网络,扩展名为 pgrouting。我有一个列km
(以公里为单位的距离)、一个列cost
(行驶时间)和max_speed
. 我尝试使用列(以公里为单位的距离)创建具有函数pgr_drivingDistance的集水区。km
这会计算出具有最短路径的集水区,在大多数情况下,这对于汽车来说并不是一个现实的距离。因此,我想根据最短的驾驶时间使用cost
. 但结果,我需要以米为单位而不是时间。非常感谢任何提示。
简短版本:我需要一个以公里为单位的集水区,以获取最快(最短时间)的路线!
以下是 pgr_drivingDistance 的标准代码,最短距离以公里为单位:
java - 使用 gps 坐标查找到下一个顶点的距离
我正在使用 Java 和 Postgres 创建一个公交车到达预测系统。每辆公交车都有固定的路线,因此我们将整个行驶路线作为 LineString 存储在 postgres 中。
有 3 个公交车站,每个公交车站 lat lon 也作为 LineString 存储在路线表中。还有一张包含停工名称和经纬度详细信息的表格。
stoppage_details 表
我正在寻找 Postgres 函数来解决以下问题。
- 如何使用 LineString(起点 lat lon 和 End point lat lon)获得路线的总距离(660m)。
- 每条总线上都安装了 GPS 系统,每 30 秒发送一次数据。我正在使用 ST_ClosestPoint 函数从 LineString 中查找最近的顶点。如何使用 LineString 找到顶点与下一个和上一个停止点之间的距离。
- 或者有人可以建议任何其他方法来解决上述问题。
postgresql - osm2pgrouting - 解析格式不正确的数据(无效令牌)
我需要通过 osm2pgrouting 工具将开放的街道地图数据导入我的 PostGIS 数据库。但是当我运行命令时,创建了表但没有任何数据。你能告诉我我做错了什么吗?我已经在我的数据库中安装了扩展 pgrouting ...
作为 mapconfig,我使用默认的 mapconfig.xml,它与 osm2pgrouting 工具 (C:\Program Files\PostgreSQL\9.5\bin) 位于同一文件夹中。我正在使用 Windows 操作系统。
地图配置:
postgresql - 如何将 pg 路由安装到现有的 postgresql 9.1 数据库
我使用并创建了数据库“ mydb ”安装了postgresql 9.1.12。然后使用扩展mydbsudo apt-get install postgresql-9.1 postgresql-9.1-contrib postgresql-9.1-postgis
我想在我的ubuntu 12.04机器上安装 pg 路由到“mydb”。我试过这个psql mydb -c "create extension pgrouting"
但得到错误
然后从http://pgrouting.org/download.html下载pgrouting-1.05.tar.gz但不知道如何安装到现有数据库。
postgresql - postgres 中的 Pgrouting - 无法创建扩展
我用 EDB 安装程序安装了 postgres。我想在我的数据库中使用 pgrouting。所以我通过自制软件下载了它brew install pgrouting
接下来,我想在我的数据库中初始化它:psql mydatabase -c "create extension pgrouting;"
但我得到了这个错误ERROR: could not open extension control file "/Library/PostgreSQL/9.6/share/postgresql/extension/pgrouting.control": No such file or directory
我发现pgrouting.control
在/usr/local/Cellar/pgrouting/2.4.1/share/postgresql/extension/pgrouting.control
我应该将这些文件从 /usr... 复制到 /Library/Postgres... 吗?