Geolocation API

Geolocation APIとは

 Geolocation APIは、緯度や経度といった現在位置の情報を取得する APIです。Geolocation APIを実装したブラウザであれば、JavaScriptから位置情報を取り出すことができるようになります。

 実は、Geolocation APIは HTML5とは関係がありません。本来、HTML5とは、WHATWGが関わった仕様を指すことが多いといえますが、Geolocation APIに関しては WHATWGは関与しておらず、W3Cが独自に策定した仕様です。

 すでに、かなり安定した仕様になっていますので、後はブラウザの実装と GPS搭載デバイスの進歩が期待されます。

 日本の携帯端末はガラパゴス携帯などと揶揄されていますが、この Geolocation APIと同じ位置情報を提供する機能はかなり以前から搭載されていたのです。その位置情報サービスを使った多彩なウェブ・サイトが日本の携帯端末向けに登場しました。皆さんの多くは、そういったサービスの恩恵を受けてきたことでしょう。そういう意味では、日本の携帯端末は最先端を走っていたのです。

 とはいえ、その位置情報提供サービスの技術仕様は、日本独自というだけでなく、携帯キャリア独自でもあり、全く互換性がありません。

 この Geolocation APIは、位置情報取得の APIを標準化した点が重要なのです。さらに、それが JavaScriptから扱える点がポイントなのです。これにより JavaScriptの実行が可能なスマート・フォンや、一般のパソコンですら、位置情報を取得できるようになります。ウェブ・テクノロジーにおける位置情報の取得は、Geolocation APIがグローバル・スタンダードになるといっても良いでしょう。

ユーザーの許可

 Geolocation APIが提供する位置情報は、プライバシー情報の 1つといえます。そのため、Geolocation API仕様では、ユーザーに対して位置情報を提供しても良いかについて許可を取ることとしています。

測地系

 Geolocation APIを使って緯度や経度の情報を取得できるわけですが、実は、緯度や経度には測地系と呼ばれる基準が大きな意味を持ちます。地図サービスなどを Geolocation APIと組み合わせるときには、この測地系を理解していないと、異なる地点を指してしまいます。

 測地系とは、緯度や経度の基準を表します。何を基準に緯度と経度を定義するのかによって、同じ緯度・経度でも位置が異なります。また、全世界を対象にするのか、それとも日本近辺だけの狭い範囲を対象にするのかによっても、その基準が異なってきます。

 地球は完全な球ではなく回転楕円体になります。そのため、世界中に適用できる緯度・経度を一意的に定めるのは難しく、様々な測地系が生み出されてきた経緯があります。

 通常、日本から利用可能な各種地図サービスでは3種類の測地系が使われています。日本近辺を対象にした日本測地系、全世界を対象にした日本版の世界測地系、そして、同じく全世界を対象にした米国版の世界測地系です。

 日本近辺を対象にした日本測地系は、旧日本測地系(Tokyo Datum)と呼ばれます。これは古くから使われている測地系ですが、もともとは明治時代に5万分の1の地図を作成するために定められた測地系です。当時の測量機器の精度の問題もありますし、少ないとはいえ地殻変動によるずれも生じています。さらに、日本から離れれば離れるほど誤差が大きくなるため、近年の国際化社会においては適用しなくなってきました。日本に限らず、他の国でも、かつては独自の測地系を採用していました。

 そのため、2002年に国土地理院が、全世界を対象にすることができる測地系の 1つを国の基準として採用しました。これは俗に新日本測地系と呼ばれることがありますが、実際には世界測地系のひとつです。ここでは日本版世界測地系と呼びます。なお、旧日本測地系と日本版世界測地系では、同じ緯度・経度でも東京付近なら 450m ほど、北海道の稚内近辺なら 400m ほど異なります。日本が測地系を変更した経緯については、国土地理院のホームページに詳しく書かれています。

 一方、米国は、日本とは異なる世界測地系を採用しています。これを WGS 84(World Geodetic System)と呼びます。これはGPSで使われる測地系ですので、実質的には世界標準といえるでしょう。

 とはいえ、世界測地系の 1つである日本版世界測地系との誤差はほとんどありません。そのため、一般的な用途であれば、これらの違いを意識する必要はないといえるでしょう。

 さて、このように日本だけでも様々な測地系が存在しているわけですが、それに伴い、国内では地図を扱うサービスが採用する測地系も統一されていませんでした。かつては国内企業が提供するインターネット上の地図サービスは、旧日本測地系が多く採用されていましたが、現在では、どちらの測地系でも利用できるようになっています。また、皆さんがよくご存じの Googleマップは WGS 84 を採用しています。

 では、本題に戻りましょう。Geolocation APIが採用する測地系は WGS 84 です。そのため、もし Geolocation APIから得られた緯度・経度を使って地図を表示させたい場合は、この測地系に注意してください。もし国内の企業が提供する地図サービスに対して旧日本測地系のモードを使ってしまうと、いくらデバイスが正確な緯度・経度を計測できたとしても、地図に表示したときには東京近辺で 450m ほどずれてしまいます。

【Next】Geolocation API クイック・スタート