Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用GTFS查找与站点相关的路线?_Mysql_Gtfs - Fatal编程技术网

Mysql 如何使用GTFS查找与站点相关的路线?

Mysql 如何使用GTFS查找与站点相关的路线?,mysql,gtfs,Mysql,Gtfs,因此,我正在构建一个transit应用程序,它在数据库上为我提供一个stop_id。我如何找到停靠的公共汽车? 例:10路和23路公共汽车经过车站1234号 我尝试了下面的查询,但每次只提供一条总线 select distinct r.route_short_name from routes r, trips t, stop_times st where r.route_id = t.route_id and t.trip_id = st.trip_id and st.stop_id = 我

因此,我正在构建一个transit应用程序,它在数据库上为我提供一个stop_id。我如何找到停靠的公共汽车? 例:10路和23路公共汽车经过车站1234号 我尝试了下面的查询,但每次只提供一条总线

select distinct r.route_short_name
from routes r, trips t, stop_times st
where r.route_id = t.route_id
and t.trip_id = st.trip_id
and st.stop_id = 

我检查了我的gtfs文件,发现stop#u id#1234有两辆不同的巴士在为它服务。我也尝试了它,但没有使用DISTINCT,它只是重复列出相同的总线。任何意见/帮助/想法都将不胜感激。

您的想法是正确的,但您应该将表格合并在一起。试试这个:

SELECT DISTINCT r.route_short_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>;
如果尚未将
route\u id
trip\u id
定义为各自表的主键,则还需要为它们创建索引:

CREATE INDEX routes_route_id_index ON routes(route_id);
CREATE INDEX trips_trip_id ON trips(trip_id);

你的想法是对的,但你应该把桌子放在一起。试试这个:

SELECT DISTINCT r.route_short_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>;
如果尚未将
route\u id
trip\u id
定义为各自表的主键,则还需要为它们创建索引:

CREATE INDEX routes_route_id_index ON routes(route_id);
CREATE INDEX trips_trip_id ON trips(trip_id);

谢谢你的回复!我尝试加入,但仍然只收到一条路线:(有意思。今天早上我对自己的数据集进行了测试,得到了正确的结果。你能发布GTFS包(ZIP文件)吗找个地方让我抓取?是的。这是开放数据,所以我应该可以。链接是:太好了。我今晚会看一看。非常感谢你的帮助!感谢你的回复!我尝试了加入,但仍然只收到一条路线:(有意思。今天早上我对自己的数据集进行了测试,得到了正确的结果。你能将GTFS包(ZIP文件)发布到某个地方让我抓取吗?是的。它是开放数据,所以我应该能够。链接是:太好了。我今晚会看一看。非常感谢你的帮助!