Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

バス停検索サービスにGTFSデータを全部入れてみた

1,670 views

Published on

「標準的なバス情報フォーマット(GTFS-JP)」データを「バス停検索」サービスへ全部入れてみようと試みた話しです。
2020年3月7日に開催されたライブ放送「公共交通オープンデータ最前線2020」のLT発表資料です。
(イベント名とリンク等を若干修正しました)

Published in: Internet
  • Be the first to comment

  • Be the first to like this

バス停検索サービスにGTFSデータを全部入れてみた

  1. 1. 公共交通オープンデータ最前線2020 in インターナショナルオープンデータデイ2020 バス停検索サービスにGTFSデータ を全部入れてみた 2020年3月7日 バス停検索運営 青い森ウェブ工房 代表 福田匡彦 バス停検索 https://buste.in/ 2020/3/71
  2. 2. ・青森県八戸市出身(44歳 独身) ・東京で8年間ほど会社員ウェブプログラマー ・主な職歴 2000年 雑誌「東京ウォー◯ー」のウェブサイト運営会社へ常駐 (PerlのCGI作ってました) ・2004年 ゲーム会社「元気」勤務 (この頃にPerlからPHPへと軸足を移す) ・2008年 地元八戸市へUターンし、青い森ウェブ工房を開業 ・2011年6月から全国対応「バス停検索」サービスを運営中 URL https://buste.in/ 〜このあたりからバスが趣味から仕事になり始める〜 ・標準的なバス情報フォーマット広め隊のメンバー 福田の自己紹介 バス停検索 https://buste.in/ 2020/3/72
  3. 3. 「バス停検索」は、青い森ウェブ工房(青森県八戸市)が 運営する無料サービス。 ※2011年6月に公開 URL https://buste.in/ http://バス停検索.jp/ でも可 全国のバス停が探せる 「バス停検索」とは? バス停検索 検索 バス停検索 https://buste.in/ 2020/3/73
  4. 4.  以前からバス停を検索できるサービスが作りたかったが、個 人でのバス停データ収集は困難。(八戸市内で断念…)  地図上からバス停を探せれば便利なのにという想い。  2011年4月に国土交通省から国土数値情報「バス停留所デー タ」が一般公開された事。  まさに夢のようなデータ、それが国土数値情報だった。 ぶっちゃけ、自分がこういうサービス欲しかったのです(笑) こうして、趣味から始めたサイトだが、徐々に仕事になってき ています。 当サービスを始めるきっかけ バス停検索 https://buste.in/ 2020/3/74
  5. 5. PHPとMySQLが好きです! ・Webサーバ Apache 2.x系 SSL(https)対応済み ・使用データベース MySQL 8.x系 ・主な使用言語 PHP 、JavaScript ・使用フレームワーク CakePHP ・地図 OpenStreetMap+leaflet(2018年Google Maps APIから切替え) バス停検索の動作環境 バス停検索 https://buste.in/ 2020/3/75
  6. 6. 全国の有志により、一部地域では日々データ更新が 行われています。 しかし、26万件以上もバス停データ&路線データが あると、それ以外の地域は手付かずで正確度の低い データが多くあります。 路線バスのダイヤ改正は、全国いつもどこかで行わ れていますから、追いつきません… (皆さん本業もあり、多くの時間をかけるのは難しい もの) バス停検索データは更新してる? バス停検索 https://buste.in/ 2020/3/76
  7. 7. バス停検索のバス停データ件数 ・国土数値情報を元に作成した初期データ(2011年) 約25万件 ◯新規追加データ ↑約2万4千件 △廃止や重複等のデータ ↓約1万1千件 ◎収録合計バス停データ数 約26万3千件 (データ件数は2020年3月現在) バス停データ追加の成果 バス停検索 https://buste.in/ 2020/3/77
  8. 8. ここ数年で次々と全国各地で公開されているGTFS(標準 的なバス情報フォーマット)形式のオープンデータを活用 して、もっと正確なバス停情報を提供できるのではない か?と考えました。 主な活用方法  GTFSと一緒に地図表示 バス停検索データとGTFSデータをまとめて地図へ一緒 に表示させる  マッチングして差分を修正 バス停検索データとGTFSデータのマッチングをして、 差分の修正を行う 正確度を向上するには? バス停検索 https://buste.in/ 2020/3/78
  9. 9. 現行バス停検索データとGTFSデータをまとめて地図上へ 一緒に表示させる事で、新鮮で正確性の高いバス停デー タ位置や名称がわかり、現状よりはマシになりそう メリット  手軽に正確な情報を乗せる事が可能  情報の反映が楽 デメリット  並んで表示されるバス停が増えて、目的のバス停を見 つけにくくなる?  バス停検索データは変わらない(根本解決では無い) GTFSと一緒に地図表示 バス停検索 https://buste.in/ 2020/3/79
  10. 10. バス停検索データとGTFSデータのマッチングをして、 差分の修正を行う事で、正確度を向上させる事が可 能 メリット  公式データと直接比較できる  バス停検索データの正確度を根本的に向上 デメリット  差分を埋めるための修正には時間と手間がかかる GTFSとマッチングして 差分を修正 バス停検索 https://buste.in/ 2020/3/710
  11. 11. 日本国内のGTFS作成&オープンデータ化は、かなり発展途上で、三大都市圏 でも寂しい状況。 実はGTFS界隈では、群馬県、山梨県、岡山県が先進事例です!(県内の多くの 路線バスへ対応済み) そんな状況で、最近北海道内でも多くの バス会社GTFSデータが公開され始めました。 (一部はデータ品質に課題あるようですが) 2020年3月5日現在では全国「228事業者」 も公開されています! (いくつかの定期旅客航路データも含みます) GTFSデータは全国出てるの? バス停検索 https://buste.in/ 2020/3/711 (参考:https://home.csis.u-tokyo.ac.jp/~nishizawa/gtfs/ 2020年3月5日作成)
  12. 12. バス停検索は全国対応ですから、「全228事業者」の GTFSデータ使用を目指します! しかし、GTFSファイルの取得と解凍、DBデータへ変換 を極力自動化できないと、もはやこれだけの最新データ を常時反映は難しいものです。 そんな自動化を試みた中で、いくつか困った点が出て来 ました。 とりあえずは、一部を人力で対応しますが、何とか楽な 方向に解決したいです! (主に北海道から東北、群馬、和歌山、沖縄で試しまし た) どこまで自動化できるか? バス停検索 https://buste.in/ 2020/3/712
  13. 13. 大変よく見る事例です! テキストファイルを直接圧縮するべきですが、誤っ てフォルダごと圧縮したzipファイルがありがちです。 対策:一旦ダウンロードしてから、圧縮し直して使 用する (毎回手間もかかり自動化できず) GTFS仕様に合致せず、正しく作成してもらう必要あ り 困った事 フォルダごとで圧縮している バス停検索 https://buste.in/ 2020/3/713
  14. 14. 圧縮ファイルでは無く、テキストファイル単体で公 開 対策:一旦各ファイルをダウンロードしてから、圧 縮し直して使用する (毎回手間もかかり自動化できず) GTFS仕様に合致せず、正しく作成してもらう必要あ り 例:酒田市 るんるんバス 困った事 テキストファイル単体で公開 バス停検索 https://buste.in/ 2020/3/714
  15. 15. ファイル名が「.txt」では無く、「.txt.csv」となり、 文字コードは本来UTF-8とすべきところ、シフトJISと なっている 例「feed_info.txt.csv」(本来は拡張子「.txt」) 対策:一旦ファイル名と文字コード変更を行ってから、 圧縮し直して使用する (毎回手間もかかり自動化できず) GTFS仕様に合致せず、正しく作成してもらう必要あり 例:秋田市マイタウン・バス、中心市街地循環バス 困った事 ファイル名や文字コードが違う バス停検索 https://buste.in/ 2020/3/715
  16. 16. あれ?外部プログラムからzipファイルをダウンロードで きないんじゃ無いかと焦る。 対策:直接zipファイルを呼び出せるURLへ変換する方法 を見つける 問題無し 例:北海道北見バス Google Drive上のファイルに直接アクセスする https://qiita.com/rot- z/items/299ac40361690c51ce1d 困った事 Googleドライブ上で公開 バス停検索 https://buste.in/ 2020/3/716
  17. 17. 路線別のzipファイルとなっており、ファイル数が多 く、管理と加工の手間が多くかかる 対応:初期の手間はかかっても、自動化は出来るか らまあいいか 例:上越市営バス(13ファイル)、海南市コミュニ ティバス(6ファイル) 困った事 路線別に小分けされている バス停検索 https://buste.in/ 2020/3/717
  18. 18. 公開GTFSファイルへ収録されている路線が明記され ておらず、それを調べる手間が必要とある。 (高速バスや受託路線など) 例えば、特に明記されていなくても、受託運行のコ ミュニティバスが含まれるバス会社もあれば、含ま れない会社もあります。 対策:GTFS配信ページへ収録範囲について書いて欲 しい 困った事 収録範囲がわかりづらい バス停検索 https://buste.in/ 2020/3/718
  19. 19. zipファイルの配信URLが固定では無く、次回以降の ダイヤ改正毎に配信URLを確認せねばならない懸念。 ファイル名へ日付入りな場合は(ダイヤ改正実施日が 多い)、固定URLではない可能性高く注意が必要。 例:「bus_data_201912.zip」 その点、北海道拓殖バスや日本中央バス、永井運輸 は固定URLで安心です! 例:「GTFS_regular_line.zip」 困った事 固定URL配信がうれしい バス停検索 https://buste.in/ 2020/3/719
  20. 20. 先程とは別なパターンで、ダウンロードする度にファイル名が変 わる仕様です。 ファイル名のうち、事業者番号「10001」等は変わらないが、そ の後にダウンロードした日時らしきものが入っている。 ファイル名例「10001_202003071600.zip」 対策:日時部分のみを消去して使用する 自動化は出来そうだが、そもそも固定ファイル名がありがたい 例:沖縄県のOTTOP提供データ また、OTTOPデータは、「feed_info.txt」が入っていないものが 多い傾向です。 ※GTFS-JPでは「feed_info.txt」が必須だが、GTFSだと任意。 困った事 zipファイル名がDL毎に変わる バス停検索 https://buste.in/ 2020/3/720
  21. 21. 最新GTFSデータだけ置いてある場合、近々実施のダイヤ改正対応データ は直前まで公開されず(前回分と差替え等)、それに気が付かず反映が遅れ る懸念もあります。 その点でも、北海道拓殖バス、青森市営バス、日本中央バス、永井運輸、 中津川市は現行データ、近日実施ダイヤ改正データだけでは無く、何と過 去のzipファイルまで公開しているのです!(太っ腹) (過去データは季節運行路線のバス停データを調べる時にも重宝しそう) 参考URL(上記のバス事業者)  https://www.takubus.com/オープンデータ/  https://www.city.aomori.aomori.jp/kotsu- kanri/koutsu/oshirase/20180401gtfs.html  https://www.ncbbus.co.jp/route/GTFS.htm  https://www.nagai-unyu.net/open-data/  https://www.rosenzu.com/~gtfs/nakatsugawa/ 希望 新旧のGTFSデータ置いて欲しい バス停検索 https://buste.in/ 2020/3/721
  22. 22.  多くのGTFSファイルは自動化出来そうだが、変動URL での配信が多く、最新URLをチェックする仕組みある と良さそう。 (誰か作って欲しい!)  一部手動操作が必要なものは、 ・使いやすい仕様にするよう管理者へ要望してみる ・どうにか自動化出来る手法を独自に編み出す などが考えられる。  GTFS仕様的に間違っているものは、連絡して訂正して もらう必要あり。 データ取込みの自動化まとめ バス停検索 https://buste.in/ 2020/3/722
  23. 23.  全部のGTFSデータをバス停検索へ入れる のは、想定外がチラホラ起こり、予想より も難しい…  自動化しづらいデータが複数ある  今回のタイトルは「バス停検索サービスに GTFSデータを全部入れてみた」でしたが、 全部はまだ無理でした… (やっと三十数個までは入ったところ) 結論 バス停検索 https://buste.in/ 2020/3/723
  24. 24. バス停検索データ数を基準とし、北海道内のGTFSオープンデータ公開率を算出してみました。 1.バス停検索の北海道内バス停数 「約1万4千ヶ所」 2.バス事業者毎の経由バス停を算出しそれを合算 「約1万6千ヶ所」 複数事業者が経由するバス停は重複カウントあり、1番より増加する 例:北海道中央バス2,827ヶ所、北海道拓殖バス396ヶ所等 3.GTFSデータを公開している事業者の経由バス停数を合算 「約9千9百ヶ所」 3番の事業者数値を基にして、公開事業者の経由バス停を合算 (GTFSには全路線収録と仮定して計算) 道内にある「約60%」のバス停データが公開されていると算出しました。 個人的には、宗谷バス、道北バス、ニセコバス、函館バスのデータが公開されるとうれしい♪ (※全く厳密では無く、あまりあてにならない数値です) 注意点 ・バス停検索のバス停データは最新とは限りません ・バス停検索へ未収録のコミュニティバスあります ・かなり大雑把な計算での目安です おまけ:北海道内の GTFSオープンデータ公開率? バス停検索 https://buste.in/ 2020/3/724
  25. 25.  青い森ウェブ工房 代表 福田匡彦  ご質問やお問い合わせは下記へ URL: https://8nohe.info/work/ Twitter @8nohe  標準的なバス情報フォーマット広め隊 URL: https://www.gtfs.jp/ 2020年3月7日 ご清聴ありがとうございました バス停検索 https://buste.in/ 2020/3/725

×