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

Mais conteúdo relacionado

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

ウェブクリエイターズ高知活動報告(JAWS FESTA 中四国 2017)
ウェブクリエイターズ高知活動報告(JAWS FESTA 中四国 2017)ウェブクリエイターズ高知活動報告(JAWS FESTA 中四国 2017)
ウェブクリエイターズ高知活動報告(JAWS FESTA 中四国 2017)
Noriaki Sugimoto
 
06 rpa operation without failure 20191102
06 rpa operation without failure 2019110206 rpa operation without failure 20191102
06 rpa operation without failure 20191102
Hinemos
 

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

全国700個以上の路線バスGTFS-JPオープンデータを毎日取得、反映し続けて得られた経験
全国700個以上の路線バスGTFS-JPオープンデータを毎日取得、反映し続けて得られた経験全国700個以上の路線バスGTFS-JPオープンデータを毎日取得、反映し続けて得られた経験
全国700個以上の路線バスGTFS-JPオープンデータを毎日取得、反映し続けて得られた経験
 
バス停検索サービスにGTFSデータを全部入れてみた
バス停検索サービスにGTFSデータを全部入れてみたバス停検索サービスにGTFSデータを全部入れてみた
バス停検索サービスにGTFSデータを全部入れてみた
 
「八戸市営バスGTFS-JPデータ 作成プロジェクト」公共交通オープンデータ最前線 in インターナショナルオープンデータデイ2019
「八戸市営バスGTFS-JPデータ 作成プロジェクト」公共交通オープンデータ最前線 inインターナショナルオープンデータデイ2019「八戸市営バスGTFS-JPデータ 作成プロジェクト」公共交通オープンデータ最前線 inインターナショナルオープンデータデイ2019
「八戸市営バスGTFS-JPデータ 作成プロジェクト」公共交通オープンデータ最前線 in インターナショナルオープンデータデイ2019
 
GTFSオープンデータの品質向上活動について
GTFSオープンデータの品質向上活動についてGTFSオープンデータの品質向上活動について
GTFSオープンデータの品質向上活動について
 
Flow用kintoneカスタムコネクタ - スマホで使える「ふとアプリ」を作ってみた
Flow用kintoneカスタムコネクタ - スマホで使える「ふとアプリ」を作ってみたFlow用kintoneカスタムコネクタ - スマホで使える「ふとアプリ」を作ってみた
Flow用kintoneカスタムコネクタ - スマホで使える「ふとアプリ」を作ってみた
 
インターネットを活用した移住促進について(第1回いなかみライフセミナー)
インターネットを活用した移住促進について(第1回いなかみライフセミナー)インターネットを活用した移住促進について(第1回いなかみライフセミナー)
インターネットを活用した移住促進について(第1回いなかみライフセミナー)
 
ウェブクリエイターズ高知活動報告(JAWS FESTA 中四国 2017)
ウェブクリエイターズ高知活動報告(JAWS FESTA 中四国 2017)ウェブクリエイターズ高知活動報告(JAWS FESTA 中四国 2017)
ウェブクリエイターズ高知活動報告(JAWS FESTA 中四国 2017)
 
06 rpa operation without failure 20191102
06 rpa operation without failure 2019110206 rpa operation without failure 20191102
06 rpa operation without failure 20191102
 
おちゃのこネットとPayPalでECにチャレンジ - PayPal Tech Meetup #9 @OSAKA
おちゃのこネットとPayPalでECにチャレンジ - PayPal Tech Meetup #9 @OSAKAおちゃのこネットとPayPalでECにチャレンジ - PayPal Tech Meetup #9 @OSAKA
おちゃのこネットとPayPalでECにチャレンジ - PayPal Tech Meetup #9 @OSAKA
 
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたPHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
 
サラリーマンだけど コワーキングスペースの運営に 関わってみた
サラリーマンだけどコワーキングスペースの運営に関わってみたサラリーマンだけどコワーキングスペースの運営に関わってみた
サラリーマンだけど コワーキングスペースの運営に 関わってみた
 
モバイルファースト かすたまいずをカスタマインで やってみた
モバイルファースト かすたまいずをカスタマインで やってみたモバイルファースト かすたまいずをカスタマインで やってみた
モバイルファースト かすたまいずをカスタマインで やってみた
 
2015.2.6神戸PHP勉強会おちゃのこネット
2015.2.6神戸PHP勉強会おちゃのこネット2015.2.6神戸PHP勉強会おちゃのこネット
2015.2.6神戸PHP勉強会おちゃのこネット
 
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライドウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
 
API MeetUp Online#8 セッション3 ツクレル馬場さん
API MeetUp Online#8 セッション3 ツクレル馬場さんAPI MeetUp Online#8 セッション3 ツクレル馬場さん
API MeetUp Online#8 セッション3 ツクレル馬場さん
 
今話題のChatGPTでウェブマーケティングを簡単かつ効果的に!
今話題のChatGPTでウェブマーケティングを簡単かつ効果的に!今話題のChatGPTでウェブマーケティングを簡単かつ効果的に!
今話題のChatGPTでウェブマーケティングを簡単かつ効果的に!
 
PWAをWebサービスに導入した話
PWAをWebサービスに導入した話PWAをWebサービスに導入した話
PWAをWebサービスに導入した話
 
プランニングポーカーではじめる工数見積りと計画づくり
プランニングポーカーではじめる工数見積りと計画づくりプランニングポーカーではじめる工数見積りと計画づくり
プランニングポーカーではじめる工数見積りと計画づくり
 
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ
 
はてなブックマークの使い方
はてなブックマークの使い方はてなブックマークの使い方
はてなブックマークの使い方
 

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