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.

PHP製バス停検索サービスでのバス情報オープンデータ活用(沖縄)

187 views

Published on

徐々に全国でオープンデータ化されている「標準的なバス情報フォーマット(GTFS-JP)」データのバス停情報等を活用する際のポイントです。
2019年10月12日に開催された「PHPカンファレンス沖縄2019」のLT発表資料です。

Published in: Internet
  • Be the first to comment

  • Be the first to like this

PHP製バス停検索サービスでのバス情報オープンデータ活用(沖縄)

  1. 1. PHPカンファレンス沖縄2019 ライトニングトーク PHP製バス停検索サービスでの バス情報オープンデータ活用 2019年10月12日 バス停検索運営 青い森ウェブ工房 代表 福田匡彦 バス停検索 https://buste.in/ 2019/10/121
  2. 2. ・青森県八戸市出身(43歳 独身) ・東京で8年間ほど会社員ウェブプログラマー ・主な職歴 2000年 雑誌「東京ウォー◯ー」のウェブサイト運営会社へ常駐 (PerlのCGI作ってました) ・2004年 ゲーム会社「元気」勤務 (この頃にPerlからPHPへと軸足を移す) ・2008年 地元八戸市へUターンし、青い森ウェブ工房を開業 ・2011年6月から全国対応「バス停検索」サービスを運営中 URL https://buste.in/ 〜このあたりからバスが趣味から仕事になり始める〜 ・標準的なバス情報フォーマット広め隊のメンバー 福田の自己紹介 バス停検索 https://buste.in/ 2019/10/122
  3. 3. 昔から路線バスや鉄道が好きで、最近は旅客船も好んで 乗っています。 先月開催のPHPカンファレンス北海道へは往復フェリー 移動! でも、今回は時間の都合で飛行機ばかりなため、「那覇 〜北谷〜恩納〜本部」の船へ乗る予定が、強風で欠航に … なお、帰りはLCCで下地島空港から帰ります。 元々パイロット訓練用空港で、2019年3月に定期旅客便 が24年ぶりに復活で合法的に乗れるチャンス! バスや船、鉄道好き バス停検索 https://buste.in/ 2019/10/123
  4. 4. 「バス停検索」は、青い森ウェブ工房(青森県八戸市)が 運営する無料サービス。 ※2011年6月に公開 URL https://buste.in/ http://バス停検索.jp/ でも可 全国のバス停が探せる 「バス停検索」とは? バス停検索 検索 バス停検索 https://buste.in/ 2019/10/124
  5. 5.  以前からバス停を検索できるサービスが作りたかったが、個 人でのバス停データ収集は困難。(八戸市内で断念…)  地図上からバス停を探せれば便利なのにという想い。  2011年4月に国土交通省から国土数値情報「バス停留所デー タ」が一般公開された事。  まさに夢のようなデータ、それが国土数値情報だった。 ぶっちゃけ、自分がこういうサービス欲しかったのです(笑) こうして、趣味から始めたサイトだが、徐々に仕事になってき ています。 当サービスを始めるきっかけ バス停検索 https://buste.in/ 2019/10/125
  6. 6. ・Webサーバ Apache 2.x系 SSL(https)対応済み ・使用データベース MySQL 5.x系(8も出てますが) ・主な使用言語 PHP 5.x系(7も出てますが)、JavaScript ・使用フレームワーク CakePHP ・地図 OpenStreetMap+leaflet(2018年Google Maps APIから切替え) PHPとMySQLが好きです! バス停検索の動作環境 バス停検索 https://buste.in/ 2019/10/126
  7. 7. 沖縄県のバス停詳細ページPV数の上位10バス停 1. 那覇空港国内線ターミナルバス停(沖縄県那覇市) 2. 那覇バスターミナル・旭橋バス停(沖縄県那覇市) 3. 小禄バス停(沖縄県那覇市) 4. 牧志バス停(沖縄県那覇市) 5. 沖縄こどもの国バス停(沖縄県沖縄市) 6. 名護バスターミナルバス停(沖縄県名護市) 7. 沖縄南インターバス停(沖縄県沖縄市 8. 県庁北口バス停(沖縄県那覇市) 9. 沖縄北インターバス停(沖縄県沖縄市) 10. 道の駅豊崎バス停(沖縄県豊見城市) 那覇都心部、空港、ゆいレール駅名が付いたバス停が人気なようです (バス停検索のバス停詳細ページ閲覧数基準、集計期間:2019年10月までの一年間) 沖縄で人気のバス停は? バス停検索 https://buste.in/ 2019/10/127
  8. 8. 全国の有志により、一部地域では日々データ更新が 行われています。 しかし、26万件以上もあると、それ以外の地域は手 付かずなデータが多くあります。 (皆さん本業もあり、多くの時間をかけるのは難しい もの) ・その対策とは? ここ数年で次々と全国各地で公開されているGTFS 形式のオープンデータを活用して、より正確なバス 停情報を提供できるのではないか? バス停検索データは更新してる? バス停検索 https://buste.in/ 2019/10/128
  9. 9. バス停検索のバス停データ件数 ・国土数値情報を元に作成した初期データ(2011年) 約25万件 ◯新規追加データ ↑約2万1千件 △廃止や重複等のデータ ↓約9千件 ◎収録合計バス停データ数 約26万2千件 (データ件数は2018年10月現在) バス停データ追加の成果 バス停検索 https://buste.in/ 2019/10/129
  10. 10. 「GTFS」という名前を聞いた事あ りますか? 「GTFS」データを触れてみた事あ りますか? GTFSとは何者? バス停検索 https://buste.in/ 2019/10/1210
  11. 11. 「GTFS(General Transit Feed Specification)」 は、Googleが公開して世界標準となった公共交通情 報用フォーマットです。 日本の路線バス事情へ合わせてアレンジしたものが 「標準的なバス情報フォーマット(通称:GTFS- JP)」です。 なお、「GTFS」は時刻表や路線経路などの「静的」 な情報が対象で、運行状況などの「動的」な情報は、 「GTFSリアルタイム(GTFS-RT)」という別フォー マットがあります。 標準的なバス情報フォーマット (GTFS-JP)とは? バス停検索 https://buste.in/ 2019/10/1211
  12. 12. ・Googleへ送れば、Googleマップの経路検索へ載 せてもらえる! →Googleマップへ出てこないバス路線は、走って いないも同然という視点もあります ・外部の人々がそのデータ使って、公式よりも便利 なサービスを勝手に作り、公開してくれるかも? →公式が不便なら自分達で作ってしまえの精神 ・目に触れる機会が増えることで、誤りが判明しや すいメリットもある →公式サイト情報が誤っている事もありがち GTFSデータを 作るとどうなる? バス停検索 https://buste.in/ 2019/10/1212
  13. 13. 日本国内のGTFS作成&オープンデータ化は、かなり発展途上 で、三大都市圏でも寂しい状況。 実はGTFS界隈では、群馬県、山梨県、岡山県が先進事例で す!(県内の多くの路線バスへ対応済み) (参考資料:旭川高専 嶋田先生提供 (参考:https://www.gtfs.jp/ 2019年9月作成) 2019年2月作成) GTFSデータは全国出てるの? バス停検索 https://buste.in/ 2019/10/1213
  14. 14. 沖縄では数ヶ月前まで、下記の高速バス路線しか、 オープンなGTFSデータはありませんでした…  やんばる急行バス (那覇空港〜名護市〜美ら海水族館〜運天港)  沖縄エアポートシャトル (那覇空港〜恩納村〜名護市〜美ら海水族館) ※那覇空港〜美ら海水族館は他社運行の高速バスも 運行され、激しい競争です 沖縄県のGTFSデータ整備 &オープン化状況は? バス停検索 https://buste.in/ 2019/10/1214
  15. 15. しかし、今年8月頃に「Okinawa Transit and Tourism Opendata Platform(OTTOP)」で、多数データ公開されて、一 変したのです! (沖縄県庁がGTFS作成& オープンデータ化を推進) ・OTTOP https://www.ottop.databed.org まだ、石垣島や宮古島周辺のデータ のみですが、沖縄本島のデータも今後公開 されるようです。 2019/10/12バス停検索 https://buste.in/ 15 沖縄県全体で一気にデータ 整備&オープン化! ※地図左側が石垣や宮古、右側が本島 (参考資料:旭川高専 嶋田先生提供 2019年9月作成)
  16. 16. 沖縄の画期的なところは、路線バス以外も多く含ま れることです。 ◎掲載例  離島行きなどの定期旅客船 (石垣〜竹富、西表等)  西表島のジャングルクルーズ 旅客航路のデータは全国で少ない 2019/10/12バス停検索 https://buste.in/ 16 沖縄県GTFSデータの特徴1 右写真は石垣島離島ターミナルの出発案内 10分毎に船が出発する時間帯 (2014年頃撮影)
  17. 17. ◎掲載例  (予定)沖縄都市モノレール「ゆいレール」 鉄軌道系データはとても珍しい  西表島〜由布島の水牛車! ダイヤに合わせて動くなら何でもあり!? 2019/10/12バス停検索 https://buste.in/ 17 沖縄県GTFSデータの特徴2 (写真は2014年頃撮影) 駅停車中のゆいレール 運行中の水牛車 水牛車乗り場 時刻表もあり
  18. 18. 関東、甲信越、北陸の 状況です。 群馬県、山梨県、富山 県はほぼ全データを公 開のため、充実してい ます。 なお、東京都内は都バ スと群馬発の高速バス 程度で、実は後進地域 です… なので、沖縄は東京よ りも先進的! 関東周辺のGTFSデータ整備 &オープン化状況は? バス停検索 https://buste.in/ 2019/10/1218 (参考資料:旭川高専 嶋田先生提供 2019年9月作成)
  19. 19. 沖縄県内のように路線バス以外の公共交通情報もオープンデータされると何が できるのか? 例えば、 ・オープンソースの経路検索エンジン「OpenTripPlanner」(OTP)と組み合 わせると凄いのできそう ・OTP(Java製でOpenStreetMapデータを使う模様) http://www.opentripplanner.org/ ・OTPにデータを取り込むと、乗換検索や決済までも含めたMaaSアプリを作 るためのベースが出来上がる!(一儲けできるのでは!?) ・観光や不動産情報サイトで、交通情報も提供できると便利では? ・公式サービスが使いくいなら、自分が使いやすい時刻表検索サービスを作っ てしまう! などが考えられます。 GTFSデータが あるとできること? バス停検索 https://buste.in/ 2019/10/1219
  20. 20. PHPerなので、PHP製でGTFSデータを使う 際に便利なライブラリや ツールを探してみ ました。 でも、ありませんでした… そもそも、世界的に見ても、まだまだGTFS 関連のライブラリや ツールは少ないみたい です。 便利なライブラリや ツールあるの? バス停検索 https://buste.in/ 2019/10/1220
  21. 21. いくつか有名なツールがありますが、残念ながらPHPでは無く… 1.onebusaway http://developer.onebusaway.org/modules/onebusaway-gtfs- modules/1.3.3/onebusaway-gtfs-merge-cli.html 複数のGTFSファイルのマージする →Java製らしい 2.GTFS ORM using SQLAlchemy(OpenTransitToolsの一つ) https://github.com/OpenTransitTools/gtfsdb データベースへGTFSデータを投入するツール →Python製らしい PHPで作るなら、今がチャンスかも!? 便利なライブラリや ツールあるの? バス停検索 https://buste.in/ 2019/10/1221
  22. 22. GTFSデータを使う側では、ライブラリやツールがまだ不十分ですが、GTFS データを作るツールは、日本語対応の凄いのが揃っています。 ・その筋屋 http://www.sinjidai.com/sujiya/ 無償でも使える「ダイヤ編成支援システム」(Windows用) 本来高額なシステムが、なぜか無償使用可能で(条件付き)、標準でGTFS形式 データ出力可能! (他社の有償システムでは、出力機能追加するなら◯十万円かかる話も…) これさえあれば、自宅でもダイヤの「筋」を引き放題です。 なお、利用言語は「Delphi」とのことで、開発者は道◯バスでシステム開発、 X68000での開発経験もあるという異色の経歴です。 ◯100台規模など、比較的大きいバス会社でも導入可能 △筋を引いたことが無い人には、敷居が高い GTFSデータを作れるツール1 バス停検索 https://buste.in/ 2019/10/1222
  23. 23. 大抵のパソコンに入っている「エクセル」を使って、GTFSデータを作 れるツールもあります。 ・標準的なバス情報フォーマット出力ツール(通称:西沢ツール) https://home.csis.u-tokyo.ac.jp/~nishizawa/gtfs/ (作成:東京大学 西沢先生) ・見える化共通入力フォーマット https://www.rosenzu.com/net/mieru/fm/ (作成:公共交通利用促進ネットワーク) ◯エクセルに慣れていれば、導入が簡単 △路線数やバス停数がとても多い規模だとデータ管理が大変かも GTFSデータを作れるツール2 バス停検索 https://buste.in/ 2019/10/1223
  24. 24. ・カンマ区切りのテキストファイルで、zipファイル に圧縮して配布する ・実はGTFSファイルの中身は大きくて結構複雑で、 仕様を理解するのに時間かかりそう… ・テキストファイルなのに合計数十MBなんて場合も ある ・データ生成システムの作り方にも影響され、その 癖が強いと、出力されるデータも難解になります… ・最初はバス停データからいじってみると良いか も?(次の段階でダイヤデータへ) 2019/10/12バス停検索 https://buste.in/ GTFSデータを使うポイント 24
  25. 25. ・初心者向けにおすすめなデータは? 青森市営バスや永井バス(群馬県)のGTFSデータは素直でわかりや すい作り方だと思います。 (その筋屋で作成したデータ) 試しに、適用する運行ダイヤ情報で比較します。 ・青森市営バスオープンデータサイト https://www.city.aomori.aomori.jp/kotsu- kanri/koutsu/oshirase/20180401gtfs.html ・永井バス オープンデータサイト https://www.nagai-unyu.net/open-data/ ・青森市営バスのデータ内容 calendar.txt 3行 calendar_dates.txt 51行 →項目名の1行目を除き、ざっくり運行ダイヤは2種類、祝日等の 適用例外日は50日分という意味 2019/10/12バス停検索 https://buste.in/ 初心者におすすめな GTFSデータとは? 25
  26. 26. ・ダウンロードURLが毎回変わる懸念 毎回zipファイル名が変わると困る… ※青森市営バスや永井バス、日本中央バスなどはURLが 基本変わらず、使いやすい事例です! (サイトリニューアル等の例外はあります) ・ファイル取得を自動化している場合の問題 もし、zipファイル名が変わり、もし旧ファイルはそのま まだと、最新ファイルの存在に気が付かない懸念あり →URL変更が無いかの確認を目視で必要になるかも? 2019/10/12バス停検索 https://buste.in/ オープンデータの活用で 気がついた問題1 26
  27. 27. ・バス停名称の表記ゆれ 同一バス停でも事業者毎に別表記だと、名寄せの 手間が必要になる… →そのまま使えない ・主に共同運行のバスなどで、運行便が重複データ となる懸念 →同時に別な2便が来るのかと誤解される恐れ (例:同じ共同運行便が、「◯◯交通」と「□□バ ス」それぞれのデータ内に存在する) 2019/10/12バス停検索 https://buste.in/ オープンデータの活用で 気がついた問題2 27
  28. 28. もし皆さんの周りに、GTFSデータを 作ってオープンデータ化したいけど、 わからない、困っているというバス会 社や自治体のコミュニティバス担当者 の方がいたら、広め隊や福田までご相 談ください。 「相談は無料です!」 (GTFSをよくわかっていない業者へ頼んで、うまくいかない事例も耳 にします…) 周りにGTFS関連で 困っている人いませんか? バス停検索 https://buste.in/ 2019/10/1228
  29. 29. 2019/10/12バス停検索 https://buste.in/ 29 おまけ 沖縄県の路線バス (写真は2014年頃撮影) やんばる急行バス 本土ではあまり見かけない レトロなバスが特徴 元 川◯市バス? 沖縄本島でよく見る、横書きと縦書き が入り混じった「行先表示」 西表島 どこかで見たような色のバス車両が走っています 元 神◯中バス?
  30. 30.  青い森ウェブ工房 代表 福田匡彦  ご質問やお問い合わせは下記へ URL: https://8nohe.info/work/ Twitter @8nohe  標準的なバス情報フォーマット広め隊 URL: https://www.gtfs.jp/ 2019年10月12日 ご清聴ありがとうございました バス停検索 https://buste.in/ 2019/10/1230

×