地図と自分の位置はどう表示されるのか — GPS・ジオコーディング・地図 API

読了 4分

地図アプリを開くと自分のいる場所が青い点で表示され、住所を検索するとその位置にピンが立ちます。デリバリーのアプリは「自分の近く」の店を勝手に見せてくれます。あまりに当たり前に見えますが、その裏には、自分の位置を割り出し、住所と地図を結ぶいくつもの段階が隠れています。

今回の記事では、自分の位置がどうやって把握され、住所と地図がどうつながり、サービスが地図をどう画面に出すのかを、コードなしで解きほぐしていきます。

自分の位置は、複数の信号を合わせて割り出します #

位置を割り出すもっとも身近な方法が GPS です。空に浮かぶ複数の衛星が送る信号を受け取り、自分が地球のどのあたりにいるかを計算します。複数の衛星との距離を突き合わせながら、位置を絞り込んでいく方式です。

しかし GPS だけでは足りないことが多いです。建物の中や地下では、衛星の信号が弱くなるからです。だから端末は、まわりの Wi-Fi や携帯電話の基地局の情報まで一緒に活用します。複数の手がかりを合わせて、もっともそれらしい位置を推定するのです。屋内でもおおよその位置がつかめるのは、ここに理由があります。

住所と座標は、たがいに翻訳されます #

地図が扱う位置は、じつは緯度と経度という数字の一組です。人は「東京都のどこ」という住所で位置を言いますが、地図は数字の座標で位置を扱います。だから両者のあいだを移す翻訳が必要です。

住所を座標に変えることをジオコーディングと呼びます。住所を検索するとその地点にピンが正確に立つのは、住所が座標に翻訳されたからです。逆に、座標を住所に戻す翻訳もあります。地図のどこでも長押しすると、その場所の住所が出るのがその例です。

地図は、他人が作ったものを借りて使います #

サービスが地図を自分で描くことは、ほとんどありません。世界じゅうの道や建物を一つひとつ描き入れ、最新に保つことは、一つの会社が抱えきれないからです。だからたいていは、Google マップや地域の地図サービスのように、すでによくできた地図を借りて使います。

このとき使う通り道が地図 API です。先に、API はサービス同士が決まったやり方で機能をやり取りする約束だと話しました。地図 API も同じで、この座標を中心に地図を見せてほしい、ここにピンを立ててほしい、といった要望を地図の会社に送り、その結果を画面に載せるのです。おかげで小さなサービスでも、世界地図を手軽に出せます。

位置は、機微な個人情報です #

位置は、ただの座標を超えて、その人がいつどこにいたかを明かす機微な情報です。位置の記録が積み上がると、自宅と職場、よく行く場所、生活のパターンまで描き出せます。だからアプリは、位置を使う前にユーザーに権限を尋ね、許可しているあいだだけ使うようになっています。

サービスを作る側も、位置のデータを扱うときはとくに慎重でなければなりません。先にデータと指標を扱ったときのように、必要なぶんだけ集め、目的に合わせてだけ使うという原則が、位置ではいっそう大切です。一度漏れると取り戻しにくい情報だからです。

だから、位置の機能を使うとき #

位置を使う機能を作ったり企画したりするときは、いくつかを一緒に見る必要があります。まず、ユーザーがなぜ権限を許可すべきかをはっきり説明するのがよいです。また、位置にはつねに誤差があり、屋内や都心では数十メートルずれることがある、という点も見込んでおく必要があります。

費用も外せません。地図 API は、一定の使用量を超えると料金がかかる場合が多いです。地図をどれだけ頻繁に呼び出すかが、そのまま費用につながるので、最初から使用量を念頭に置くほうがよいです。

なぜ非開発者が知っておくと仕事が楽になるのか #

  • 権限の要求を説明できます。 アプリがなぜ位置の権限を尋ねるのか、断るとどの機能が制限されるのかを、ユーザーにはっきり案内できます。
  • 精度の限界を知れます。 位置に誤差があると知っていれば、「なぜ自分の位置が少しずれるのか」という問い合わせに落ち着いて答えられます。
  • 費用を前もって見られます。 地図 API に料金が付くと知っていれば、地図を多く使う機能を企画するときに、費用まで一緒に見積もれます。

まとめ #

今日は、自分の位置が GPS や Wi-Fi といった複数の信号で把握され、住所と座標がジオコーディングでたがいに翻訳され、サービスが地図 API で他人の作った地図を借りて使う、という流れを見てきました。位置が機微な個人情報だ、という点も忘れてはいけない部分です。

地図を借りて使う通り道である API が気になればAPI とは何かを、位置のようなデータをどう集めて扱うのかが気になればサービスのデータとログはどう分析するのかを一緒に読んでみることをおすすめします。

X