【问题标题】:Multiple trip headsigns for a route?一条路线的多个旅行头标?
【发布时间】:2015-07-30 17:19:54
【问题描述】:

所以我刚刚在我的应用程序中注意到了这一点,但是当我得到一个为停靠点提供服务的路线列表时,我得到了一条特定路线的多个 trip_headsign,但是当我得到所有停靠点和路线时,它们都运行相同的路线形状。我在这里错过了什么吗?或者有人可以解释为什么吗? 以下是我获取特定站点路线的方法:

    SELECT DISTINCT t.trip_headsign, r.route_short_name,r.route_long_name
    FROM stop_times st INNER JOIN trips t
    ON t.trip_id = st.trip_id
    INNER JOIN routes r
    ON r.route_id = t.route_id
    WHERE st.stop_id = <stop_id>

这是我如何获取查询返回的特定路线的所有站点

      SELECT DISTINCT t.trip_id, s.stop_code, s.stop_name, s.stop_lat, s.stop_lon, t.shape_id, st.arrival_time
      FROM trips as t INNER JOIN stop_times as st
      ON st.trip_id = t.trip_id
      INNER JOIN stops as s ON s.stop_id = st.stop_id
      WHERE t.route_id = <route_id>
      AND t.service_id = "Weekdays"
      AND t.direction_id = <direction_id>

但正如我所说,我从第一个查询返回多个 trip_headsign,但是当我运行第二个查询时,我得到所有这些 trip_headsign 的相同路线。感谢任何帮助/cmets/想法!

【问题讨论】:

    标签: android mysql sql sqlite gtfs


    【解决方案1】:

    一条运输路线通常有多个分支,它们在通过网络的单一路径的不同部分运行。作为一个真实的例子,York Region Transit 使用两个分支 85 和 85C 运行 route 85(PDF 链接)。两者都沿同一东西走廊运营,但覆盖的距离不同:路线的最西端仅由 85 支线提供服务。

    为确保乘客能够乘坐正确的公交车,沿该路线的每辆公交车上的车头标志都会指示其在旅途中所经过的分支:在西行车站等候的乘客可能会看到一辆显示“85 Napa Valley”的公交车”或“85C Islington”,并根据他们需要走多远来选择是否上车。

    我希望这就是您在数据中看到的:同一路线的多个分支覆盖同一基本路径的不同部分。请注意,YRT 的 85 和 85C 通过网络共享相同的路径(即形状);实际上,85C 只是提前结束了行程。但由于它们只是同一条基本路线的变体,因此在 GTFS 中将它们建模为单条路线是有意义的,其中行程的航向和行驶距离各不相同。

    【讨论】:

    • 嘿西蒙!再次感谢您的回复!那么接下来,有没有办法使用 gtfs 数据来区分路线的变化?
    • 通过 headsign 将是我所知道的唯一简单可靠的方式。毕竟,这就是骑手自己区分各个分支的方式。您可以尝试聪明一点并分析行驶的距离或访问的站点数量,但我认为这将比它的价值更麻烦。
    • 感谢您的帮助!我同意这将比它的价值更麻烦
    • 嘿西蒙!所以我尝试根据 headsign 分离路线的不同分支,但我仍然有一些不应该属于该路线的剩余停靠点。知道为什么会这样吗?
    • 否;您需要向我解释更多关于您正在尝试做什么以及您看到的结果(在另一个问题中,也许?)。请注意,如果在与路线关联的行程中访问了停靠点,则根据定义,停靠点属于该路线。如果您看到您确定(如何?)不属于路线的停靠点,则您的查询可能有问题。
    猜你喜欢
    • 2014-05-17
    • 2011-11-17
    • 2015-02-23
    • 2013-11-23
    • 1970-01-01
    • 2016-06-04
    • 2023-03-27
    • 1970-01-01
    • 2020-02-08
    相关资源
    最近更新 更多