旭川市オープンデータを使った避難場所検索Webアプリを作ってみた
2021/3/13 追記 : 避難場所検索Webアプリを Python で書き直しました。また、同じくオープンデータでAED設置場所検索Webアプリも作りました。
旭川市オープンデータライブラリ が公開されていて、その中に旭川市指定避難場所の一覧が位置情報付きで公開されているのを知って、プログラミングの勉強がてら、旭川市避難場所検索Webアプリを試作してみました。
2017/03/12 追記 : YOLPが常時SSL(AOSSL)対応となり無料版でもHTTPSが使えるようになった ため、現在位置が取得できない問題が解決しましたので、エントリの内容を一部修正しました。
JavaScriptでクライアントの現在位置の緯度経度を取得し、オープンデータから取得した避難場所の緯度経度と計算し、避難場所までの距離を算出し、現在位置から近い避難場所の情報を表示するものです(距離は三角関数を使って算出しているもので、実際の道路状況を考慮した近さを算出できるわけではないので、あくまで近さの目安を確認するものになります)。
最初Ruby on Railsの勉強として作ろうと思ったのですが、やっているうちにERBの使い方や、Rackの仕組みを勉強したいと思い、プログラムはRubyで書き、HTTP周りの部分はRackを使いました。
地図はYahoo! Open Local Platform (YOLP)のAPI(無料版)を使わせてもらっています。
サーバーはHerokuのdyno無料版を使わせてもらっています。
無料版のみで構築したので、このWebアプリには次のような弱点があります。
- 1日18時間しかアクセスできない。
- 前述のとおり、道路状況を考慮した避難場所までの近さを表示できていない。
1番目の弱点はHeroku dyno無料版の制限です。有料版に移行するか、自分のWebサーバに移すかすれば解決できそうです。
2番目はYOLPのAPIの機能でなんとかできるのかな?これから調べてみたいと思います。
そんなわけで、あくまで私の個人的なプログラミングの練習材料ということで……。