Googleマップの登場 ~インターネットGISから Web GIS へ~
2000 年代中盤までは「インターネット GIS」とよばれていました。クライアントから要求された範囲を都度サーバー側で地図画像や地図データを生成する処理を行うのがマップ生成の一般的なやり方でした。インターネットGISを牽引した ArcIMS では、クライアント(利用者)がドラックした範囲をサーバーが受け取り、地図画像を生成してクライアントに戻す、もしくはベクトルデータを送ってクライアントにインストールされたJavaの力で描画する、という方法を採ってました。
それに対して、2005年2月に登場した Googleマップは、あらかじめ地図を数種類の縮尺ごとにタイル形状の画像(タイル画像)で用意しておき、クライアントの要求によって作成済みの地図画像を送るだけで表示する、という、当時画期的な方法を採用し、高パフォーマンスなサービスを実現しました。
タイル画像のデメリットは、タイル間の微妙な縮尺の地図が表示できないことや、地図のレイアウト(シンボル)を動的に変更することができない点にありましたが、このデメリットよりも、高速に地図が表示できて住所検索して場所が分かるという方が圧倒的にメリットが大きかったわけです。
ArcIMSはキャッシュをサポートすることなくリタイアしましたが、ポストArcIMSとして登場したArcGIS Server(現在はArcGIS Enterpriseのコンポーネントという位置づけ)で、タイル画像(キャッシュ マップ サービス)が実装されました。ArcGIS Serverは、ArcGIS Engineと共に 2004年5月にバージョン9.0として米国でリリースされましたが、バージョン9.1までは都度クライアントの要求によって地図を描画してサーバーから結果を渡すというArcIMSとあまり変わらない方式でした(内部のテクノロジは違います)。
当初Esriは「Googleマップはただの絵だ!」と言ってたそうですが、Googleマップの爆発的な普及から一転して、2006年11月に米国でリリースされたArcGIS Server 9.2でタイル キャッシュをサポートするようになりました。結局インターネットで表示する地図は絵で良かったんですね。当時のマシン スペックだとその方が地図描画が圧倒的でした。
Googleマップ登場あたりから「Web GIS」と呼ばれるようになってます。
ちなみに、やっとタイル キャッシュが当たり前になった現在ですが、Googleは2013 年にタイル画像方式から次世代のいわゆる「ベクタータイル」方式に移行してしまいました。この辺はEsriも追っかけています。
2000年代中盤は「マッシュアップ」という別々のサービスをミックスしてより良い付加価値を与える、というのが流行りだした時期でもあります。そうすると、Googleマップ(一般図)の上に別のGISサービス(主題図)を重ねて分かりやすい地図にする、なんてことも考えたくなります。
ではGoogleマップの上にGISデータを重ね合わせて地図を作ろうとすると上手く重ね合わせができないことが露呈します。
Googleマップと重ねられない GIS の地図
Esri のサポート サイトにこのような FAQ が掲載されています。
- 問題: ArcGIS Server のフィーチャが Googleマップ や Microsoft Virtual Earth のマップと位置が合いません ※リンク切れ
- Wayback Machineアーカイブ
Google マップに「別の地図」を重ねようとすると「位置が合わない」のです。Googleマップはメルカトル図法で WGS84 と書かれているのだからそれで投影座標系を定義すれば重なるのではないか?と思いたいですが、それで定義しても Google マップと重ならないのです。
地図は「座標系」と呼ばれるもので表現が決まります。「座標系」=「投影法 + 測地系」です。「測地系」とは、超簡単に要約すると「地球の大きさの定義」(実際は+αがある)です。そして、投影法は、緯度経度を平面にプロットするので、どの測地系として投影するかによって地図の表現が変わります。
先ほどから何回か登場している「WGS84」が「測地系」と呼ばれるもので地球の大きさが定義されています。
WGS84 楕円体
長半径(赤道半径): 6378137.0
短半径(極半径) :6356752.314245179
扁平率の逆数 :298.257223563
WGS84 をはじめとして他の回転楕円体も赤道方向に少しつぶれているのが地球の形と定義されています。普通地図は、回転楕円体に基づいて緯度経度を求め、地図投影しています。
経緯度を測る基準である測地系とは別に、地図投影で経緯度を投影座標に換算する際に回転楕円体を考慮するかどうかの考慮も必要になります。Googleマップは、経緯度の決定にはWGS84が使われていますが、地図投影で採用されている回転楕円体は
長半径(赤道半径) 6378137.0
短半径(極半径) :6378137.0
扁平率の逆数 :0
と、もはや回転楕円体ではなく球体が使われています。GIS に携わっていたら
日本測地系(ベッセル楕円体)から世界測地系(GRS80 楕円体)へ変換すると同一座標で 400m ~ 500m ずれる
と聞かれたことがあるでしょう。Googleマップの地図投影に採用された回転楕円体の大きさをみると、これがいかに大変なことかが分かっていただけるでしょう。
地図投影で回転楕円体を考慮するかしないかによる違いは、別の記事で詳しく解説しているので読んでみて下さい。

メルカトルとWebメルカトルのズレの大きさ
赤道を基準として、重ね合わせてどれくらいズレがあるのか確認してみます。ズレの距離は測地線距離で以下のとおりでした。



巨人の手にかかれば地球の大きさも変えられるのか
同一緯度なら東西での差異は見られません。これにより、WGS84 と Google 由来の真の測地系で同一の緯度経度を示すと、実際には 16~21km のズレが生じるということが分かります。なお、このズレは赤道を基準にした絶対的な距離の差です。相対的な差は図郭の北端と南端の緯度差がすくなければ無視できます。
