Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

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

205 visualizaciones

Publicado el

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

Publicado en: Internet
  • Sé el primero en comentar

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

×