如何使用. stops
_ _stop_sequence
route_id
MySQL
我想要这个,因为我正在尝试绘制Leaflet
需要以正确顺序给出停靠点坐标的路线。
我只stop_sequence
在文件中找到了信息stop_times.txt
,但它只对这条路线上的一次旅行是正确的。
此答案仅说明与特定路线相关的停靠点,但顺序不正确
我认为您已经在这里得出了自己的答案:停靠点仅在特定行程中按顺序排列,其中一条路线通常有很多。这是为了适应具有多个分支或在特定时间改变路径的路线,例如在高峰时段通过工业园区转移的路线。
您需要做的是首先确定您打算绘制的典型路线的行程,并记下其行程 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;
(为了清楚起见,我在这里添加了一些额外的字段;听起来您真正需要的只是结果中包含的lat
和lon
字段。)
那么,如何确定要绘制的路线的“典型”行程呢?通常,旅行的标志信息表明其分支或目的地。如果您需要更具体(例如,确定在特定日期的特定小时之间运行的行程),表格中的信息calendars
可以calendar_dates
帮助您缩小范围。