问题标签 [gtfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3426 浏览

c# - 如何使用 GTFS 提要?

我想在 Google 地图中使用 GTFS 提要,但我不知道如何使用。我想显示一条路线上可用的巴士。如您所知,我正计划实施我在 Visual C# 应用程序中制作的 Google 地图。

0 投票
1 回答
336 浏览

java - 在 GTFS 中查找与停靠点相关的路线,反之亦然(可能类似)

我希望有人能帮帮忙。

嗨,我正在为 Android 构建一个交通应用程序,但我遇到了障碍。

我想获取为特定站点提供服务的所有公共汽车/路线。

例如,站号:12345 有巴士:123 和 321。

我有这段 SQL:

但是每次停止查询需要很长时间。

我有以下索引:

除了将我的 SQLite 数据库的大小增加一倍之外,它对速度的影响并不大。

有谁知道在 android 设备上以合理的速度检索我需要的值的更快方法?

提前致谢。

0 投票
1 回答
525 浏览

gtfs - 查找火车连接的方法是什么?

我查看了 GTFS 的数据示例。我希望能够找到一种方法或逻辑来查找火车连接。

例如。我们有三个火车站: Big_City_Station(这是一个巨大的目的地) Mid-size_Station(一个大型枢纽 - 换乘点) Midway_Station(距离 Big_City_Station 20 英里的枢纽 - 换乘点) Home_Station(每天早上开始旅行的郊区)

有几条火车路线从 Home_Station 出发。让我们称它们为主要和次要的。Primary 和 Secondary 几乎总是停在 Midway_Station。为了到达 Big_City_Station,我们从 Home_Station 开始,然后转乘在 Midway_Station 进行连接,希望能赶上前往 Big_City_Station 的火车。

什么方法让转运点效率最高?是否有从 A 点到 B 点的算法,包括中转站?或者编程解决方案只是这样:如果没有从 Home_Station 到 Big_City_Station 的不经停的火车旅行,则检查 Home_Station 是否有下一趟停靠在换乘点的火车并获取火车时间以进行连接?谢谢!

0 投票
1 回答
962 浏览

c# - 在 Visual C# 中使用 GTFS 计划查看器

我使用 Google 的 GTFS Schedule Viewer 来可视化我的 Google Transit 数据。这对我有用。但是,我想知道如何在我的 Visual C# 应用程序中显示我的日程安排查看器。看来您必须运行 schedule_viewer.exe 文件才能查看该网站。如何查看日程安排?我希望能够在 WebBrowser 控件中查看它。这是时间表查看器网站:https ://support.google.com/transitpartners/answer/1095563?hl=en

0 投票
2 回答
1544 浏览

google-maps-api-3 - 在不使用 stop_sequence 的情况下确定正确的 GTFS 停止顺序?

我正在为我正在开发的应用程序使用 GTFS 提要。我正在尝试列出所选路线的所有站点。目前,我正在尝试按 stop_sequence 对列表进行排序,但这无法正常工作,因为有些行程不会到达每个站点,并且我收到的数据将 stop_sequence 增加 1 per stop per trip。这样做的意义在于 stop_sequence 不考虑可能有更多或更少停靠点的其他行程。

这是一个例子:

这是路线的停靠点顺序,(忽略并非每次旅行都会在每个停靠点停靠的事实)

现在这里是该路线的一些示例行程:

我的数据在做什么:

对于行程 1:

对于行程 2:

因此,当我尝试为一条路线订购所有可能的停靠点时,我最终得到以下结果:

这显然是不正确的。

有谁知道正确排序停靠点的任何其他潜在想法,也许使用 GTFS 提要附带的其他数据?

更新了一个真实世界的例子

这是获取路线 915 的所有停靠点的数据库查询的示例输出。这是针对 AM 计划的。

这是许多通勤者当前使用的时间表的pdf链接。两个列表不同的第一个实例是在“COLUMBIA MALL & SOUTH RING RD eb”之后

http://mta.maryland.gov/sites/default/files/915May2011B.pdf

我试图让这个应用程序尽可能地对通勤者友好,但是与通勤者通常使用的相比,当停靠点出现故障时,可能会引起很多混乱。

更新 2:

我仍然看不到如何使用拓扑排序来获得正确的序列。是的,它可能会给出一个有效的序列,但不能保证它是通勤者可以轻松识别的正确序列。让我们看另一个使用我提供的 pdf 的示例。我们将查看行程 1 和 5 及直至“哥伦比亚购物中心”站。我将创建以下边缘:

从行程 1 创建的边

从 Trip 5 创建的边

拓扑排序确保的唯一事情是

对于从顶点 u 到顶点 v 的每个有向边 uv,u 在排序中排在 v 之前

这意味着有多个有效的顺序,但只有一个是我想要的实际正确的顺序(但我无法在其他有效顺序上选择这个顺序,至少我想不到)。

一个有效的顺序可能是(这也是正确的):

甚至

如您所见,根据拓扑排序,这两个都是有效的,但只有一个是我想要的。我想不出一种方法来根据 GTFS 提要提供的数据始终如一地选择正确的序列。

如果我看错了,请告诉我。

0 投票
1 回答
318 浏览

plugins - 我将如何创建扩展以在 CKAN 中预览 GTFS 数据?

我想创建一个扩展来预览 GTFS 数据——尽管我的问题更多是关于如何创建一个扩展来预览数据。

查看我找到的文档和代码。

以及现有预览扩展的这些示例:

是否有一个绝对最小扩展的示例来进行预览或关于我将如何为 GTFS 进行此操作的提示(什么是我工作的最佳示例)?

0 投票
1 回答
687 浏览

android - SQlite 查询 GTFS 数据中的停止时间

我正在使用 Android (SQlite) 上的 GTFS 数据。当我在填充了 GTFS 数据的数据库中选择查询时,我想提高性能。

下面的查询选择与停靠点的路线关联的停靠时间:

第一个子查询获取星期四的每日停止时间。第二个获取对今天无效的所有异常停止时间(2013-07-25)。第三个获取仅对今天有效的所有异常停止时间(2013-07-25)。然后我删除无效的并将有效的添加到第一个子查询中。

计算大约需要 15 秒(这很长)。我确信有一个更好的方法来做这个查询,因为我做了 3 个不同的查询(顺便说一句几乎相同),这需要时间。

知道如何改进吗?

编辑:这是架构:

这是查询计划:

0 投票
1 回答
533 浏览

mysql - GTFS 数据 - 停止数据

目前对我的 SQL 技能感到有点生疏。我想要实现的是将两个 SQL 查询连接成一个,它基本上为我提供了有关特定停止的所有信息。

第一个查询很简单。它需要所有停止信息。我会说小菜一碟;)

第二个稍微复杂一些,但在这里找到了我的解决方案,并进行了一些小改动,就像我想要的那样。

现在,我想在第一个查询结果中添加第二个查询结果作为另一列。多亏了在 json_encode 之后,我将拥有包含我需要的所有信息的漂亮 JSON!

谢谢!

0 投票
1 回答
310 浏览

python - 在 Sqlite 中对多索引大型数据库表进行排序

我正在尝试(带有WHERE子句)中选择并通过 python 对 sqlite3 中的大型数据库表进行排序。目前对大约 36 MB 的数据进行排序需要 30 多分钟。我觉得它可以比索引更快地工作,但我认为我的代码顺序可能不正确

代码按此处列出的顺序执行。

  1. 我的CREATE TABLE陈述如下所示:

    /li>
  2. 然后在下一步中插入这些行:

    /li>
  3. 接下来,我从两列 (trip_idstop_sequence) 创建一个索引:

    /li>
  4. 最后,我运行一个SELECT带有WHERE子句的语句,该子句按索引中使用的两列对这些数据进行排序,然后将其写入 csv 文件:

    /li>

有什么方法可以加快第 4 步(可能会改变我添加和/或使用索引的方式)还是应该在运行时去吃午饭?

我添加了 PRAGMA 语句以尝试提高性能但无济于事:

0 投票
2 回答
2978 浏览

javascript - 如何使用 Javascript 在 Google Map v3 中使用 GTFS 提要?

我是第一次尝试根据 Google 开发者页面将 GTFS(通用运输提要规范)与 Google 地图一起使用,我已经了解用作提要的 .txt 文件的概念,并且为了制作演示,我从谷歌开发者页面。但我不知道如何使用这些传输文件在地图上显示信息。我试图搜索相同的教程,但找不到任何有用的东西。我需要解析所有这些文件以显示在地图中还是有不同的实现。

我很困惑。

请原谅我对 GTFS 缺乏了解。