WAPIでLINEBOTを作ってみた
BODIK ODCSは、自治体がオープンデータを公開するためのオープンデータ連携基盤を、無償で提供するクラウドサービスです。
九州地区と関西地区を中心に多くの自治体にご利用いただいています。
ISITでは、BODIK ODCSに公開されているデータの中から、まずは「デジタル庁が公開を推奨する推奨データセット」に注目し、推奨データセットと思われるデータをAPIで利用できるようにするAPIサーバーの仕組み(WAPIと呼んでいます)を構築しています。
今回は、このWAPIを使って、LINEのユーザーが今いるところの近くにあるモノ(サービス)を教えてくれるLINEBOTを作ってみましたので、ご紹介します。
WAPIを使ってLINEBOTで情報提供
推奨データセットには位置情報を持つものがあります。今回はこの位置情報を提供するAPIを使います。
推奨データセット | 位置情報 |
---|---|
AED設置箇所一覧 | あり |
介護サービス事業所一覧 | あり |
医療機関一覧 | あり |
文化財一覧 | あり |
観光施設一覧 | あり |
イベント一覧 | あり |
公衆無線LANアクセスポイント一覧 | あり |
公衆トイレ一覧 | あり |
消防水利施設一覧 | あり |
指定緊急避難場所一覧 | あり |
地域・年齢別人口 | |
公共施設一覧 | あり |
子育て施設一覧 | あり |
LINEBOTはユーザーの位置情報を取得できます。そこで、次のようなLINEBOTを作ってみました。
- LINEBOTの位置情報を取得
- WAPIを使って、近く(今回は半径2km)にあるデータを検索
- 結果を地図で表示する
特徴
ユーザーの位置情報をベースにして、自治体が公開した情報を提供するサービスです。
WAPIは、ODCSに公開された複数の自治体のデータをシームレスに扱うことができるので、1つのアプリ(今回はLINEBOT)でいろいろな自治体のデータを利用したサービスを提供できます。
また、ODCSに登録・更新されたデータは、夜間バッチで自動的にWAPIに取り込まれるので、自治体のみなさんがODCSにデータを公開すると、翌日にはLINEBOTで参照できるようになります。
LINEBOTの使い方
今回作ったLINEBOT(BODIK WAPI)は、次のQRコードを使って友達登録できます。ぜひお試しください。
LINEBOTを起動すると、以下のような画面が表示されます。
下のメニューから「位置」をクリックして、現在位置を確認してみます。
「場所を指定する」をクリックすると、現在謂が表示されます。地図を動かして、場所を変更することもできます。
「送信」ボタンを押すとLINEBOTに位置が知らされます。
下のメニューから「生活」をクリックしてみましょう。
この場所で使えるデータの種類が表示されます。ここでは「Wi-Fi」と「公共施設」が使えるようです。
「公共施設」をクリックしてみました。WAPIを検索したところ、近くには1件あるようです。
「地図」を選択すると、別画面で周辺の地図が表示され、見つかった公共施設の場所にマーカーが表示されます。
マーカーをクリックすると、ここは「福岡市博物館」のようです。
下のメニューから「安全」をクリックしてみました。
この場所で使えるデータの種類が表示されます。ここでは「指定緊急避難場所」と「AED」が使えるようです。
「指定緊急避難場所」をクリックすると、指定緊急避難場所の種類を聞いてきました。ここでは「地震」を選択してみます。
すると、WAPIを検索し、近くに90件あることがわかりました。
「地図」を選択すると、別画面で周辺の地図が表示され、見つかった指定緊急避難場所にマーカーが表示されます。
場所を変えてみます。
下のメニューから「位置」をクリックし、表示された地図をドラッグし、飯塚市を選んでみました。
「送信」ボタンを押してLINEBOTに位置を教えます。
下のメニューから「生活」をクリックすると、ここで使えるデータの種類が表示されます。
ここでは「介護サービス」「医療機関」「文化財」「観光施設」などが使えるようです。
「医療機関」を選んでみました。近くに39件の医療機関があるようです。
「地図」を選択すると、別画面で周辺の地図が表示され、見つかった医療機関にマーカーが表示されます。
「文化財」を選ぶと、近くに9件あることがわかります。
「地図」を選択すると、別画面で周辺の地図が表示され、見つかった文化財にマーカーが表示されます。
「介護サービス」を選ぶと、近くに184件あることがわかります。
「地図」を選択すると、別画面で周辺の地図が表示され、見つかった介護サービス事業所にマーカーが表示されます。
ひらの