緯度経度から地図タイル
地点がどのウェブ地図タイルに入るかが分かります。(51.5074, -0.1278)はズーム12でタイル12/2046/1362、列2046・行1362です。タイルの境界とz/x/yのパスも表示され、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 緯度
- 51.5074
- 経度
- -0.1278
- ズーム
- 12
- N
- 4,096
- X
- 2,046
- Y
- 1,362
- Z
- 12
地図タイル計算機は日常のGISの問いに答えます。地球上の点とズームレベルが与えられたとき、大域Webメルカトルピラミッドのどの正方形がその点を含むか。本ツールは十進の緯度・経度と整数ズームを受け取り、OpenStreetMap、Mapbox、Leaflet、および大半のXYZタイルサーバが使うslippyマップのタイルX/Y索引を返します。数学は標準投影です。 経度を2のズーム乗の列に沿って線形にスケールし、緯度を正接の逆双曲線正弦で写像してメルカトルのy軸が同じ正方格子に一致するようにします。そのタイルの地理的境界と、URLやキャッシュ向けのz/x/yパス文字列も得られます。
緯度経度がslippyタイル索引になる仕組み
Webメルカトル(しばしばEPSG:3857)は地球を、ズームごとに解像度が倍になる正方形に平らにします。ズーム0では1枚のタイルが投影世界全体を覆い、ズーム1では2×2、ズーム2では4×4となり、一般に軸長nは2のズーム乗です。経度は線形に写像します。
180度を加え、360で割り、nを掛け、床関数で列索引xを得ます。緯度は度で線形ではなく、メルカトルyはラジアン緯度の正接の逆双曲線正弦、または正接+正割の自然対数の同等形を用います。そのメルカトル値を北端0・南端1の単位区間に正規化した後、nを掛けて床関数で行索引yを得ます。
索引は各軸で0以上n−1以下で、OpenStreetMapと互換CDNのz/x/y URLパターンに一致します。緯度の正接は極で発散するため、Webメルカトルはおおよそ±85.0511度以内の緯度のみを許し、本計算機は警告なしのクランプではなくその閉帯域外を拒否します。経度は−180〜180度の閉区間に留まる必要があります。
ズームは0以上30以下の非負整数で、2のズーム乗が実用的なタイル数に収まるようにします。
緯度経度から地図タイル変換が実務で使われる場面
フロントエンドの地図エンジニアは、正しいラスタ/ベクタタイルを要求し、欠落画像を調べ、CDN間でキャッシュキーを比較するために、GPSやジオコーダ結果を常にタイル座標へ変換します。
タイルキャッシュを事前温めしたり、ピラミッドセルで地理空間負荷を分割するバックエンドは、Leaflet・OpenLayers・Mapbox GLと一致する信頼できる閉形式を、投影ライブラリ全体をワーカーに引き込まずに必要とします。
GISとWeb地図の教材では、極での無言クランプなしにメルカトル公式が整数索引と読みやすいタイル境界を生む様子を学生に見せたいと考えます。プライバシーや容量のために粗いタイルキーだけを保存する物流・IoTパイプラインでも、取り込み時の精密座標からの順変換は必要です。
タイル中心の逆問題やフルquadkey符号化、楕円体測地線、大圏到達点が必要な場合は、別の検索意図とランディングとして扱い、本slippyタイル索引ページを過負荷にしないでください。
活用例
地図レイヤとタイルURLのデバッグ
GPSまたはジオコーダの緯度経度とズームをz/x/yに変換し、正確なOSM/XYZタイルURLを開いて環境間のキャッシュキーを比較します。
タイルキャッシュの事前温めと分割
ウェイポイント一覧をピラミッドセル索引へ一括変換し、CDNウォームアップ、地域シャード、プライバシー配慮の粗いgeohash風保存に使います。
よくある質問
この計算機はどのタイル方式を使いますか?
標準のWebメルカトルslippyマップ方式(OSM / XYZ)です。OpenStreetMap、Mapbox、Leaflet、大半のXYZサーバと互換です。
緯度が約±85.0511°に制限される理由は?
Webメルカトルは極で特異です。閉範囲はarctan(sinh(π)) ≈ ±85.05112878°です。
ズームが負の場合はどうなりますか?
ズームは[0, 30]の非負整数である必要があります。負や小数のズームは有効なslippyピラミッド段階ではありません。
応答にタイルの地理的境界は含まれますか?
はい。 x、y、zとz/x/yパスに加え、選択したタイル正方形の西・南・東・北縁を十進度で返します。
ズームレベルはいくつまで指定できますか?
0から30までの整数です。ズームが1段上がるごとに列と行の数が2倍になり、たとえばズーム12では1辺に4096枚のタイルが並びます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/tile-from-latlon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":51.5074,"longitude":-0.1278,"zoom":12}'const res = await fetch("https://api.kit.forhosting.com/geo/tile-from-latlon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"latitude": 51.5074,
"longitude": -0.1278,
"zoom": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/tile-from-latlon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"latitude": 51.5074,
"longitude": -0.1278,
"zoom": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/tile-from-latlon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"latitude":51.5074,"longitude":-0.1278,"zoom":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"latitude":51.5074,"longitude":-0.1278,"zoom":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/tile-from-latlon", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"latitude": 51.5074,
"longitude": -0.1278,
"zoom": 12
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.tile_from_latlon",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
負のズーム、非整数ズーム、約85度付近のメルカトル限界を超える緯度、±180の外の経度は、黙って折り返すのではなく明確なinvalid_inputで失敗します。
送信内容と返却内容
緯度は北を正として約−85.0511〜+85.0511度のWebメルカトル閉範囲、経度は東を正として−180〜180度の閉区間です。古典的な確認はロンドン付近(約51.5074N、0.1278W)のズーム12で、既知のOpenStreetMapタイル検査とx/yが一致することです。地図レイヤのデバッグや教室デモには無料のブラウザフォームを、大量のタイルキー生成やキャッシュウォームアップには同一契約のスクリプト呼び出しをご利用ください。latitude、longitude、zoomの3つの有限数を必須で送ってください。ズームは0以上30以下の整数で、負・小数・極端に大きい値はinvalid_inputで失敗し課金されません。lat、lon、lng、zなどの別名はparse時に受け付け、応答は常に正規フィールド名を返します。成功時は整形済み緯度・経度・ズーム、n=2^zoom、整数タイル索引xとy、鏡像のz、z/x/y形式のタイルパス、そのタイルの西・南・東・北縁を度で持つbounds、定数max_mercator_lat、手法タグweb_mercator_slippy、文書用の短いformulaを返します。成功APIの料金は公開ベース$0.002/件で、検証失敗は前払い残高を消費しません。
緯度経度から地図タイル変換が実務で使われる場面
本機能は純parseエンジンのため、API料金は成功1件あたり公開ベース$0.002で、検証失敗は残高を消費しません。
連携の活用例
GIS課題とgoldenフィクスチャ
教科書のランドマーク向けに安定したタイルX/Yと境界を生成し、指導者・自動採点・回帰スイートが同一のWebメルカトル正解を共有します。
技術的な質問
料金はいくらですか?
ブラウザツールは無料で端末上で動作します。APIは成功1件あたり$0.002の前払いKIT残高を使用し、無効入力は課金されません。