Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
鳥取に赴任したGIS人が知識ゼロからGTFS(にトライしたらハマった話)
Search
wata909
June 20, 2024
Technology
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
鳥取に赴任したGIS人が 知識ゼロからGTFS(にトライしたら ハマった話)
2024年6月21日,GTFSxOSGeo研究会の発表資料
wata909
June 20, 2024
More Decks by wata909
See All by wata909
How Many Night until FOSS4G Hiroshima 2026!!
wata909
0
81
FOSS4Gもくもく会 #008 成果報告 by wata909
wata909
0
97
ようこそ、オープンなGeoの世界へ! 〜FOSS4GとOSGeoのご紹介〜
wata909
0
190
FOSS4Gの現在地とこれから
wata909
0
98
FOSS4G のこれまでと、これから
wata909
0
110
Pythonでジオを使い倒そう! 〜それとFOSS4G Hiroshima 2026のご紹介を少し〜
wata909
0
1.5k
2026年にGlobal FOSS4Gが広島にきます! 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
480
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
330
オープンソースソフトウェアで地図を作ってみたいけど、どうしたらいいの!? 〜OSSの地理情報ソフトFOSS4Gのご紹介〜
wata909
0
390
Other Decks in Technology
See All in Technology
貴方はどのエンジニアリングを磨くのか
hatyibei
0
130
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
13
2k
AI時代の EM への処方箋
staka121
PRO
0
140
Claude Code 珍プレー好プレー
shinyasaita
0
330
生成AIの活用/high_school2026
okana2ki
0
130
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
410
世界、断片、モデル。そして理解
ardbeg1958
1
110
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
3.4k
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
3.6k
キャリアの中で本を作る / Making a Book During Your Career
ak1210
0
140
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
510
ADDF - ループエンジニアリングするフレームワークを作ったら/I Didn't Set Out to Build Loop Engineering, But ADDF Did
fruitriin
0
120
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
Docker and Python
trallard
47
3.9k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
The Curious Case for Waylosing
cassininazir
1
430
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Optimizing for Happiness
mojombo
378
71k
Designing Experiences People Love
moore
143
24k
Amusing Abliteration
ianozsvald
1
220
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
320
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
We Have a Design System, Now What?
morganepeng
55
8.2k
Transcript
GTFSxOSGeo研究会 2024/06/21 鳥取に赴任したGIS人が 知識ゼロからGTFS 鳥取大学/OSGeo.JP 岩崎亘典
GTFSxOSGeo研究会 2024/06/21 鳥取に赴任したGIS人が 知識ゼロからGTFSにトライしたら ハマった話 鳥取大学/OSGeo.JP 岩崎亘典
岩崎亘典 a.k.a @wata909 • OSGeo.JP、Open Science、二女の父 • 3月までつくば,4月から鳥取
ことの発端 • 11月に鳥取大学乾燥地研究センターがある(松葉ガニの解禁は11/6) • 空港からバスがあるのか? https://sites.google.com/japangeomorphology.org/jgu2024/home
こんな図を作りたい • 鳥取空港から乾燥地研究センターに行くにはどうしたら良い? • 鳥取空港から鳥取砂丘に行くバスがあれば良いのでは? https://qiita.com/niyalist/items/50acea5837c52aa51b31
なおGoogle Mapsさま
鳥取といえば • このひとのお膝元 • きっとGTFSを使えばちゃっとわかる!
ちょうど更新さればかり!
こんな資料もある! • GTFSからバスの運行頻度図を作成する #GIS - Qiita
あまかった・・・。
手順をおさらい • データをダウンロード • 鳥取県バス情報 - 鳥取県オープンデータ (tori-info.co.jp) • GTFSを格納する場所を整えます
• PostgreSQL+PostGIS • GTFSを格納するツールをインストールします • gtfsdb • 会社ごとにバラバラのGTFSを結合します • onebusaway-gtfs-merge-cli • gtfsdb を使ってPostgreSQLにデータを読み込みます • QGISをつかって,gtfsのデータを見やすく表示します
できるとおもうじゃん・・・ なお,動作環境は MacOS Sonoma 14.5 メモリ 18GB HDDの空き 500GBぐらい
データをダウンロード • 流石にこれはできる • DLして解凍
PostgreSQLのインストール • お手本が13なので,13でやる GTFSからバスの運⾏頻度図を作成する #GIS - Qiita
以下でインストール • brew install postgresql@13 • ちょっと時間がかかりますが,できます。
バージョンの確認 • psql –version • 13をインストールしたつもりが,すでに14が入ってた • わたしってほんとばか。
PostGISのインストール • 14をアンインストールして,13のみにする • PostGISをインストールする • brew install postgis •
DBにPostGISのextensionを入れる • create extension postgis; • コケますorz… • PostGISは,14にしか対応してない 13をアンインストール,14をインストール • Macの場合は,PostGISが14にしか対応していない模様
gtfsdbの構築 • 仮想環境を作って構築 • conda create --name gtfsdb python=3.9 •
conda activate gtfsdb • pip3 install zc.buildout • buildout –version • git clone https://github.com/OpenTransit Tools/gtfsdb.git • cd gtfsdb • buildout install prod postgresql
gtfsのマージ • 鬼門でした・・・ • onebusaway-gtfs-merge-cli • ない。
gtfsのマージ • ソースからコンパイル • エラー
gtfsのマージ • 別のツールを使用 • https://github.com/oozora283/gtfs-merge • 読み込んだら空!! • 圧縮の失敗 •
正しく圧縮! • しかし,一部しか結合されていない・・・
あきらめて個別に読み込み • ~/opt/gtfsdb/gtfsdb/bin/gtfsdb-load --database_url postgresql://wata909@localhost:5432/gtfs-tottori --is_geospatial tottori- gtfs/1.zip
対象日を抽出 • ない・・・
隣接停留所ペアのテーブルを作成
ちょっと注意 • prev_parent_stop_idではなく, prev_stop_id
バス停間の運行頻度を集計
隣接停留所ペアに地理形状を付与する
できた! • ワンチャンありそうな気が!?
おまけ • 鳥取空港発を再帰的に 検索したが,コケたw • 範囲は絞っているけど, 難しかった
感想 • 難しかった所 • PostgreSQLに読み込むところまで • 読み込んでからは,簡単 • SQLは枯れた技術で,GTFSは新しい技術だからか? •
ドキュメントが少ない? • ハマる所,問題になる所の情報がもっと分かると良い • この辺は,FOSS4Gのほうでも貢献できる? • きっとGTFS-GOがなんとかしてくれる! • 井口さんの発表!
おわりに • 先日の講義のレポート • 地域創生に必要なオープンデータは? • 自分は旅行が趣味なため,電車やバスの時刻表やルートなどのデータ が望ましい • 地域のスーパーマーケットやバスの走行本数など
• その他,過疎地等の公共交通に関するオープンデータが必要とのコメントも • もっと簡単に使えると良いな。