The General Transit Feed Specification (GTFS) 咒唆,谷歌的Map團(tuán)隊(duì)設(shè)計(jì)的一個(gè)公共交模型的通設(shè)計(jì)模板卵贱。其中包含一些公共交通設(shè)施的基本元素,可借鑒擴(kuò)展怖糊。官網(wǎng):Google GTFS
1.組成元素
-
agency.txt⊙盖弧(機(jī)構(gòu)霜浴,運(yùn)行商)必須
-
stops.txt (站點(diǎn)恭应,出入口)必須
-
routes.txt〕(路線)必須
-
trips.txt (路趟----每一趟車)必須
如果把route表示每一條線路昼榛,那么trip就是跑在每一個(gè)線路上的車境肾。
比如同是地鐵5號(hào)線,3點(diǎn)以班車褒纲,5點(diǎn)一班車,那么就是兩個(gè)trip表示钥飞。還有上下行車次莺掠,區(qū)間車等等情況。
-
frequencies.txt《林妗(頻率)可選
引入頻率彻秆,更好的表示trip,如頻率表示:7am~9am 每3分鐘一趟車结闸。而Trip直接引用frequency即可唇兑。
-
calendar.txt (日歷)必須
日歷的作用是定義trip的生效日期桦锄,比如一個(gè)trip規(guī)定一個(gè)車扎附,在工作日是一個(gè)頻率,在周末是另一個(gè)頻率结耀,日期參數(shù)就很有用了留夜。
-
calendar_dates.txt (日歷-日期)可選
日期的特殊情況-----節(jié)假日图甜,在日期規(guī)定了每個(gè)工作日都是一個(gè)頻率碍粥,但是偏偏周一是清明節(jié)(放假),那么這一天也是按照周末的頻率來(lái)的黑毅。calendar_dates定義假期嚼摩,當(dāng)假期與calendar有重疊,會(huì)以calendar_dates為準(zhǔn)矿瘦。
-
stop_times.txt≌砻妗(停車-時(shí)間)必須
這是一個(gè)與trip相關(guān)的表,表示站點(diǎn)的到站時(shí)間缚去,離站時(shí)間膊畴,上下車屬性等等。
-
fare_rules.txt〔∮巍(票價(jià)-規(guī)定)可選
公交必定是要收費(fèi)的唇跨,這個(gè)表規(guī)定收費(fèi)規(guī)則稠通。
-
fare_attributes.txt (票價(jià)-屬性)可選
表示收費(fèi)的具體規(guī)則對(duì)應(yīng)的錢是多少买猖。
-
shapes.txt「拈佟(形狀)可選
一般地圖信息,都會(huì)存儲(chǔ)一個(gè)形狀信息玉控,用于展示(渲染)飞主,形狀是用經(jīng)緯度點(diǎn)組成的數(shù)組來(lái)表示的。
-
transfers.txt「吲怠(轉(zhuǎn)車)可選
2.使用
Google的GTFS默認(rèn)是txt格式碌识,其實(shí)是csv的形式定義的。想要使用虱而,需要按照需求轉(zhuǎn)化為特定的格式筏餐,然后錄入數(shù)據(jù)就是了。網(wǎng)上也有網(wǎng)友把格式轉(zhuǎn)化為對(duì)應(yīng)的load.sql 在MySQL導(dǎo)入的時(shí)候牡拇,直接執(zhí)行即可初始化魁瞪。
3.結(jié)尾
GTFS在業(yè)界統(tǒng)一了公交數(shù)據(jù)規(guī)范,很多公司惠呼,是基于GTFS來(lái)做二次開(kāi)發(fā)导俘,或者世界使用此模型。了解GTFS對(duì)了解公交模型剔蹋,還是很有幫助的旅薄。