QGISでシェアサイクルデータGBFSを見てみよう！

GBFSとは近年世界各国で普及が進む**シェアモビリティサービス向けのオープンデータ規格**です。今年、**国内の大手シェアサイクルサービス事業者2社もGBFSの公開を開始**しました。

そんな話題のGBFSについて、**QGIS上で,世界中のGBFSを,数クリックで見られるプラグイン**を作成したのでご紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/6021dc77-8a06-9388-e163-96c09ccec733.png)
このプラグインは[FOSS4G 2022 Japan Onlineでもご紹介](https://www.youtube.com/watch?v=US-b8ziq3vM)しましたが、その後いくつかアップデートしました。本記事はその部分を中心にお話ししたいと思います。

# そもそもシェアサイクルとは？

お住まいの地域によっては馴染みのない方もいらっしゃるかと思います。簡単に言い替えると「 **いつでも、どこでも、誰でも使える貸自転車サービス** 」です。

従来も「レンタサイクル」と呼ばれる貸自転車業は存在していました。ただ、対面での手続きを前提としている場合が多く、営業時間や利用範囲の制限（公園内回遊限定、市内観光限定で利用可など）がありました。

一方でシェアサイクルとは次のような要素を持つサービスです。
* 片道利用可（サービスによっては東京で借りて静岡で返すも可）
* IoTデバイス（スマートロック）による車体管理 
* スマホを介した会員登録・貸出返却制御・決済
※明確な定義はないので「ただし諸説あり」としておきます

サービス運営にあたり必要な機材・人員が少なくて済み、道路脇など狭小地・軒先の遊休地に簡単に設置できます。また設置の容易さに加えて、近年は環境負荷低減や15分シティなど、様々な観点から自転車交通が注目されていることも相まって、**世界各地で都市部中心に近年急速に普及**しています。

# GBFSとは
シェアサイクルなどのシェアモビリティサービスに関するオープンデータ規格です。

国際的に普及が進んでおり、世界の約700サービスが対応しています。国内でも大手2サービスが今年から公開を開始しました。

国内の対応サービス（2022年12月時点）
 * **HELLO CYCLING**（全国約5,700ステーション）
　国内の多くのシェアサイクル事業者が加盟し、OpenStreet社がシステム運営するサービス。全国の加盟会社間で相互利用できるのが特徴。
 * **ドコモ・バイクシェア 東京広域**（東京都内約1,100ポート）
　ドコモ子会社が東京都内で展開するシェアサイクルサービス。東京都心部に強い。

GBFSの仕様に関しては先人の記事が詳しいので、本記事では割愛します。

https://qiita.com/kumatira/items/f9229c21d9f0db3b5ae3

またGBFS活用事例は[GBFSアドベントカレンダー2022](https://qiita.com/advent-calendar/2022/gbfs)に集まっています。先日私もGBFS可視化事例をアップしたので、よろしればご笑覧ください。

https://qiita.com/hiskoh/items/d4fa1f032cce199ea701

※GBFSの公式情報は[MobilityDataのGithub](https://github.com/MobilityData/gbfs)をご確認ください。

# QGISプラグイン「GBFS-NOW」

さて、ここからが本題です。GBFSをQGISから見られるプラグイン「GBFS-NOW」をご紹介します。まずはFOSS4G 2022 Japan Online当時からの変化点をお伝えします。

## FOSS4G 2022 Japan Online以降の変化点

### ① QGIS公式リポジトリに登録完了！


お手元のQGISのプラグインマネージャから直接インストールできるようになりました🎉　お手元のQGISのプラグインマネージャーで「GBFS」と検索したら出てくるはずです。
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/3d1f1457-d09c-1768-d3b0-9a480c568fc1.png">

登録する際にOSGeo（グローバルのほう）にメールを送る必要がり、慣れない英文メールにドキドキしながらの手続きでした。公式リポジトリへの登録方法はこちらの記事を参考にしました。

https://day-journal.com/memo/Try-007/



### ② ドックレス型シェアサイクルサービスにも対応！
シェアモビリティサービスには、大きく2つのサービス体系が存在します。
* ステーション型（ドック型）
 貸出返却拠点（ステーション）が街中にあり、そこから車両の貸出/返却をするタイプ。日本では一般的。
* ドックレス型
 街中どこでも乗り出し/乗り捨て可。一部の国・都市で普及。電動キックボードでのシェアサービスに多い。

QGISプラグイン「GBFS-NOW」では当初、ステーション型のみのデータ取得に対応していました。11月中旬に公開したver1.1では、新たにドックレス型の可視化に対応しました。ドックレス型サービスのGBFSデータを選択した場合、乗り捨てられた車両（free-bike）の所在地を見ることができます。
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/6f2f846b-3a0b-4a05-69b0-7491a9358a33.png">

### ③ GBFS一覧表示機能に検索窓を追加！
同じくver1.1で改修したのが検索機能。GBFS一覧に検索窓を追加しました。これにより、全世界のGBFSの中から自身が表示したいGBFSを簡単に探せるようになりました。
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/7d595530-bd04-1273-c72f-8dfdccb97654.gif">    
ver1.0には検索機能がなかったので、700以上ある行を一生懸命スクロールして欲しいGBFSを探す必要がありました…今思えば検索機能は最初から用意すべきでした…


## GBFS-NOWの使い方

使い方は次の通り。
![Animation5.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/c25a7ebc-90df-505c-9dca-69d0bd03e343.gif)
**1\. GBFSを選ぶ**
　[GBFSの公式カタログリスト](https://github.com/MobilityData/gbfs/blob/master/systems.csv)から取得したいGBFSを選ぶ。選んだら「Get GBFS」を選択
**2\. 言語を選ぶ**
　GBFSを公開している会社によっては複数言語で公開している場合があるので、言語を選択（無選択の場合は最上段の言語が選ばれます）
**3\. GBFSを見る**
　2つの任意チェック欄があるので必要に応じてチェックして「View GBFS」を選択
　・ Get current status ：チェックを付けると、ステーションの“なう”情報のレイヤを取得（直近の貸出可能台数・返却可能台数などの含まれるレイヤ）
　・ 日本語表記：各レイヤ内のカラム名が日本語表記になる

もう少し詳しい説明はGitHubやSpeakerdeckに載せているのでご覧ください。

https://github.com/hiskoh/GBFS-NOW

https://speakerdeck.com/hiskoh/mobiriteiopundetanohuo-yong-shou-yin-qgisdesieasaikuruwojian-temiyou


# GBFSを見てみよう

2022年12月現在、世界中で約700ものGBFSが公開されています。ただGBFSを可視化して眺めるだけでも机上旅行ができちゃいそうですよね（コロナ禍にはもってこいですね！？）

下記記事ではPythonを使って全世界のGBFSをすべて取得することで世界旅行をしてみました。

https://qiita.com/hiskoh/items/d4fa1f032cce199ea701

https://qiita.com/hiskoh/items/60e711540f7f6822118a

GBFS-NOWでは「すべてのGBFSを一気に表示」することはできませんが、「特定のGBFSを表示」することができます。またGBFS-NOW ver1.1で追加した検索機能のおかげで、**例えば「JP」などの国名コードを検索窓に打てば、国別にサービスを探すことができる**ようになりました！

------
東京周辺の様子
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/f28a6144-2d85-32af-6bef-e8375f501319.png"><img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/9f0bca2f-236f-40f5-b554-e431a43b4a0c.png">
---
日本の様子
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/7a801755-b450-63f9-a234-4938115618d8.png">
---
世界の様子
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/26a16a1a-4c1a-72b7-36b7-5dcf3977befe.png"><img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/1354a80f-048a-9876-1f29-196919147379.png">
---

# Let's GBFS!

GBFSの実態はjsonファイル群です。そのためパースすれば誰でも簡単にデータ活用・可視化ができます。ただ、GBFSについて調査する中で「QGISプラグインがあった方が便利だよな～」と思うに至り、プラグイン作成を始めました。

また名前はFOSS4G 2022 Japan Onlineでもお話した通り、GTFS-GOを勝手ながらリスペクトして命名しました。

https://qiita.com/Kanahiro/items/976900c4e5542acfe29d

実はGBFS-NOWはGBFSで規定するデータのうち、一部しか表現しきれていません。まずは「ステーションや車両の所在地を見える化する」を最優先事項に取り組んだため、例えばGBFSには料金や車種など表現しきれていないデータ項目が複数あります。また、GBFS自体が近々メジャーアップデート（ver2.3→ver3.0）を予定しており、その改修も必要です。今後少しずつ改修したいと思います。**改修にご協力いただける方、絶賛募集中です…！**

https://github.com/hiskoh/GBFS-NOW

また、[GBFSのアドベントカレンダー](https://qiita.com/advent-calendar/2022/gbfs)も開催中なので、宜しければ覗いてみてください。

それでは良い年末を！