Lat/lon a tesela: índice X/Y Web Mercator y zoom, gratis
Averigüe qué tesela de mapa web contiene un punto: (51,5074; -0,1278) en zoom 12 cae en la tesela 12/2046/1362, columna 2046 y fila 1362. También obtiene los bordes de la tesela y la ruta z/x/y lista para usar. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Latitud geográfica
- 51,5074
- Longitud geográfica
- -0,1278
- Nivel de zoom
- 12
- N
- 4 096
- X
- 2 046
- Y
- 1 362
- Z
- 12
Las calculadoras de teselas de mapa responden a una pregunta cotidiana de SIG: dado un punto en la Tierra y un nivel de zoom, ¿qué cuadrado de la pirámide global Web Mercator contiene ese punto? Esta herramienta toma latitud y longitud decimales más un zoom entero y devuelve los índices de tesela slippy X e Y usados por OpenStreetMap, Mapbox, Leaflet y la mayoría de servidores de teselas XYZ. La matemática es la proyección estándar: escala la longitud de forma lineal a lo largo de dos elevado al zoom columnas, y proyecta la latitud mediante el arcoseno hiperbólico de la tangente para que el eje y de Mercator coincida con la misma rejilla cuadrada. También recibe los límites geográficos de esa tesela y una cadena de ruta z/x/y lista para URL y cachés.
Cómo lat/lon se convierte en índice de tesela slippy
Web Mercator, a menudo etiquetado EPSG:3857, aplana el globo en un cuadrado que duplica su resolución en cada paso de zoom. En zoom cero una sola tesela cubre todo el mundo proyectado. En zoom uno el cuadrado se divide en una rejilla dos por dos, en zoom dos en cuatro por cuatro, y en general la longitud del eje n es dos elevado al zoom.
La longitud se mapea de forma lineal: sume ciento ochenta grados, divida entre trescientos sesenta, multiplique por n y tome el suelo para obtener el índice de columna x. La latitud no es lineal en grados; la coordenada y de Mercator usa el arcoseno hiperbólico de la tangente de la latitud en radianes, o el logaritmo natural equivalente de tangente más secante.
Tras normalizar ese valor Mercator al intervalo unitario de cero en el borde norte a uno en el sur, multiplique por n y tome el suelo para el índice de fila y. Los índices van de cero inclusive a n menos uno inclusive en cada eje, coincidiendo con el patrón familiar z/x/y de OpenStreetMap y CDN de teselas compatibles.
Como la tangente de la latitud diverge en los polos, Web Mercator solo admite latitudes dentro de aproximadamente más o menos ochenta y cinco punto cero cinco uno uno grados; esta calculadora rechaza valores fuera de esa banda cerrada en lugar de recortar sin aviso. La longitud debe permanecer en el intervalo cerrado de menos ciento ochenta a más ciento ochenta grados. El zoom debe ser un entero no negativo no mayor que treinta para que dos elevado al zoom sea un conteo práctico de teselas.
Dónde aparece la conversión lat/lon a tesela en el trabajo real
Los ingenieros de mapas front-end convierten constantemente fixes GPS y resultados de geocodificadores en coordenadas de tesela para pedir la ráster o vector correcta, depurar imágenes faltantes y comparar claves de caché entre CDN. Los servicios backend que precalientan cachés de teselas o particionan cargas geoespaciales por celda de pirámide necesitan una forma cerrada de confianza que coincida con Leaflet, OpenLayers y Mapbox GL sin arrastrar una biblioteca de proyección completa a un worker.
Los autores de currículos de SIG y cartografía web quieren que los estudiantes vean las fórmulas Mercator producir índices enteros y límites de tesela legibles sin un recorte silencioso en los polos. Las tuberías de logística e IoT que solo almacenan claves de tesela gruesas por privacidad o almacenamiento aún necesitan la conversión directa desde coordenadas precisas en el momento de la ingesta.
Si más adelante necesita el problema inverso del centro de tesela o codificación quadkey completa, geodésicas elipsoidales o puntos de destino por círculo máximo, trátelos como intenciones de búsqueda y aterrizajes distintos en lugar de sobrecargar esta página de índice de tesela slippy.
Qué puede hacer con ella
Depurar capas de mapa y URL de teselas
Convierta un lat/lon GPS o de geocodificador más zoom en z/x/y para abrir la URL exacta de tesela OSM o XYZ y comparar claves de caché entre entornos.
Precalentar y particionar cachés de teselas
Convierta por lotes listas de waypoints en índices de celdas de pirámide para trabajos de precalentamiento CDN, particiones regionales y almacenamiento grueso tipo geohash con privacidad.
Preguntas frecuentes
¿Qué esquema de teselas usa esta calculadora?
Compatible con OpenStreetMap, Mapbox, Leaflet y la mayoría de servidores XYZ.
¿Por qué la latitud se limita a unos ±85.0511°?
Web Mercator es singular en los polos. El rango cerrado es arctan(sinh(π)) ≈ ±85.05112878°.
¿Qué ocurre si el zoom es negativo?
El zoom debe ser un entero no negativo en [0, 30]. Zoom negativo o fraccionario no es un nivel válido de la pirámide slippy-map.
¿La respuesta incluye los límites geográficos de la tesela?
Sí. Además de x, y, z y la cadena de ruta z/x/y, obtiene bordes oeste, sur, este y norte en grados decimales del cuadrado de tesela seleccionado.
¿Cuánto cuesta?
La herramienta del navegador es gratuita y se ejecuta en local.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"latitude": 51.5074,
"longitude": -0.1278,
"zoom": 12
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.tile_from_latlon",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Zoom negativo, zoom no entero, latitudes más allá del límite Mercator cerca de ochenta y cinco grados, y longitudes fuera de más o menos ciento ochenta fallan con un mensaje claro invalid_input en lugar de inventar un cierre silencioso.
Qué envía usted y qué recibe
La latitud debe estar en el rango cerrado Web Mercator de aproximadamente menos ochenta y cinco punto cero cinco uno uno a más ochenta y cinco punto cero cinco uno uno grados con norte positivo. La longitud, en el intervalo cerrado de menos ciento ochenta a más ciento ochenta con este positivo. Comprobaciones clásicas incluyen Londres cerca de cincuenta y uno punto cinco cero siete cuatro norte, cero punto uno dos siete ocho oeste en zoom doce, y verificar que x e y coinciden con inspectores de teselas OpenStreetMap conocidos. Conecte el formulario gratuito del navegador para depurar capas de mapa y demos de aula; invoque el mismo contrato desde scripts cuando necesite generación masiva de claves de tesela o listas de precalentamiento de caché. Envíe tres números finitos obligatorios en los campos latitude, longitude y zoom. El zoom debe ser un entero mayor o igual que cero y como máximo treinta; zoom negativo, fraccionario o absurdamente grande falla con invalid_input y no se cobra. Se aceptan alias habituales como lat, lon, lng y z en el parse, mientras la respuesta siempre repite los nombres canónicos. En caso de éxito devuelve latitud, longitud y zoom limpios, la longitud del eje n igual a dos elevado al zoom, índices enteros de tesela x e y, un campo z espejo, una cadena de ruta de tesela en forma z/x/y, un objeto bounds con bordes oeste, sur, este y norte de esa tesela en grados, la constante max_mercator_lat, la etiqueta de método web_mercator_slippy y una cadena compacta de fórmula para documentación. El precio de las llamadas API exitosas es la base publicada de $0.002 por ítem; los fallos de validación no consumen saldo prepago.
Dónde aparece la conversión lat/lon a tesela en el trabajo real
Como esta capacidad es un motor de parse puro, el precio API es la base publicada de $0.002 por ítem exitoso y la validación fallida no consume saldo.
Casos de integración
Tareas SIG y fixtures golden
Genere X/Y de tesela y límites estables para hitos de libro de texto, de modo que instructores, autoevaluadores y suites de regresión compartan una verdad Web Mercator.