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
0
290
鳥取に赴任したGIS人が 知識ゼロからGTFS(にトライしたら ハマった話)
2024年6月21日,GTFSxOSGeo研究会の発表資料
wata909
June 20, 2024
Tweet
Share
More Decks by wata909
See All by wata909
2026年にGlobal FOSS4Gが広島にきます! 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
98
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
130
オープンソースソフトウェアで地図を作ってみたいけど、どうしたらいいの!? 〜OSSの地理情報ソフトFOSS4Gのご紹介〜
wata909
0
170
QGISハンズオン事に質問のあったProjectのGeoPackageへの保存方法についての、補足の資料です。
wata909
0
170
FOSS4G 山陰 Meetup 2024@砂丘 はじめの挨拶
wata909
1
200
「歴史的農業環境閲覧システム」と「迅速測図」について
wata909
1
1.4k
地図アーカイブを オープンデータ化することの意義 -迅速測図データ公開から得たもの-
wata909
0
380
ベースレジストリ研究会・岩崎発表資料
wata909
0
160
君も法務省地図XMLで遊んでみないか? - AMX-projectのご紹介
wata909
0
630
Other Decks in Technology
See All in Technology
Webの技術とガジェットで那須の子ども達にワクワクを! / IoTLT_20250720
you
PRO
0
130
大規模イベントを支える ABEMA の アーキテクチャ 変遷 2025
nagapad
5
510
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.8k
「AI駆動開発」のボトルネック『言語化』を効率化するには
taniiicom
1
210
生成AIによる情報システムへのインパクト
taka_aki
1
200
なぜAI時代に 「イベント」を中心に考えるのか? / Why focus on "events" in the age of AI?
ytake
2
800
「手を動かした者だけが世界を変える」ソフトウェア開発だけではない開発者人生
onishi
15
7.6k
[TechNight #91] Oracle Database 最新パフォーマンス分析手法
oracle4engineer
PRO
3
150
OpenTelemetry の Log を使いこなそう
biwashi
5
1.1k
ObsidianをLLM時代のナレッジベースに! クリッピング→Markdown→CLI連携の実践
srvhat09
7
9.8k
ファインディにおける Dataform ブランチ戦略
hiracky16
0
210
CSPヘッダー導入で実現するWebサイトの多層防御:今すぐ試せる設定例と運用知見
llamakko
1
260
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Done Done
chrislema
184
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
Automating Front-end Workflow
addyosmani
1370
200k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
4 Signs Your Business is Dying
shpigford
184
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
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がなんとかしてくれる! • 井口さんの発表!
おわりに • 先日の講義のレポート • 地域創生に必要なオープンデータは? • 自分は旅行が趣味なため,電車やバスの時刻表やルートなどのデータ が望ましい • 地域のスーパーマーケットやバスの走行本数など
• その他,過疎地等の公共交通に関するオープンデータが必要とのコメントも • もっと簡単に使えると良いな。