我正在使用 Java 和 Postgres 创建一个公交车到达预测系统。每辆公交车都有固定的路线,因此我们将整个行驶路线作为 LineString 存储在 postgres 中。
有 3 个公交车站,每个公交车站 lat lon 也作为 LineString 存储在路线表中。还有一张包含停工名称和经纬度详细信息的表格。
stoppage_details 表
Stoppage 1 - lat1,lon1
Stoppage 2 - lat2,lon2
Stoppage 3 - lat3,lon3
我正在寻找 Postgres 函数来解决以下问题。
- 如何使用 LineString(起点 lat lon 和 End point lat lon)获得路线的总距离(660m)。
- 每条总线上都安装了 GPS 系统,每 30 秒发送一次数据。我正在使用 ST_ClosestPoint 函数从 LineString 中查找最近的顶点。如何使用 LineString 找到顶点与下一个和上一个停止点之间的距离。
- 或者有人可以建议任何其他方法来解决上述问题。