Lat/lon vers tuile : indices X/Y Web Mercator et zoom, gratuit
Découvrez quelle tuile de carte web contient un point : (51,5074 ; -0,1278) au zoom 12 tombe dans la tuile 12/2046/1362, colonne 2046 et ligne 1362. Vous obtenez aussi les bords de la tuile et le chemin z/x/y prêt à l'emploi. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Latitude géographique
- 51,5074
- Longitude géographique
- -0,1278
- Niveau de zoom
- 12
- N
- 4 096
- X
- 2 046
- Y
- 1 362
- Z
- 12
Les calculateurs de tuiles cartographiques répondent à une question SIG quotidienne : pour un point sur la Terre et un niveau de zoom, quel carré de la pyramide mondiale Web Mercator contient ce point ? Vous recevez aussi les bornes géographiques de cette tuile et une chaîne de chemin z/x/y prête pour les URL et les caches.
Comment lat/lon devient un index de tuile slippy
Web Mercator, souvent étiqueté EPSG:3857, aplatit le globe sur un carré dont la résolution double à chaque pas de zoom. Au zoom zéro une seule tuile couvre le monde projeté entier. Au zoom un le carré se divise en grille deux par deux, au zoom deux en quatre par quatre, et en général la longueur d’axe n égale deux élevé au zoom.
La longitude se mappe linéairement : ajoutez cent quatre-vingts degrés, divisez par trois cent soixante, multipliez par n et prenez le plancher pour l’index de colonne x. La latitude n’est pas linéaire en degrés ; la coordonnée y Mercator utilise l’arcsinus hyperbolique de la tangente de la latitude en radians, ou le logarithme naturel équivalent de tangente plus sécante. Après normalisation de cette valeur Mercator dans l’intervalle unitaire de zéro au bord nord à un au bord sud, multipliez par n et prenez le plancher pour l’index de ligne y.
Les indices vont de zéro inclus à n moins un inclus sur chaque axe, correspondant au motif familier z/x/y d’OpenStreetMap et des CDN de tuiles compatibles. Comme la tangente de la latitude diverge aux pôles, Web Mercator n’admet que des latitudes dans environ plus ou moins quatre-vingt-cinq virgule zéro cinq un un degrés ; ce calculateur rejette les valeurs hors de cette bande fermée plutôt que de les écrêter sans avertissement. La longitude doit rester dans l’intervalle fermé de moins cent quatre-vingts à plus cent quatre-vingts degrés.
Le zoom doit être un entier non négatif au plus trente pour que deux élevé au zoom reste un nombre de tuiles pratique.
Où la conversion lat/lon vers tuile intervient en pratique
Les ingénieurs cartographiques front-end convertissent sans cesse des fixes GPS et des résultats de géocodeurs en coordonnées de tuile pour demander la bonne tuile raster ou vectorielle, déboguer des imageries manquantes et comparer des clés de cache entre CDN. Les services backend qui préchauffent des caches de tuiles ou partitionnent des charges géospatiales par cellule de pyramide ont besoin d’une forme fermée de confiance qui concorde avec Leaflet, OpenLayers et Mapbox GL sans embarquer une bibliothèque de projection complète dans un worker.
Les auteurs de cursus SIG et cartographie web veulent que les étudiants voient les formules Mercator produire des indices entiers et des bornes de tuile lisibles sans écrêtage silencieux aux pôles. Les pipelines logistiques et IoT qui ne stockent que des clés de tuile grossières pour la confidentialité ou le stockage ont encore besoin de la conversion directe depuis des coordonnées précises à l’ingestion.
Si vous avez ensuite besoin du problème inverse du centre de tuile ou d’un encodage quadkey complet, de géodésiques ellipsoïdales ou de points de destination par grand cercle, traitez-les comme des intentions de recherche et des pages distinctes plutôt que de surcharger cette page d’index de tuile slippy.
Cas d’usage
Déboguer couches cartographiques et URL de tuiles
Transformez un lat/lon GPS ou de géocodeur plus un zoom en z/x/y pour ouvrir l’URL exacte de tuile OSM ou XYZ et comparer les clés de cache entre environnements.
Préchauffer et partitionner des caches de tuiles
Convertissez par lots des listes de waypoints en indices de cellules de pyramide pour des jobs de warm-up CDN, des shards régionaux et un stockage grossier de type geohash préservant la vie privée.
Questions fréquentes
Quel schéma de tuiles ce calculateur utilise-t-il ?
Compatible avec OpenStreetMap, Mapbox, Leaflet et la plupart des serveurs XYZ.
Pourquoi la latitude est-elle limitée à environ ±85.0511° ?
Web Mercator est singulier aux pôles. La plage fermée est arctan(sinh(π)) ≈ ±85.05112878°.
Que se passe-t-il si le zoom est négatif ?
Le zoom doit être un entier non négatif dans [0, 30]. Un zoom négatif ou fractionnaire n’est pas un niveau valide de la pyramide slippy-map.
La réponse inclut-elle les bornes géographiques de la tuile ?
Oui. Outre x, y, z et la chaîne de chemin z/x/y, vous obtenez les bords ouest, sud, est et nord en degrés décimaux du carré de tuile sélectionné.
Quel est le coût ?
L’outil navigateur est gratuit et s’exécute en local.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"latitude": 51.5074,
"longitude": -0.1278,
"zoom": 12
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.tile_from_latlon",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Cet outil prend une latitude et une longitude décimales plus un zoom entier, puis renvoie les indices de tuile slippy X et Y utilisés par OpenStreetMap, Mapbox, Leaflet et la plupart des serveurs de tuiles XYZ. Les mathématiques sont la projection standard : échelle linéaire de la longitude sur deux à la puissance du zoom colonnes, et projection de la latitude via l’arcsinus hyperbolique de la tangente pour que l’axe y Mercator coïncide avec la même grille carrée. Zoom négatif, zoom non entier, latitudes au-delà de la limite Mercator près de quatre-vingt-cinq degrés, et longitudes hors plus ou moins cent quatre-vingts échouent avec un message clair invalid_input au lieu d’un enroulement silencieux.
Ce que vous envoyez et ce que vous recevez
La latitude doit se situer dans la plage fermée Web Mercator d’environ moins quatre-vingt-cinq virgule zéro cinq un un à plus quatre-vingt-cinq virgule zéro cinq un un degrés, nord positif. La longitude, dans l’intervalle fermé de moins cent quatre-vingts à plus cent quatre-vingts, est positif. Les contrôles classiques incluent Londres près de cinquante et un virgule cinq zéro sept quatre nord, zéro virgule un deux sept huit ouest au zoom douze, et la vérification que x et y correspondent aux inspecteurs de tuiles OpenStreetMap connus. Branchez le formulaire gratuit du navigateur pour déboguer des couches cartographiques et des démos en classe ; appelez le même contrat depuis des scripts pour une génération massive de clés de tuile ou des listes de préchauffage de cache. Envoyez trois nombres finis obligatoires sous les champs latitude, longitude et zoom. Le zoom doit être un entier supérieur ou égal à zéro et au plus trente ; zoom négatif, fractionnaire ou absurdement grand échoue avec invalid_input et n’est pas facturé. Des alias courants comme lat, lon, lng et z sont acceptés au parse, tandis que la réponse renvoie toujours les noms canoniques. En cas de succès la réponse renvoie latitude, longitude et zoom nettoyés, la longueur d’axe n égale deux élevé au zoom, les indices entiers de tuile x et y, un champ z miroir, une chaîne de chemin de tuile en forme z/x/y, un objet bounds avec bords ouest, sud, est et nord de cette tuile en degrés, la constante max_mercator_lat, l’étiquette de méthode web_mercator_slippy et une chaîne de formule compacte pour la documentation. Le tarif des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé.
Où la conversion lat/lon vers tuile intervient en pratique
Comme cette capacité est un moteur de parse pur, le tarif API est la base publiée de $0.002 par élément réussi et l’échec de validation ne consomme pas le solde.
Cas d'intégration
Devoirs SIG et fixtures golden
Générez des X/Y de tuile et des bornes stables pour des repères de manuel, afin qu’enseignants, correcteurs automatiques et suites de régression partagent une même vérité Web Mercator.