Escala de mapa web
Convierta el zoom, la latitud y los DPI de pantalla de un mapa web en su escala 1:N: zoom 10 a latitud 40,7128 en una pantalla de 96 DPI da 1:437960, la cifra para una barra de escala o una leyenda. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Nivel de zoom del mapa
- 10
- Latitud en grados decimales
- 40,7128
- DPI
- 96
- Radio terrestre m
- 6 378 137
- Tamaño de tesela
- 256
- Metros por píxel
- 115,8767977875
- Denominador de escala
- 437 960
Una calculadora de escala de mapa web convierte tres entradas cotidianas del visor —nivel de zoom, latitud y DPI de pantalla— en el denominador de escala cartográfica representativa que etiqueta un mapa deslizante como uno a N. Los mapas web en Leaflet, OpenLayers, Mapbox, Google Maps y OpenStreetMap comparten el modelo de teselas Web Mercator (EPSG:3857): los metros de terreno por píxel se reducen al crecer el zoom y al alejarse del ecuador por el coseno de la latitud. Esta herramienta aplica esa fórmula cerrada con un radio terrestre y tamaño de tesela declarados, luego multiplica por DPI sobre metros por pulgada para que la escala impresa o en pantalla coincida con lo que los manuales de SIG llaman fracción representativa.
Qué significa la escala del mapa en un basemap Web Mercator
La escala cartográfica es una razón de distancia en el mapa a distancia en el terreno, escrita como la fracción representativa uno a N. En mapas en papel N es fijo para la hoja; en mapas web interactivos N cambia cada vez que el usuario hace zoom o se desplaza hacia otra latitud.
La proyección Web Mercator usada por casi todos los basemaps de consumo envuelve la Tierra en un cuadrado en zoom cero con teselas de doscientos cincuenta y seis píxeles, luego subdivide cada tesela en cuatro hijas por paso de zoom. La resolución de terreno en metros por píxel en el ecuador es por tanto dos pi veces el radio ecuatorial WGS84 dividido por doscientos cincuenta y seis veces dos elevado a la potencia del zoom.
Lejos del ecuador esa resolución se multiplica por el coseno de la latitud, de modo que el mismo número de zoom es una huella de terreno mayor cerca de los polos.
Convertir metros por píxel en un denominador de escala requiere saber cuán grande es un píxel de pantalla en metros: el DPI de pantalla indica puntos por pulgada, y una pulgada internacional es exactamente cero punto cero dos cinco cuatro metros, de modo que los metros por píxel en el dispositivo equivalen a cero punto cero dos cinco cuatro dividido por DPI.
El denominador de escala N es metros de terreno por píxel divididos por metros de dispositivo por píxel —equivalentemente m/px de terreno por DPI sobre cero punto cero dos cinco cuatro. La latitud debe permanecer en el intervalo cerrado de menos noventa a noventa grados para que el coseno quede definido en aritmética real.
Qué puede hacer con ella
Etiquetas de leyenda en basemaps interactivos
Los equipos de producto de mapas calculan 1:N a partir del zoom actual, la latitud del centro del mapa y el DPI del dispositivo para que el texto de la barra de escala sea coherente con la matemática Web Mercator.
Claves de respuesta de deberes y laboratorios SIG
Los instructores verifican los cálculos de los alumnos de la fracción representativa a partir de zoom, latitud y resolución de pantalla declarados sin abrir un SIG de escritorio.
Preguntas frecuentes
¿Cómo se calcula la escala de mapa web a partir del zoom?
El denominador de escala es ese valor por DPI dividido por 0.0254 m/pulgada.
¿Por qué zoom y DPI deben ser positivos?
Un zoom cero o negativo invertiría o anularía la pirámide de teselas; un DPI cero o negativo no es una densidad de pantalla física.
¿Se admite zoom fraccionario?
Sí. Zoom es un número finito positivo hasta 30, de modo que valores como 12.5 coinciden con el zoom continuo de cámara en motores de mapa web modernos.
¿Es gratuita la calculadora de escala de mapa web?
La herramienta del navegador es gratuita y se ejecuta localmente.
¿Cambia la escala con la latitud aunque el zoom sea el mismo?
Sí. En Web Mercator, los metros de terreno que cubre un píxel se reducen al alejarse del ecuador, porque se multiplican por el coseno de la latitud. Por eso la misma cifra de zoom da escalas distintas en latitudes distintas.
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/map-scale \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"zoom":10,"latitude":40.7128,"dpi":96}'const res = await fetch("https://api.kit.forhosting.com/geo/map-scale", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"zoom": 10,
"latitude": 40.7128,
"dpi": 96
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/map-scale",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"zoom": 10,
"latitude": 40.7128,
"dpi": 96
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/map-scale", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"zoom":10,"latitude":40.7128,"dpi":96}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"zoom":10,"latitude":40.7128,"dpi":96}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/map-scale", 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
{
"zoom": 10,
"latitude": 40.7128,
"dpi": 96
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.map_scale",
"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.
Límites
min_lat | -90 |
max_lat | 90 |
min_zoom | 1e-12 |
max_zoom | 30 |
min_dpi | 1e-12 |
max_dpi | 1000000 |
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
La ruta es aritmética determinista pura —sin red, sin semillas aleatorias, sin dependencia del reloj del sistema— de modo que el ejecutor gratuito del navegador y la API prepago devuelven el mismo JSON tras un redondeo fijo cada vez que se llama.
Qué significa la escala del mapa en un basemap Web Mercator
Cuando zoom o DPI son cero o negativos la geometría es indefinida para un visor de mapas, así que esta capacidad rechaza zoom no positivo y DPI no positivo con invalid_input en lugar de inventar una escala.
Cómo llamar a la API y qué devuelve
Zoom debe ser estrictamente positivo y como máximo treinta; DPI estrictamente positivo y como máximo un millón; latitude entre menos noventa y noventa inclusive. Envíe un cuerpo JSON con tres números finitos obligatorios: zoom (alias z y zoom_level), latitude (alias lat e y) y dpi (alias screen_dpi y resolution_dpi). En éxito la respuesta repite zoom, latitude y dpi redondeados, publica earth_radius_m como seis millones trescientos setenta y ocho mil ciento treinta y siete y tile_size como doscientos cincuenta y seis, devuelve meters_per_pixel como la resolución de terreno, scale_denominator como el N representativo (redondeado al entero más cercano cuando el valor absoluto es al menos uno), scale_ratio como la cadena uno dos puntos N, formula como la expresión cerrada usada, message como un resumen corto en inglés y steps como una traza de sustitución ordenada que puede mostrar en hojas de trabajo o aserciones. La validación fallida —campos faltantes, números no finitos, latitude fuera de rango, zoom por encima del tope publicado, DPI por encima del tope publicado, o zoom o DPI no positivos— devuelve invalid_input y nunca se cobra. El precio es un $0.002 fijo por solicitud exitosa con unidad item y precio unitario marginal cero.
Consejos prácticos, límites y búsquedas relacionadas
Prefiera noventa y seis DPI cuando quiera el píxel de referencia habitual de CSS / navegador; use setenta y dos solo al igualar supuestos de impresión heredados; use la verdadera razón de píxeles del dispositivo por noventa y seis cuando le importen paneles físicos de teléfono o retina. Se permite zoom fraccionario porque los motores de mapa modernos interpolan entre niveles enteros de tesela —pase diez punto cinco cuando la cámara esté a mitad entre diez y once. Cerca de los polos el factor coseno colapsa metros por píxel y por tanto N; eso es correcto para Web Mercator, no un error, aunque las apps reales a menudo limitan la latitud cerca de ochenta y cinco grados por cobertura de teselas. Este aterrizaje apunta a quien busca una calculadora de escala de mapa web, zoom a denominador de escala o escala de mapa Mercator en línea; no es una herramienta de distancia geodésica, ni un motor de maquetación de impresión, ni un constructor de URL de teselas. Mantenga el zoom en treinta o menos para que dos elevado al zoom siga finito en precisión doble IEEE en el Worker y en el navegador. Al enseñar, empareje ejemplos: zoom diez en Nueva York con noventa y seis DPI produce un denominador de escala urbana; el mismo zoom en el ecuador es un N ligeramente menor porque el coseno es mayor; un dpi deliberado de cero o zoom de cero demuestra la vía dura de invalid_input. Prefiera esta capacidad cuando ya tiene zoom, latitude y DPI y solo necesita uno a N; si su fuente es un mapa impreso sin número de zoom, mida distancias de terreno y de mapa directamente. Las tareas fallidas que devuelven invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los alumnos envían DPI no positivo a propósito. Las comprobaciones de ida y vuelta son fáciles: recalcule cos de latitude en radianes por la resolución inicial publicada dividida por dos elevado al zoom, multiplique por DPI sobre cero punto cero dos cinco cuatro y confirme que el denominador entero coincide con scale_denominator publicado dentro de una unidad del redondeo ordinario.
Casos de integración
Pruebas unitarias de ayudantes de cámara de mapa
Los desarrolladores afirman valores golden de scale_denominator para triples fijos zoom/lat/DPI al probar controles de zoom, vista previa de impresión o metadatos de exportación.
Preguntas técnicas
¿La latitud cambia la escala al mismo zoom?
Sí. La resolución de terreno Web Mercator se multiplica por cos(latitude), de modo que el mismo zoom es una escala de terreno más gruesa cerca de los polos que en el ecuador.