これまで使ったほぼすべてのインタラクティブな地図はWeb Mercatorで描かれています。Google Maps、OpenStreetMap、Mapbox、MapLibre、Apple Maps、MapAtlas、すべて同じ投影法で、EPSGデータベースではEPSG:3857として識別されます。理由はシンプルです。タイルグリッドにクリーンにスケールし、任意のズームで形状を認識可能に保ち、ほぼすべてのビジネス地図ユースケースに適したデフォルトとして機能するからです。
このガイドでは、この投影法が実際に何であるか、なぜ面積をそのように歪めるのか、そして別のものを使うべきときを解説します。
30秒でわかる投影法
地球はほぼ球体です。コンピューターのスクリーンはフラットです。地図投影は球体上の位置(緯度、経度)をフラットな面上の位置(x, y)に変換する数学的関数です。すべての投影は何かをトレードオフします。形状、面積、距離、または方向。すべての用途に完璧な投影法は存在しません。だからカートグラフィという分野が成立しています。
Web Mercatorは形状と方向を保持します。面積を歪めます。赤道から離れるほど、フィーチャーは地上の実際のサイズより大きく見えます。
数式を1段落で
経度lngと緯度lat(ラジアン表記)に対して:
x = R * lngy = R * ln(tan(pi/4 + lat/2))
ここでRは投影が使用する球体地球の半径(EPSG:3857では6378137メートル)です。タイルグリッドは、ズーム0で世界全体を1枚の256x256タイルにカバーし、ズームを上げるごとに解像度が倍になる形で、これらのx,y値を各ズームレベルの整数ピクセル座標にマッピングします。
式が極で無限大になるため、緯度の上限はおよそ±85.0511度に設定されています。これが、見たことのあるすべてのWeb Mercator世界地図で極地域がクリップされている理由です。
面積が引き伸ばされる理由
極に向かって面積歪みが増大するのは、y軸が緯度に対して線形ではないからです。ln(tan(...))の項により、緯度線の間隔は北または南に移動するにつれて増加します。赤道では緯度1度が経度1度と同じ垂直スペースを占めます。ヘルシンキでは緯度1度がほぼ2倍の垂直スペースを占めます。
有名な2つの副作用:
- グリーンランドとアフリカ。 Web Mercator世界地図では、グリーンランドはアフリカとほぼ同じ大きさに見えます。実際はアフリカの方が約14倍大きいです。同じ錯覚により、南極大陸は世界の底に連続した帯として見えます。
- ロシア。 ロシアは、大部分が垂直歪みが面積を倍増させる高緯度帯にあるため巨大に見えます。
ストリートレベルの地図では、これは問題ありません。ベルリンの近所もシドニーの近所も、ほぼ実際の形状でレンダリングされます。しかし、大陸をまたいで値を比較するテーマ地図では、この歪みは実際の問題です。
EPSG:3857とEPSG:4326
どの地理空間コードベースでも両方のEPSGコードを目にします。
- EPSG:4326(WGS84 lat/lng): 角度。座標を保存する方法。GPSが報告する方法。GeoJSONがエンコードする方法。これが普遍的な座標系です。
- EPSG:3857(Web Mercator): 投影。座標を表示用ピクセルに変換する方法。
本番環境では、レンダリング境界を除いてすべて4326で作業します。PostGISのカラムはgeometry(point, 4326)。JSONペイロードはWGS84の[lng, lat]。地図ライブラリの入力は4326座標で、レンダラーが内部で投影します。
データを3857で保存するのはほぼ常に間違いです。距離を計算したり、別の地図プロバイダーを使ったり、GISツールに通す必要が生じた瞬間に4326に逆投影しなければならず、変換で精度が失われます。
Web MercatorがWebを制した理由
2005年にGoogleがMapsを立ち上げたとき、チームはすべてのズームレベルで正方形タイルを生成する最もシンプルな投影としてWeb Mercatorを選びました。正方形タイルは2のべき乗のピラミッドにクリーンに収まります。ズーム0は1タイル、ズーム1は4タイル、ズーム2は16タイル。他のすべての主要ウェブ地図プロバイダーも、タイルセットを相互利用可能にする必要があったため、同じ規則に従いました。20年後、Web Mercatorは暗黙のデフォルトです。ほぼすべての地図スタイル、ルーティングエンジン、分析オーバーレイは、特に指定がない限り3857を前提としています。
ウェブで別の投影に切り替えるということは、タイルピラミドを作り直すことを意味します。技術的には可能ですが(MapboxはGlobeビューをサポートし、deck.glはカスタム投影をサポートしています)、グローバルビューモードでより一般的になっていますが、ストリートレベルの地図ではWeb Mercatorは簡単には置き換えられません。
別のものを使うべき状況
インタラクティブな都市、地域、国レベルの地図にはほぼ常にWeb Mercatorを使います。2つのシナリオで投影を切り替えましょう。
- 地域間の値を比較するテーマ世界地図。 人口密度、選挙結果、気候変数など、視覚的な面積が意味を持つすべてのもの。北米にはAlbers Equal Area、ヨーロッパにはLambert Conformal、全球にはMollweideまたはEqual Earthを使いましょう。
- 極地図。 極付近ではWeb Mercatorは機能しなくなります。北極と南極には極心射影を使いましょう。
内部GIS分析(空間結合、距離バッファ、オーバーレイ分析)では、WGS84角度または対象国向けに設計されたローカル投影系(UTMゾーン、ヨーロッパのETRS89)で作業します。表示時にのみ再投影します。
MapAtlasの対応
MapAtlasはダイナミックマッププロダクト向けにデフォルトでWeb Mercatorタイルを提供しており、モダンなすべてのウェブ地図ライブラリが期待するEPSG:3857スキーマと同じです。Geocoding APIとSearch APIから返される座標は常にWGS84 lat/lng(EPSG:4326)なので、ソースオブトゥルースの座標を保存し、レンダラーに投影を任せることができます。投影のトレードオフと切り替え時期の詳細については、地図投影ガイドを参照してください。
よくある質問
Web Mercatorとは何ですか?
Web MercatorはGoogle Maps、Bing Maps、Apple Maps、OpenStreetMap、Mapbox、MapLibre、MapAtlas、ほぼすべてのインタラクティブなウェブ地図で使われる地図投影法です。ウェブタイルモデルに適応された古典的なメルカトル図法の変形版です。EPSGジオデティックデータベースでの識別子はEPSG:3857です。緯度と経度(球体上の角度)をフラットな地図上のx,y座標に変換し、曲面の地球を長方形の画面でレンダリングできるようにします。
Web Mercatorはなぜ面積を歪めるのですか?
Web Mercatorは局所的に角度と形状を保持しますが、赤道から離れるほどフィーチャーを引き伸ばします。ストックホルムやアンカレッジでは面積が実際の約2倍に見え、投影の極限(緯度約85度付近)では歪みが無限大に近づきます。これがWeb Mercator地図でグリーンランドがアフリカと同じ大きさに見える理由です。実際はアフリカの方が14倍大きいです。この歪みは、ほとんどのユーザーが望む「形状を認識可能に保つ」ことの代償です。
EPSG:3857とEPSG:4326の違いは何ですか?
EPSG:4326はWGS84の緯度・経度で、地球上の位置を2つの角度として表現する普遍的な方法です。EPSG:3857はWeb Mercatorで、それらの角度をフラットなx,y投影に変換したものです。座標は4326で保存します(緯度、経度)。表示には3857を使います(投影されたピクセル)。モダンな地図ライブラリは自動的に変換を処理しますが、データベースやコードで2つの座標系を混在させることは、古典的なバグの原因です。
別の投影を使うべき状況はいつですか?
インタラクティブな一般用途の地図(ストリートビュー、ナビゲーション、店舗ロケーター、不動産、フリート追跡)にはWeb Mercatorを使いましょう。特に大陸または世界規模で地域間の値を比較するテーマ地図には等積投影(Albers、Lambert、Mollweide)に切り替えてください。極地域やグローブビューには方位投影を使いましょう。内部GIS分析では、WGS84 lat/lngで作業し、表示時にのみ投影します。

