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

M
Masahiko FukudaMasahiko Fukuda
PHPカンファレンス北海道2019
ライトニングトーク
PHP製バス停検索サービスでの
バス情報オープンデータ活用
2019年9月21日
バス停検索運営 青い森ウェブ工房 代表 福田匡彦
バス停検索 https://buste.in/ 2019/09/211
・青森県八戸市出身(43歳 独身)
・東京で8年間ほど会社員ウェブプログラマー
・主な職歴
2000年 雑誌「東京ウォー◯ー」のウェブサイト運営会社へ常駐
(PerlのCGI作ってました)
・2004年 ゲーム会社「元気」勤務
(この頃にPerlからPHPへと軸足を移す)
・2008年 地元八戸市へUターンし、青い森ウェブ工房を開業
・2011年6月から全国対応「バス停検索」サービスを運営中
URL https://buste.in/
〜このあたりからバスが趣味から仕事になり始める〜
・標準的なバス情報フォーマット広め隊のメンバー
福田の自己紹介
バス停検索 https://buste.in/ 2019/09/212
昔から路線バスや鉄道が好きで、最近は旅客船も好んで乗って
います。
今回も
1.八戸から仙台(新幹線)、石巻で打ち合わせ
2.仙台港から苫小牧港まで太平洋フェリー「きたかみ」
3.苫小牧から札幌まで高速バス
というルートでやって来ました!
当然のごとく、帰りも
苫小牧港から八戸港までシルバーフェリーの夜行便「シルバー
ティアラ」で帰ります。
バスや船、鉄道好き
バス停検索 https://buste.in/ 2019/09/213
「バス停検索」は、青い森ウェブ工房(青森県八戸市)が
運営する無料サービス。
※2011年6月に公開
URL https://buste.in/
http://バス停検索.jp/ でも可
全国のバス停が探せる
「バス停検索」とは?
バス停検索 検索
バス停検索 https://buste.in/ 2019/09/214
 以前からバス停を検索できるサービスが作りたかったが、個
人でのバス停データ収集は困難。(八戸市内で断念…)
 地図上からバス停を探せれば便利なのにという想い。
 2011年4月に国土交通省から国土数値情報「バス停留所デー
タ」が一般公開された事。
 まさに夢のようなデータ、それが国土数値情報だった。
ぶっちゃけ、自分がこういうサービス欲しかったのです(笑)
こうして、趣味から始めたサイトだが、徐々に仕事になってき
ています。
当サービスを始めるきっかけ
バス停検索 https://buste.in/ 2019/09/215
・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/09/216
全国の有志により、一部地域では日々データ更新が
行われています。
しかし、それ以外の地域は残念ながら手付かずな
データが多くあります。
(皆さん本業もあり、多くの時間をかけるのは難しい
もの)
・その対策とは?
ここ数年で次々と全国各地で公開されているGTFS-
JP形式のオープンデータを活用して、より正確なバ
ス停情報を提供できるのではないか?
バス停検索データは更新してる?
バス停検索 https://buste.in/ 2019/09/217
バス停検索のバス停データ件数
・国土数値情報を元に作成した初期データ(2011年)
約25万件
◯バス会社様提供データ、協力者による新規追加データ
約2万1千件
△廃止や重複等のデータ
約9千件
◎バス停検索 収録合計バス停データ数
約26万2千件
(データ件数は2018年10月現在)
バス停データ追加の成果
バス停検索 https://buste.in/ 2019/09/218
「GTFS」という名前を聞いたこと
ありますか?
「GTFS」データを触れてみた事が
ある方いますか?
GTFSとは何者?
バス停検索 https://buste.in/ 2019/09/219
「GTFS(General Transit Feed Specification)」
は、Googleが公開して世界標準となった公共交通情
報用フォーマットです。
日本の路線バス事情へ合わせてアレンジしたものが
「標準的なバス情報フォーマット(通称:GTFS-
JP)」です。
なお、「GTFS」は時刻表や路線経路などの「静的」
な情報が対象で、運行状況などの「動的」な情報は、
「GTFSリアルタイム(GTFS-RT)」という別フォー
マットがあります。
標準的なバス情報フォーマット
(GTFS-JP)とは?
バス停検索 https://buste.in/ 2019/09/2110
・Googleへ送れば、Googleマップの経路検索へ載
せてもらえる!
→Googleマップへ出てこないバス路線は、走って
いないも同然という視点もあります
・外部の人々がそのデータ使って、公式よりも便利
なサービスを勝手に構築して、公開してくれるか
も?
→公式が不便なら自分達で作ってしまえの精神
・目に触れる機会が増えることで、誤りが判明しや
すいメリットもある
→公式サイト情報が誤っている事もありがち
GTFS-JPデータを作ると
どうなる?
バス停検索 https://buste.in/ 2019/09/2111
日本国内GTFS-JP&オープンデータ化は、かなり発展途上で、
三大都市圏でも寂しい状況。
実はGTFS界隈では、群馬県、山梨県、岡山県が先進事例で
す!(県内の多くの路線バスへ対応済み)
(参考資料:旭川高専 嶋田先生提供 (参考:https://www.gtfs.jp/
2019年9月作成) 2019年2月作成)
GTFS-JPデータは全国出てるの?
バス停検索 https://buste.in/ 2019/09/2112
北海道の状況を見る
と、とても広大な地
域ながら、
十勝地方と室蘭地区
で公開されている程
度です。
なお、札幌のデータ
は出ていません…
北海道のGTFS-JPデータ
整備&オープン化状況は?
バス停検索 https://buste.in/ 2019/09/2113
(参考資料:旭川高専 嶋田先生提供 2019年9月作成)
関東、甲信越、北陸
の状況です。
群馬県、山梨県、富
山県はほぼ全データ
を公開のため、充実
しています。
なお、東京都内は都
バスと群馬発の高速
バス程度で、実は後
進地域です…
関東周辺のGTFS-JPデータ
整備&オープン化状況は?
バス停検索 https://buste.in/ 2019/09/2114
(参考資料:旭川高専 嶋田先生提供 2019年9月作成)
PHPerなので、PHP製でGTFSデータを使う
際に便利なライブラリや ツールを探してみ
ました。
でも、ありませんでした…
そもそも、世界的に見ても、まだまだGTFS
関連のライブラリや ツールは少ないみたい
です。
便利なライブラリや
ツールあるの?
バス停検索 https://buste.in/ 2019/09/2115
いくつか有名なツールがありますが、残念ながら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/09/2116
GTFSデータを使う側では、ライブラリやツールがまだ不十分ですが、GTFS
データを作るツールは、日本語対応の凄いのが揃っています。
・その筋屋
http://www.sinjidai.com/sujiya/
無償でも使える「ダイヤ編成支援システム」
本来高額なシステムがなぜか無償使用可能で(条件付き)、標準でGTFS-JP形式
データ出力可能!
(他社の有償システムでは、出力機能追加するなら◯十万円かかる話も…)
これさえあれば、自宅でもダイヤの「筋」を引き放題です。
なお、利用言語は「Delphi」とのことで、開発者は道◯バスでシステム開発、
X68000での開発経験もあるという異色の経歴です。
◯100台規模など、比較的大きいバス会社でも導入可能
△筋を引いたことが無い人には、敷居が高い
GTFSデータを作れるツール1
バス停検索 https://buste.in/ 2019/09/2117
大抵のパソコンに入っている「エクセル」を使って、GTFSデータを作
れるツールもあります。
・標準的なバス情報フォーマット出力ツール(通称:西沢ツール)
https://home.csis.u-tokyo.ac.jp/~nishizawa/gtfs/
(作成:東京大学 西沢先生)
・見える化共通入力フォーマット
https://www.rosenzu.com/net/mieru/fm/
(作成:公共交通利用促進ネットワーク)
◯エクセルに慣れていれば、導入が簡単
△路線数やバス停数がとても多い規模だとデータ管理が大変かも
GTFSデータを作れるツール2
バス停検索 https://buste.in/ 2019/09/2118
・カンマ区切りのテキストファイルで、zipファイル
に圧縮して配布する
・実はGTFS-JPファイルの中身は大きくて結構複雑
で、仕様を理解するのに時間かかりそう…
・テキストファイルなのに合計数十MBなんて場合も
ある
・データ生成システムの作り方にも影響され、その
癖が強いと、出力されるデータも難解になります…
・最初はバス停データからいじってみると良いか
も?(次の段階でダイヤデータへ)
2019/09/21バス停検索 https://buste.in/
GTFS-JPデータを使うポイント
19
・初心者向けにおすすめなデータは?
青森市営バスや永井バス(群馬県)のGTFS-JPデータは素直でわかり
やすい作り方だと思います。
(その筋屋で作成したデータ)
試しに、適用する運行ダイヤ情報で比較します。
・青森市営バスオープンデータサイト
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/09/21バス停検索 https://buste.in/
初心者におすすめな
GTFS-JPデータとは?
20
これに対して、十勝バスのデータを例に取ると、
calendar.txt 10行
calendar_dates.txt 46行
のように行数も多くなり、ダイヤの種類も多く初心者に
はつらい感じがします…
十勝バス オープンデータ
https://www.tokachibus.jp/2019/04/01/7981/
まずは、青森市営バス、永井バスで慣れてから、他社
データへステップアップがいいかもしれません♪
(※個人の感想です)
2019/09/21バス停検索 https://buste.in/
GTFS-JPデータを使うポイント3
21
・ダウンロードURLが毎回変わる懸念
毎回zipファイル名が変わると困る…
※青森市営バスや永井バス、日本中央バス、中津川市な
どはURLが基本変わらず、使いやすい事例です!
(サイトリニューアル等の例外はあります)
・ファイル取得を自動化している場合の問題
もし、zipファイル名が変わり、もし旧ファイルはそのま
まだと、最新ファイルの存在に気が付かない懸念あり
→URL変更が無いかの確認を目視で必要になるかも?
2019/09/14バス停検索 https://buste.in/
オープンデータの活用で
気がついた問題1
22
・バス停名称の表記ゆれ
同一バス停でも事業者毎に別表記だと、名寄せの
手間が必要になる…
→そのまま使えない
・主に共同運行のバスなどで、運行便が重複データ
となる懸念
→同時に別な2便が来るのかと誤解される恐れ
(例:同じ共同運行便が、「◯◯交通」と「□□バ
ス」それぞれのデータ内に存在する)
2019/09/21バス停検索 https://buste.in/
オープンデータの活用で
気がついた問題2
23
もし皆さんの周りに、GTFS-JPデータ
を作ってオープンデータ化したいけど、
わからない、困っているというバス会
社や自治体のコミュニティバス担当者
の方がいたら、広め隊や福田までご相
談ください。
「相談は無料です!」
(GTFS-JPをよくわかっていない業者へ頼んで、うまくいかない事例も
耳にします…)
周りにGTFS-JP関連で
困っている人いませんか?
バス停検索 https://buste.in/ 2019/09/2124
 青い森ウェブ工房 代表 福田匡彦
 ご質問やお問い合わせは下記へ
URL: https://8nohe.info/work/
Twitter @8nohe
 標準的なバス情報フォーマット広め隊
URL: https://www.gtfs.jp/
2019年9月21日
ご清聴ありがとうございました
バス停検索 https://buste.in/ 2019/09/2125
1 of 25

More Related Content

Similar to PHP製バス停検索サービスでのバス情報オープンデータ活用(北海道)(20)

Comparo  Event 07192011Comparo  Event 07192011
Comparo Event 07192011
ビズーン株式会社446 views
はてなブックマークの使い方はてなブックマークの使い方
はてなブックマークの使い方
shinichi sugimoto387 views

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