gpt4 book ai didi

mysql - 使用来自 GTFS 数据的传单绘制路线

转载 作者:行者123 更新时间:2023-11-30 22:45:27 24 4
gpt4 key购买 nike

如何使用 MySQL 从 GTFS 数据中提取 stops 及其 stop_sequence 知道 route_id

我想要这个是因为我正在尝试使用 Leaflet 绘制路线,这需要以正确的顺序给出停靠点坐标。

我只在 stop_times.txt 文件中找到了 stop_sequence 信息,但它只对这条路线的一次旅行是正确的。

This answer仅告知哪些是与特定路线关联的停靠站,但顺序不佳

最佳答案

我想您已经得出了自己的答案:停靠点仅在特定的行程 中按顺序排列,其中一条路线通常有很多。这是为了适应具有多个分支或在特定时间更改路径的路线,例如在高峰时段通过工业园区改道的路线。

您需要做的是首先确定您打算绘制的路线的典型行程,并记下其行程 ID。要获取特定路线上所有行程的列表,请运行如下查询

SELECT id, headsign, short_name, direction_id
FROM trips
WHERE route_id = <route_id>;

一旦您选择了行程,就可以很简单地按顺序获取行程所经过的站点的列表:

SELECT code, name, lat, lon, arrival_time, departure_time
FROM stops
INNER JOIN stop_times ON stop_times.stop_id = stops.id
WHERE trip_id = <trip_id>
ORDER BY stop_sequence ASC;

(为了清楚起见,我在这里添加了一些额外的字段;听起来您真正需要的只是结果中包含的 latlon 字段。)

那么,您如何确定要绘制的路线的“典型”行程呢?旅行的车头标志信息通常指示其分支或目的地。如果您需要更具体——例如,识别特定日期特定时间之间的行程——calendarscalendar_dates 表中的信息可以帮助您缩小这些范围.

关于mysql - 使用来自 GTFS 数据的传单绘制路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29759088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com