今回のテーマは位置情報です。スマートフォンが流行るのにともなって位置情報を使うアプリ、サービスが増えていますが、その反面プライバシーに直結することもあってその扱いに注意が必要にもなっています。

とは言え技術的に見ればとても面白い活用法が考えられるだけに、様々な活用法が出てきているのも事実です。そこで最近の話題と関連オープンソース・ソフトウェアを紹介します。

トレンド

プライバシー

位置情報を同一セッションにおいて記録し続けるとその人の生活圏、自宅など様々な情報が漏洩してしまいます。そのため、その取り扱いについて国としての枠組みが出来つつあります。

先日、総務省の位置情報プライバシーレポートにおけるYahoo! Japanの意見が酷いといった話題があがっています。企業として位置情報を扱うサービスを提供する場合、ユーザの承認を確実得るといった仕組みが大事になるでしょう。

入力データとして扱う

スマホ、タブレットにおいて情報を入力するというのはとても面倒なものです。ソフトウェアキーボードで長文を打っていくのはとても面倒で、外付けキーボードを使ったりします。その入力ソースの一つとして使えるのが位置情報です。

データを入力する際には位置情報(場所)や時間に関連づいていることが多々あります。位置情報を使って近くにある店舗や公共施設の名前と一緒に保存することが出来れば後で検索するのも容易にできます。

フィルタリング

近くの人とだけチャットをしたり、アドレス交換をしたりと位置情報をキーにすることでリアルな場所において近くにいるというフィルタリングに使うことが出来ます。技術によって、または場所によって誤差が大きいのが難点ですが、ある程度のフィルタには使えるのではないでしょうか。

多彩な位置取得技術

位置情報を取得するのはGPSだけではありません。Wifi、IPアドレスなど様々な情報から取得できます。ただし精度が最も高いのはGPSなどで、かつ屋外にいる場合でしょう。

最近、磁気指紋データを使った位置情報取得技術magnetic fingerprintというのが注目を集めています。建物に対する調査が必要ではありますが、モールの中や地下、博物館のような建物でも位置情報が使えるようになるでしょう。

データベース

位置情報をデータベースで扱うのは意外と面倒です。有名なところではPostgreSQLのPostGISであったり、MongoDBを使うかと思います。全文検索との組み合わせを考えた場合はGroongaやElasticSearchが利用できます。

既存のデータベースに対してある程度粗い条件でも許容できる場合、GeoHashを使う方法もあります。予め計算しておく必要がありますが、MySQLなどでインデックスも効きやすいので気軽に使えるはずです。