【发布时间】:2015-09-15 07:37:32
【问题描述】:
我正在尝试按日、月和年查找“路线”的收入英里/公里数;通过查询具有此处描述的结构的 GTFS 数据库:
https://developers.google.com/transit/gtfs/reference
请看这里以获得非常清晰的结构草图:
http://blog.openplans.org/2012/08/the-openplans-guide-to-gtfs-data/
“收入行进距离”定义:
(“可供乘客使用”距离)
从第一个实际巴士站行驶的英里/公里数 乘客可以上车的地方,到最后一班车的最后下车地点 停止,针对该特定路线和公共汽车运行。 (然后聚合在一起 对于该特定路线的所有公共汽车所采取的所有服务运行)
-
“营业时间”定义:
(“可供乘客使用”时间跨度)
从车辆第一次到达的那一刻起的小时数 巴士站,直到它在最后一个乘客下车的那一刻 公交车站。 (然后将所有人进行的所有服务运行汇总在一起 特定路线的巴士)
我正在使用 SQL Server/MSSQL。尽管 SQL Lite、MySQL 或任何 SQL 示例都可以。
基本上,我需要能够选择一条路线,然后关联routes、calendar_dates、calendar、stop-times、stops 和trips 表中的数据以查找如何从第一站(stop_times 和 stops 表)到最后一站,经过了多少英里/公里,并为特定的 service_id 找到这个(在 trips 和 calendar 表中),然后还针对特定路线的所有service_ids,并且能够针对特定date(在calendar_dates 表中)或日期范围(日、月、3 个月期间、年)获得所有这些等)。
如果需要几个不同的查询,那很好。每条路线行驶的收入距离和每条路线的收入小时数可以单独查询。
之前有没有人愿意为此分享他们的查询结构,或者有没有人知道这一点?有没有关于如何编写此查询的示例?几个星期以来,我一直在网上到处寻找。
这是我创建的数据库的图表图像,其中详细显示了所有关系:
【问题讨论】:
-
您自己尝试过任何查询吗?加入路线、行程、站点和日历信息的查询并不复杂。这应该会给你一个很好的起点。
-
Something like this 让您开始?
-
我一直在尝试,但我对此很陌生。所以我还没有任何有用的东西。我可以加入表格,但是查找并汇总从第一个服务站到特定路线的最后一个服务站的英里数,然后在特定时间跨度内组合该路线上的所有运行,有点超越我。即使是部分示例也将不胜感激。
-
我已经看了几天你链接到的那个帖子(以及所有其他关于 SO),但还不能适应我的需要......
-
@jpw
stop_times表有一个shape_dist_traveled字段,用于给出停靠点之间的距离
标签: sql database gtfs transit revenue