Resolución del terreno Web Mercator
En el ecuador y con zoom 0, un píxel de un mapa web estándar cubre 156.543,033928 m y una tesela completa de 256 píxeles, 40.075.016,6856 m. Cada nivel de zoom reduce esa cifra a la mitad, y las latitudes altas la reducen aún más. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Latitud
- 0
- Nivel de zoom
- 0
- Metros por píxel
- 156 543,033928
- Metros por tesela
- 40 075 016,6856
- Tamaño de tesela (px)
- 256
- Radio terrestre (m)
- 6 378 137
Esta calculadora de resolución del terreno Web Mercator indica cuántos metros reales representa un píxel para una latitud y un nivel de zoom determinados. Utiliza la esfera estándar EPSG:3857, teselas de 256 píxeles y la pirámide XYZ habitual. El resultado sirve para convertir distancias de pantalla, dimensionar símbolos, crear barras de escala y elegir imágenes con el detalle adecuado. El cálculo es determinista, no accede a la red y también devuelve la anchura real de una tesela completa.
Comprenda qué mide la resolución del terreno
La resolución del terreno expresa la distancia real aproximada cubierta por un píxel del mapa, normalmente en metros por píxel. No mide la resolución del monitor, la precisión del GPS ni el detalle nativo de una imagen aérea. Relaciona la cuadrícula digital de Web Mercator con la distancia terrestre en una latitud concreta.
En el zoom cero, el mundo proyectado cabe en una tesela de 256 píxeles. Cada incremento de zoom duplica las teselas en ambos ejes y reduce a la mitad la distancia por píxel. La latitud influye porque Web Mercator amplía la escala cerca de los polos.
Por ello, a igual zoom, un píxel representa menos distancia este-oeste lejos del ecuador.
Cómo funciona la fórmula de Web Mercator
La calculadora emplea el radio ecuatorial 6,378,137 metros de EPSG:3857. Primero obtiene la circunferencia esférica mediante dos por pi por el radio. Al dividirla entre 256 resulta la resolución inicial en el ecuador y zoom cero.
Después divide entre dos elevado al zoom y multiplica por el coseno de la latitud en radianes. En forma compacta, la resolución es cos(latitud) por 2πR, dividido entre 256 por 2^zoom. Se supone una tesela lógica estándar de 256 píxeles.
Si su visor sirve imágenes de 512 píxeles, revise sus convenciones de tesela y zoom. Solo se aceptan zooms enteros entre cero y treinta, y latitudes dentro del límite práctico Web Mercator, aproximadamente ±85.05112878 grados. Así se evita presentar como válida una posición fuera del mundo finito del mapa deslizante.
Aplique el resultado sin exagerar la precisión
Use la resolución como conversión de escala, no como garantía de exactitud de los datos. Si obtiene dos metros por píxel, una línea de diez píxeles abarca unos veinte metros cerca de esa latitud, pero una carretera, una imagen o una ubicación pueden tener más incertidumbre. La escala también cambia dentro de una vista porque cambia la latitud; el centro suele bastar para un mapa interactivo, mientras que una exportación regional alta puede requerir varias muestras.
El valor ayuda a elegir radios de agrupación, convertir tolerancias de clic, estimar huellas ráster y rotular barras de escala. Cada nivel entero de zoom divide la resolución por dos. A igual zoom, una latitud absoluta mayor produce un valor menor por el ajuste del coseno.
Qué puede hacer con ella
Crear una barra de escala precisa
Convierta una anchura en píxeles, en la latitud central, en una distancia aproximada para su etiqueta.
Elegir radios de agrupación y selección
Transforme umbrales de interfaz medidos en píxeles a metros para un zoom y una latitud.
Planificar exportaciones ráster
Estime la anchura terrestre de teselas o píxeles antes de solicitar o procesar imágenes cartográficas.
Preguntas frecuentes
¿Qué fórmula utiliza la calculadora?
Usa cos(latitud) × 2π × 6378137 dividido entre 256 × 2^zoom. Convierte antes la latitud a radianes.
¿Por qué cambia la resolución con la latitud?
Web Mercator amplía la escala hacia los polos, por lo que un píxel proyectado representa menos terreno en latitudes altas.
¿Qué tamaño de tesela se presupone?
El cálculo presupone el tamaño lógico convencional de 256 píxeles para teselas de mapas deslizantes.
¿Puedo usar un nivel de zoom fraccionario?
No. Esta capacidad acepta niveles enteros de la pirámide de teselas, desde 0 hasta 30.
¿Cómo paso una distancia en pantalla a metros sobre el terreno?
Multiplique los metros por píxel por el ancho en píxeles que midió en el mapa. La cifra vale cerca de la latitud indicada, así que recalcúlela si se desplaza mucho hacia el norte o el sur.
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/web-mercator-ground-resolution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":40.7128,"zoom":12}'const res = await fetch("https://api.kit.forhosting.com/geo/web-mercator-ground-resolution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"latitude": 40.7128,
"zoom": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/web-mercator-ground-resolution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"latitude": 40.7128,
"zoom": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/web-mercator-ground-resolution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"latitude":40.7128,"zoom":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"latitude":40.7128,"zoom":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/web-mercator-ground-resolution", 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": 40.7128,
"zoom": 12
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.web_mercator_ground_resolution",
"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
Comprenda qué mide la resolución del terreno
Use meters_per_pixel para estimaciones próximas a la latitud indicada y multiplíquelo por la anchura en píxeles. meters_per_tile aplica la misma resolución a una tesela XYZ completa.
Aplique el resultado sin exagerar la precisión
La API cuesta $0.002 por elemento correcto y ejecuta el mismo cálculo determinista del navegador.
Preguntas técnicas
¿Cuánto cuesta una petición API?
Cada elemento procesado correctamente cuesta $0.002. Una entrada no válida devuelve el error invalid_input.