解決策
2005年、Googleマップは描画上の課題に直面していた。通常のウェブ接続上で、継ぎ目のない、高速で、ズーム可能な世界地図を実現することである。その解決策は、今では当然とされている2つの選択を組み合わせたものだった。球面の公式を用いたメルカトル式の投影法を使い、緯度±85°付近で地図を切り取ることで、投影後の世界を正確に正方形にしたのである。
世界が正方形であれば、タイル化は単純な算術になる。ズーム0では地図全体が256×256ピクセルの1枚のタイルであり、ズームするごとに両軸が2倍になるため、各タイルのアドレスは整数の組となり、ズームレベルごとに解像度は4倍になる。タイルは事前に描画し、キャッシュし、個別に取得できる。この性質が、パンやズームを瞬時に感じさせるものにした。Google自身のドキュメントは今も、256×256の基本タイルと、±85°での切り取りについて「結果として得られる地図の形状を正方形にし、タイル選択のロジックを容易にするため」と説明している。
この方式は互換性によって広まった。EPSGレジストリはこの投影法を「WGS 84 / Pseudo-Mercator」(EPSG:3857)として記録し、適用範囲を「ウェブマッピングと可視化」とし、Googleマップ、OpenStreetMap、Bing、ArcGIS、ESRIが使用している。Esriは2009年、これに対抗するのではなく、ArcGIS Onlineを同じメルカトルベースのタイル方式へ移行させた。
達成したこと
世界を正方形にし、2の累乗でタイル化した
うまくいった理由
世界が正方形であることで、どのズームでも各タイルのアドレスが単純な整数演算になる。
256×256の2の累乗タイルは、事前描画、キャッシュ、ストリーミングが可能である。
競合他社がすべて同じ方式を採用したため、1つの投影法がすべてのウェブ地図をカバーする。
球面の公式により、街路レベルの縮尺でも局所的な形状と方向が実用的に保たれる。
応用できること
エンジニアリングを容易にする投影法を選ぶこと。正方形の世界と2の累乗タイルは地図のストリーミングを整数演算に変え、互換性がそれを標準にした。
その後
Webメルカトル(EPSG:3857)は、Googleマップ、OpenStreetMap、Mapbox、Bing、CARTO、Esriなど、事実上すべてのオンライン地図の既定の投影法となった。また、Google式のタイル方式はラスターおよびベクタータイルサービスの基準となっている。GISツールは今も面積計算にこれを使うことへの警告を発しているが、表示用途では勝利を収めた。
出典をたどる
出典
- EPSG:3857 — WGS 84 / Pseudo-Mercator EPSG registry (epsg.io) · epsg.io ·
- Map and Tile Coordinates — Maps JavaScript API Google for Developers · developers.google.com
- What Is the Web Mercator Projection? GIS Geography · gisgeography.com ·