2017-06-02 18 views
0

GTFSデータ構造の2つの停留所間のルート/トリップを見つけるためにクエリを書く必要があります。私はすべてのcsvデータをmysqlテーブルに移行しました。ここで私は私に、間接ルートのすべての旅行を返しますクエリを作成することはできませんよstop_times.txt間接ルートのGTFS SQLクエリ

trip_id,arrival_time,departure_time,stop_id,stop_sequence,stop_headsign,shape_dist_traveled 
170309010001S10,12:24:00,12:24:00,10000871,1,MRT SG BULOH - HOSPITAL SG BULOH,0.00688 
170309010001S10,12:28:32,12:28:32,10000872,2,MRT SG BULOH - HOSPITAL SG BULOH,1.249023 
170309010001S10,12:29:57,12:29:57,10002386,3,MRT SG BULOH - HOSPITAL SG BULOH,1.595181 
170309010001S10,12:31:58,12:31:58,10000874,4,MRT SG BULOH - HOSPITAL SG BULOH,2.113874 
170309010001S10,12:33:45,12:33:45,10000875,5,MRT SG BULOH - HOSPITAL SG BULOH,2.56561 

のためのサンプルデータである、任意のヘルプは本当に感謝します。

+1

OpenTripPlanner:http://docs.opentripplanner.org/en/latest/Basic-Usage/を参照すると、別のルートで開始および終了するパスを見つける必要がある場合は、最適な方法です。 –

答えて

0

Trip.IdとRoute.Id Beteweenが2つだけ停止したい場合は、

select StopTimes.TripId , Trips.RouteId 
from StopTimes 
join Trips on (Trips.Id = StopTimes.TripId) 
Where TripId in 
(
    select StopTimes.TripId 
    from StopTimes 
    Where StopTimes.StopId = FirstStopId 
) 
And StopTimes.StopId = SecondStopId 

StopTimes.TripIdにインデックスを作成するために、覚えておいてください。

関連する問題