Slide 1

Slide 1 text

GTFSxOSGeo研究会 2024/06/21 鳥取に赴任したGIS人が 知識ゼロからGTFS 鳥取大学/OSGeo.JP 岩崎亘典

Slide 2

Slide 2 text

GTFSxOSGeo研究会 2024/06/21 鳥取に赴任したGIS人が 知識ゼロからGTFSにトライしたら ハマった話 鳥取大学/OSGeo.JP 岩崎亘典

Slide 3

Slide 3 text

岩崎亘典 a.k.a @wata909 • OSGeo.JP、Open Science、二女の父 • 3月までつくば,4月から鳥取

Slide 4

Slide 4 text

ことの発端 • 11月に鳥取大学乾燥地研究センターがある(松葉ガニの解禁は11/6) • 空港からバスがあるのか? https://sites.google.com/japangeomorphology.org/jgu2024/home

Slide 5

Slide 5 text

こんな図を作りたい • 鳥取空港から乾燥地研究センターに行くにはどうしたら良い? • 鳥取空港から鳥取砂丘に行くバスがあれば良いのでは? https://qiita.com/niyalist/items/50acea5837c52aa51b31

Slide 6

Slide 6 text

なおGoogle Mapsさま

Slide 7

Slide 7 text

鳥取といえば • このひとのお膝元 • きっとGTFSを使えばちゃっとわかる!

Slide 8

Slide 8 text

ちょうど更新さればかり!

Slide 9

Slide 9 text

こんな資料もある! • GTFSからバスの運行頻度図を作成する #GIS - Qiita

Slide 10

Slide 10 text

あまかった・・・。

Slide 11

Slide 11 text

手順をおさらい • データをダウンロード • 鳥取県バス情報 - 鳥取県オープンデータ (tori-info.co.jp) • GTFSを格納する場所を整えます • PostgreSQL+PostGIS • GTFSを格納するツールをインストールします • gtfsdb • 会社ごとにバラバラのGTFSを結合します • onebusaway-gtfs-merge-cli • gtfsdb を使ってPostgreSQLにデータを読み込みます • QGISをつかって,gtfsのデータを見やすく表示します

Slide 12

Slide 12 text

できるとおもうじゃん・・・ なお,動作環境は MacOS Sonoma 14.5 メモリ 18GB HDDの空き 500GBぐらい

Slide 13

Slide 13 text

データをダウンロード • 流石にこれはできる • DLして解凍

Slide 14

Slide 14 text

PostgreSQLのインストール • お手本が13なので,13でやる GTFSからバスの運⾏頻度図を作成する #GIS - Qiita

Slide 15

Slide 15 text

以下でインストール • brew install postgresql@13 • ちょっと時間がかかりますが,できます。

Slide 16

Slide 16 text

バージョンの確認 • psql –version • 13をインストールしたつもりが,すでに14が入ってた • わたしってほんとばか。

Slide 17

Slide 17 text

PostGISのインストール • 14をアンインストールして,13のみにする • PostGISをインストールする • brew install postgis • DBにPostGISのextensionを入れる • create extension postgis; • コケますorz… • PostGISは,14にしか対応してない 13をアンインストール,14をインストール • Macの場合は,PostGISが14にしか対応していない模様

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

gtfsのマージ • 鬼門でした・・・ • onebusaway-gtfs-merge-cli • ない。

Slide 20

Slide 20 text

gtfsのマージ • ソースからコンパイル • エラー

Slide 21

Slide 21 text

gtfsのマージ • 別のツールを使用 • https://github.com/oozora283/gtfs-merge • 読み込んだら空!! • 圧縮の失敗 • 正しく圧縮! • しかし,一部しか結合されていない・・・

Slide 22

Slide 22 text

あきらめて個別に読み込み • ~/opt/gtfsdb/gtfsdb/bin/gtfsdb-load --database_url postgresql://wata909@localhost:5432/gtfs-tottori --is_geospatial tottori- gtfs/1.zip

Slide 23

Slide 23 text

対象日を抽出 • ない・・・

Slide 24

Slide 24 text

隣接停留所ペアのテーブルを作成

Slide 25

Slide 25 text

ちょっと注意 • prev_parent_stop_idではなく, prev_stop_id

Slide 26

Slide 26 text

バス停間の運行頻度を集計

Slide 27

Slide 27 text

隣接停留所ペアに地理形状を付与する

Slide 28

Slide 28 text

できた! • ワンチャンありそうな気が!?

Slide 29

Slide 29 text

おまけ • 鳥取空港発を再帰的に 検索したが,コケたw • 範囲は絞っているけど, 難しかった

Slide 30

Slide 30 text

感想 • 難しかった所 • PostgreSQLに読み込むところまで • 読み込んでからは,簡単 • SQLは枯れた技術で,GTFSは新しい技術だからか? • ドキュメントが少ない? • ハマる所,問題になる所の情報がもっと分かると良い • この辺は,FOSS4Gのほうでも貢献できる? • きっとGTFS-GOがなんとかしてくれる! • 井口さんの発表!

Slide 31

Slide 31 text

おわりに • 先日の講義のレポート • 地域創生に必要なオープンデータは? • 自分は旅行が趣味なため,電車やバスの時刻表やルートなどのデータ が望ましい • 地域のスーパーマーケットやバスの走行本数など • その他,過疎地等の公共交通に関するオープンデータが必要とのコメントも • もっと簡単に使えると良いな。