2017-03-29 37 views
1

我需要將GTFS旅行分組到人類可理解的「路線變體」。因爲一條路線可以根據日期/時間等運行不同的行程。如何分組類似的GTFS旅行

是否有任何首選方式將相似旅行分組?行程shape_id看起來很有希望,但是有沒有保證所有類似行程都具有相同的shape_id?

我的GTFS數據導入到我的sql數據庫中,數據庫結構與GTFS txt文件相同。

UPDATE 我不是在尋找的SQL查詢例子,即時尋找高水平的例子,如何將類似的旅行人性化「路線的變體」。

許多路線規劃應用程序(如Moovit)使用GTFS數據作爲來源,並向用戶顯示不同的路線變體。

+0

向我們展示db架構,示例數據和預期輸出。 \t請閱讀[**如何提問**](http://stackoverflow.com/help/how-to-ask) \t \t這裏是一個偉大的地方[** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)來了解如何提高您的問題質量並獲得更好的答案。 –

+0

編輯原始問題 – devha

+0

我知道'avl',我知道'路由選擇',不知道'GTFS'或'Moovit'.I不會做研究,以瞭解這些是什麼。所以你需要定義什麼是'友好的路線變體'。這意味着提供一個樣本數據和desrire輸出。 –

回答

2

沒有官方的方法來做到這一點。最好的方法可能是按照每次旅行的有序列表進行分組,有時稱爲旅行的「停止模式」。這個想法在Mapzen的概念層面here中討論。

實際上,我已經在給定的行程(從stop_times)創建了所有停靠點的連接字符串,並按照這些分組來定義類似的行程。例如,如果給定行程中的停止點是AB,C,DE,則創建字符串A-B-C-D-EA_B_C_D_E,並對該字符串進行組旅行。該功能不是SQL規範的一部分,儘管MySQL將它實現爲GROUP_CONCAT,PostgreSQL使用數組和array_to_string。您也可以將route_idshape_id添加到分組中,以處理一些轉角情況。

+0

謝謝!那正是我想要的。 – devha

相關問題