ForHosting KIT · 旅行・地理

Web Mercator地上解像度計算

赤道でズーム0のとき、一般的なウェブ地図の1ピクセルは156,543.033928 m、256ピクセルのタイル1枚は40,075,016.6856 mに当たります。ズームが1段上がるごとに半分になり、高緯度ではさらに小さくなります。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
緯度
0
ズームレベル
0
結果
1ピクセルあたりのメートル数
156,543.033928
1タイルあたりのメートル数
40,075,016.6856
タイルサイズ (px)
256
地球の半径 (m)
6,378,137

この計算ツールは、指定した緯度とスリッピーマップのズームで、Web Mercatorの1ピクセルが地上の何メートルに相当するかを求めます。EPSG:3857の球体、256ピクセルのタイル、一般的なXYZタイルピラミッドを使用します。画面上の距離の換算、記号の大きさの決定、スケールバーの作成、必要な詳細度に合う画像の選択に役立ちます。計算は決定的でネットワークを使用せず、タイル1枚分の地上幅も返します。

地上解像度が表す内容

地上解像度は、地図上の1ピクセルが覆う実世界のおおよその距離を示し、通常はメートル毎ピクセルで表します。モニターの解像度、GPSの精度、航空画像が本来持つ細かさとは異なります。特定の緯度におけるWeb Mercatorのデジタル格子と地上距離を結び付ける尺度です。

ズーム0では、投影された世界全体が256ピクセルのタイル1枚に収まります。ズームが1段階上がるごとに各方向のタイル数が倍になり、1ピクセル当たりの距離は半分になります。Web Mercatorは極に近づくほど縮尺を拡大するため、緯度も重要です。

同じズームでも、赤道から離れたピクセルほど東西方向の地上距離が短くなります。

Web Mercatorの計算式

このツールはEPSG:3857が採用する赤道半径6,378,137メートルを使用します。最初に、半径へ2とpiを掛けて球の赤道周長を求めます。それを256で割ると、赤道かつズーム0での初期解像度になります。

続いて2のズーム乗で割り、ラジアンへ変換した緯度の余弦を掛けます。簡潔に表すと、解像度はcos(緯度) × 2πR ÷ (256 × 2^zoom)です。応答は一般的な論理タイルサイズである256ピクセルを前提とします。

512ピクセル画像を配信するレンダラーでは、タイルとズームの規約をご確認ください。入力できるズームは0から30までの整数、緯度はWeb Mercatorの実用限界である約±85.05112878度以内です。この制限により、有限のスリッピーマップ世界の外側を有効な位置として扱うことを防ぎます。

精度を過大評価しない使い方

地上解像度は縮尺の換算値としてお使いください。元データが同じ精度を持つという保証ではありません。たとえば2メートル毎ピクセルなら、10ピクセルの線は指定緯度付近で約20メートルに相当しますが、道路形状、画像、端末位置にはそれ以上の誤差があり得ます。

表示範囲の上端と下端では緯度が異なるため、縮尺も変化します。通常の対話型地図では中心緯度で十分ですが、南北に長い地域の出力では複数緯度での計算が適切です。クラスタリング半径、クリック許容範囲、ラスター出力範囲、スケールバーの表示にご利用いただけます。

整数ズームが1段上がるたびに値は半分になります。同じズームなら絶対緯度が高いほど余弦補正により値が小さくなります。

正確なスケールバーの作成

地図中心の緯度で、指定したピクセル幅を表示用のおおよその地上距離へ換算します。

クラスタと選択半径の決定

画面上のピクセル閾値を、指定したズームと緯度でのメートル値へ変換します。

ラスター出力の計画

地図画像を取得または処理する前に、タイルやピクセルが覆う地上幅を見積もります。

どの計算式を使用しますか?

cos(緯度) × 2π × 6378137 ÷ (256 × 2^zoom)を使用し、緯度は先にラジアンへ変換します。

緯度によって解像度が変わるのはなぜですか?

Web Mercatorは極に近いほど縮尺を拡大するため、高緯度では投影上の1ピクセルが表す地上距離が短くなります。

想定するタイルサイズはいくつですか?

一般的なスリッピーマップの論理タイルサイズである256ピクセルを想定しています。

小数のズーム値を使えますか?

いいえ。 0から30までの整数のタイルピラミッド階層に対応しています。

画面上の距離を地上のメートルに直すにはどうしますか?

1ピクセル当たりのメートル値に、地図上で測ったピクセル数を掛けてください。値は入力した緯度の近くで有効なので、南北に大きく離れたら計算し直してください。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/geo/web-mercator-ground-resolution

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/geo/web-mercator-ground-resolution \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude":40.7128,"zoom":12}'
{
  "latitude": 40.7128,
  "zoom": 12
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.web_mercator_ground_resolution",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

地上解像度が表す内容

指定緯度付近の換算にはmeters_per_pixelを使い、画面幅や記号幅のピクセル数を掛けてください。meters_per_tileは標準XYZタイル1枚の幅に同じ解像度を適用した値です。

精度を過大評価しない使い方

APIは正常な1項目につき$0.002で、ブラウザーと同じ決定的計算を実行します。

APIリクエストの料金はいくらですか?

正常に処理された1項目は$0.002です。無効な入力にはinvalid_inputエラーを返します。

KITの完全なドキュメントを見る →