- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我正在开发的应用程序使用 GTFS 提要。我正在尝试列出所选路线的所有停靠点。目前,我正在尝试通过 stop_sequence 对列表进行排序,但是这无法正常工作,因为某些行程不会到达每个站点,并且我收到的数据将 stop_sequence 增加 1,每次行程每次停止。这样做的意义在于 stop_sequence 不考虑可能有更多或更少停靠点的其他行程。
下面是一个例子:
这是路线的停靠点顺序,(忽略并非每次旅行都会在每个停靠点停靠的事实)
Stop A
Stop B
Stop C
Stop D
Stop E
Trip 1: A, B, C, D
Trip 2: A, B, E
Stop A: stop_sequence = 1
Stop B: stop_sequence = 2
Stop C: stop_sequence = 3
Stop D: stop_sequence = 4
Stop A: stop_sequence = 1
Stop B: stop_sequence = 2
Stop E: stop_sequence = 3
Stop A
Stop B
Stop C
Stop E
Stop D
+---------+---------+---------------+------------------------------------------------+
| stop_id | trip_id | stop_sequence | stop_name |
+---------+---------+---------------+------------------------------------------------+
| 11771 | 1269287 | 1 | LOTTE PLAZA US 40 & US 29 |
| 11772 | 1269280 | 1 | HARPER'S FARM RD & CEDAR LA eb |
| 11773 | 1269280 | 2 | LITTLE PATUXENT & GRAY STAR wb |
| 11774 | 1269280 | 3 | LITTLE PATUXENT & WHITE CORD WAY wb |
| 11775 | 1269280 | 4 | LITTLE PATUXENT & BRIGHT PASSAGE eb |
| 11776 | 1269280 | 5 | LITTLE PATUXENT & HICKORY RID nb |
| 11777 | 1269280 | 6 | LITTLE PATUXENT & CEDAR LA eb |
| 11778 | 1269280 | 7 | LITTLE PATUXENT & HARPER'S FARM opp eb |
| 11779 | 1269280 | 8 | COLUMBIA MALL & SOUTH RING RD eb |
| 11782 | 1269280 | 9 | BROKEN LAND & HICKORY RIDGE sb |
| 11780 | 1269289 | 9 | LITTLE PATUXENT & GOV WARFIELD nb |
| 11783 | 1269280 | 10 | BROKEN LAND PARK & RIDE |
| 11781 | 1269289 | 10 | LITTLE PATUXENT & VANTAGE PT nb |
| 11784 | 1269280 | 11 | SCAGGSVILLE PARK & RIDE |
| 11785 | 1269280 | 12 | BURTONSVILLE PARK & RIDE |
| 11786 | 1269280 | 13 | COLESVILLE RD & FENTON ST sb |
| 11787 | 1269280 | 14 | SILVER SPRING METRO STATION |
| 11788 | 1269280 | 15 | WALTER REED HOSP & 16TH ST NW |
| 11789 | 1269280 | 16 | 16TH ST & P ST NW |
| 11790 | 1269280 | 17 | 16TH ST & M ST NW |
| 11718 | 1269280 | 18 | K ST & 16TH ST NW fs eb |
| 11719 | 1269280 | 19 | K ST & 14TH ST NW eb |
| 11791 | 1269280 | 20 | 13TH ST & H ST NW sb |
| 11759 | 1269280 | 21 | PENNSYLVANIA AVE & 12TH ST NW eb |
| 11793 | 1269280 | 22 | CONSTITUTION AVE & 10TH ST NW fs eb |
| 12046 | 1269280 | 23 | 7TH ST NW & CONSTITUTION AVE eb |
| 11650 | 1269280 | 24 | INDEPENDENCE AVE & 7/6 ST SW mid eb |
| 11601 | 1269280 | 25 | INDEPENDENCE AVE & 4TH/3RD ST SW eb |
| 13627 | 1269280 | 26 | M ST & 1st ST SE (NAVY YARD) sb |
| 13628 | 1269280 | 27 | M ST & 4th ST SE (SOUTHEAST FEDERAL CENTER) eb |
| 11569 | 1269280 | 28 | M ST & ISAAC HALL AVE SE eb |
| 11795 | 1269280 | 29 | M ST & 8/9TH STS mid eb |
+---------+---------+---------------+------------------------------------------------+
Cedar Lane --> Gray Star Way
Gray Star Way --> White Cord Way
...
Harpers Farm Rd --> Columbia Mall
Lotte Plaza --> Columbia Mall
for every directed edge uv from vertex u to vertex v, u comes before v in the ordering
Lotte Plaza,
Cedar Lane
Gray Star
...
Columbia Mall
Cedar Lane
Gray Star
...
Lotte Plaza
Columbia Mall
最佳答案
您可以构建一个有向图 (DAG),其中属于路线的每个停靠点都是一个节点,行程中两个停靠点之间的每个过渡都是一条边。然后,您可以对图 ( http://en.wikipedia.org/wiki/Topological_sorting ) 执行拓扑排序以获得停靠点的排序。请注意,拓扑排序仅适用于没有环的图,但实际上有些行程确实有环,因此如果它创建了一个环,您将不想添加边。
这恰好是 OneBusAway 应用程序套件用于订购停靠点的算法:
https://github.com/OneBusAway/onebusaway-application-modules/blob/master/onebusaway-transit-data-federation/src/main/java/org/onebusaway/transit_data_federation/impl/beans/RouteBeanServiceImpl.java#L281
请注意,有时路线会有 fork 或分支,其中有两组不相互交互的停靠点(每个分支一个)。朴素的拓扑排序可能会任意交错这些停靠点,但 OBA 代码使用以下两种启发式方法来获得更自然的排序:
1) 组站一起在同一个分支。
2) 两个分支相对排序时,先把分支放在离分支点较近的位置。
关于google-maps-api-3 - 在不使用 stop_sequence 的情况下确定正确的 GTFS 停止顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17496443/
我正在尝试查看 New York City Subway Realtime GTFS Feeds .经过大量阅读,我了解了 Protocol Buffers并安装了 protoc编译器。 纽约市交通局
我正在使用 GTFS 数据构建一个应用程序。当谈到 GTFS 实时时,我有点困惑。 我已将所有 GTFS 信息存储在数据库(Mongo)中,我能够检索特定公交车站的 parking 时间。 所以现在我
我目前正在开发一个java程序,该程序接收两个提要并打印出两个提要中缺少或部分包含的行程。例如,进给 1 具有行程 T1,且停靠点为 ABCDE;进给 2 具有行程 T2,且停靠点为 ABCD。所以T
我正在使用 GTFS 格式。我有一个问题,例如考虑一个小的复杂网络,其中用户想要从源“A”到目的地“B”,但实际上不存在从 A 到 B 的直接路由。但是我们可以通过站点 C 从 A 到达 B。我看不到
我能够成功解析 BART 的 GTFS 实时服务警报和 TripsUpdate 源。我还查看了 Java 教程页面的官方 Protocol Buffer ,并能够编译并运行该教程。 https://d
我正在尝试 GTFS(并且只学习了几个月的 Android 编码)。我注册为我的交通系统的开发人员,并收到了用于下载 GTFS 数据的 key 。 但是,他们要求您将 GTFS 数据下载到您自己的服务
使用标准的 GTFS 数据库,我尝试将行程最后一站的名称添加到我当前的查询中,该查询返回以下内容: | trip_id | service_id | d
我是第一次使用 GTFS 结构,在查询时遇到了问题。我已将传输数据放入 mysql 表中,并可以自由查询它们,但我觉得我进行了太多的查询和循环以获取最简单的信息。 我想在单个查询中获得的是两个已知站点
我正在创建一个应用程序,它可以告诉人们公交车何时从某个站点出发,我想为其添加路线规划。 我需要一种方法来在几秒钟内规划从一个站点到另一个站点的路线。我正在从解析为 SQLite 的 GTFS 文件获取
我有使用静态 GTFS 文件的经验,这些文件定义了特定公共(public)交通网络的操作模型。然而,我的城市刚刚发布了公交车位置的实时反馈以及网络的其他状态更新。 我的问题是,我应该如何实时查看此提要
如何使用 MySQL 从 GTFS 数据中提取 stops 及其 stop_sequence 知道 route_id。 我想要这个是因为我正在尝试使用 Leaflet 绘制路线,这需要以正确的顺序给出
因此,我正在构建一个中转应用程序,该应用程序在数据库中为我提供一个 stop_id。我如何找到停靠的公交车?例如:10 路和 23 路公交车经过 stop_id# 1234我尝试了下面的查询,但它每次
抱歉冒充“帮助吸血鬼”。我是 Android 的新手,也是 GTFS 的新手。我正在尝试从 MTA 读取 NYC 地铁线路的数据,该数据采用 GTFS 实时格式。一切正常;我已经建立了 URL 连接并
在丹佛的 GTFS 数据中,BUS_STOPS 表在 ROUTES 列中存储多个以逗号分隔的值: 28, 19, 44, 10, 32 我正在选择学校附近的 BUS_ROUTES。 但是要沿着这些路线
我正在尝试开发一个使用 GTFS 的应用程序。这似乎是一个愚蠢的问题,但我找不到任何答案。 以色列的 GTFS 是一个相当小的国家,公交基础设施不多,压缩文件约为 120 MB。现在我能想到的唯一可能
我正在使用下表: 1 0051ML66220600132482 06:00:00 06:00:00 1538 100 0 1 2 0051ML662
因此,我已经成功完成了没有 ETA 的路线申请。当我尝试实现此功能时,我在一条完整路线上遇到了多个 trip_id 停靠点,但我不确定我是否理解原因。有人可以为我澄清一下吗?任何想法/意见/建议表示赞
有时我有一个非常大的 gtfs zip 文件 - 有效期为 6 个月,但这对于将如此大的数据大小加载到低资源(例如,2 g 内存和 10 g 硬盘)中是不经济的磁盘)EC2 服务器。 我希望能够将这个
我无法找到允许我读取 GTFS 数据的 API。经过大量搜索,我能够找到并运行 This代码,但实际上并没有太多的解释。我最终无法弄清楚如何获取信息并将其显示在 .xml 布局中。 问题: 我是否需要
我有一个带有 GTFS 数据的 MySQL 数据库设置,我有返回停止时间的 php 脚本,我正在寻找添加实时数据。 我知道 Google 有关于如何将 gtfs realtime 与 php ( ht
我是一名优秀的程序员,十分优秀!