您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

GTFS查询以列出两个站点名称之间的所有出发和到达时间

GTFS查询以列出两个站点名称之间的所有出发和到达时间

只需将数据连接在一起,stops两次连接就可以开始和结束停止,stop_times两次连接就可以开始和结束stop_times, 我唯一不确定的是它direction_id来自哪里。 请尝试以下查询。 在查询的最后,您可以指定start_s.stop_idend_s.stop_id,代表要查询数据的两个停靠点。

SELECT t.trip_id,
       start_s.stop_name as departure_stop,
       start_st.departure_time,
       direction_id as direction,
       end_s.stop_name as arrival_stop,
       end_st.arrival_time
FROM
trips t INNER JOIN calendar c ON t.service_id = c.service_id
        INNER JOIN routes r ON t.route_id = r.route_id
        INNER JOIN stop_times start_st ON t.trip_id = start_st.trip_id
        INNER JOIN stops start_s ON start_st.stop_id = start_s.stop_id
        INNER JOIN stop_times end_st ON t.trip_id = end_st.trip_id
        INNER JOIN stops end_s ON end_st.stop_id = end_s.stop_id
WHERE c.monday = 1 
  AND direction_id = 1
  AND start_st.departure_time > "00:00:00" AND start_st.departure_time < "23:59:59" 
  AND r.route_id = 1
  AND start_s.stop_id = 42
  AND end_s.stop_id = 1

我尝试从此链接查找GTFS结构示例,但找不到任何内容direction_id

指定停止名称而不是AND start_s.stop_id = 42 AND end_s.stop_id = 1 仅使用AND start_s.stop_name = 'Garrison' AND end_s.stop_name = 'Grand Central'

其他 2022/1/1 18:50:22 有453人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶