Calculadora de escala de mapa web
Descubra a escala 1:N de um mapa web a partir do zoom e dos DPI da tela: zoom 10 numa tela de 96 DPI dá 1:437960 no paralelo 40,7128° N, o número para a barra de escala ou a legenda. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Nível de zoom do mapa
- 10
- Latitude em graus decimais
- 40,7128
- ppp
- 96
- Raio da Terra em m
- 6.378.137
- Tamanho do tile
- 256
- Metros por pixel
- 115,8767977875
- Denominador de escala
- 437.960
Esta ferramenta aplica essa fórmula fechada com um raio terrestre e um tamanho de tile declarados e, em seguida, multiplica pelos DPI sobre os metros por polegada, de modo que a escala impressa ou exibida na tela corresponde ao que os livros de GIS chamam de fração representativa.
O que significa a escala em um mapa base Web Mercator
A escala cartográfica é a razão entre a distância no mapa e a distância no terreno, escrita como a fração representativa um-para-N. A projeção Web Mercator usada por quase todos os mapas base de consumo envolve a Terra em um quadrado no zoom zero com tiles de duzentos e cinquenta e seis pixels e depois subdivide cada tile em quatro filhos a cada passo de zoom.
A resolução terrestre em metros por pixel no equador é, portanto, dois pi vezes o raio equatorial do WGS84 dividido por duzentos e cinquenta e seis vezes dois elevado ao zoom. Converter metros por pixel em um denominador de escala exige saber quanto mede um pixel de tela em metros: os DPI da tela indicam pontos por polegada, e uma polegada internacional equivale exatamente a zero vírgula zero dois cinco quatro metros, logo os metros por pixel do dispositivo são zero vírgula zero dois cinco quatro dividido pelos DPI.
O denominador N é a resolução terrestre dividida pelos metros por pixel do dispositivo — ou, equivalentemente, os m/px terrestres vezes os DPI sobre zero vírgula zero dois cinco quatro. A latitude deve permanecer no intervalo fechado de menos noventa a noventa graus para que o cosseno continue definido na aritmética real.
Perguntas frequentes
Como a escala de um mapa web é calculada a partir do zoom?
O denominador de escala é esse valor vezes os DPI dividido por 0.0254 m/polegada.
Por que o zoom e os DPI precisam ser positivos?
Um zoom zero ou negativo inverteria ou anularia a pirâmide de tiles; DPI zero ou negativo não é uma densidade física de tela.
O zoom fracionário é suportado?
Sim. O zoom é um número positivo finito até 30, então valores como 12.5 correspondem ao zoom contínuo de câmera dos motores de mapas web modernos.
A calculadora de escala de mapa web é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
A escala muda conforme a latitude?
Sim. No Web Mercator, os metros de terreno cobertos por um pixel diminuem à medida que você se afasta do equador, porque são multiplicados pelo cosseno da latitude. Por isso o mesmo zoom dá escalas diferentes em paralelos diferentes.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"zoom": 10,
"latitude": 40.7128,
"dpi": 96
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.map_scale",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
min_lat | -90 |
max_lat | 90 |
min_zoom | 1e-12 |
max_zoom | 30 |
min_dpi | 1e-12 |
max_dpi | 1000000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Uma calculadora de escala de mapa web transforma três dados comuns de qualquer visualizador de mapas — nível de zoom, latitude e DPI da tela — no denominador de escala cartográfica representativa que rotula um mapa deslizante como um-para-N. Os mapas web do Leaflet, OpenLayers, Mapbox, Google Maps e OpenStreetMap compartilham o modelo de tiles do Web Mercator (EPSG:3857): os metros terrestres por pixel diminuem à medida que o zoom aumenta e que você se afasta do equador, por causa do cosseno da latitude. O caminho é aritmética pura e determinística — sem rede, sem sementes aleatórias, sem dependência de relógio —, então o executor gratuito do navegador e a API pré-paga retornam o mesmo JSON após um arredondamento fixo em cada chamada.
O que significa a escala em um mapa base Web Mercator
Nos mapas de papel, N é fixo para cada folha; nos mapas web interativos, N muda toda vez que o usuário dá zoom ou desloca a vista para outra latitude. Longe do equador, essa resolução é multiplicada pelo cosseno da latitude, de modo que o mesmo número de zoom cobre uma área maior perto dos polos. Quando o zoom ou os DPI são zero ou negativos, a geometria não está definida para um visualizador de mapas, por isso esta capacidade rejeita zoom e DPI não positivos com invalid_input em vez de inventar uma escala.
Como chamar a API e o que ela devolve
Envie um corpo JSON com três números finitos obrigatórios: zoom (aliases z e zoom_level), latitude (aliases lat e y) e dpi (aliases screen_dpi e resolution_dpi). O zoom deve ser estritamente positivo e no máximo trinta; os DPI devem ser estritamente positivos e no máximo um milhão; a latitude deve estar entre menos noventa e noventa, inclusive. Em caso de sucesso, a resposta ecoa zoom, latitude e dpi arredondados, publica earth_radius_m como seis milhões trezentos e setenta e oito mil cento e trinta e sete e tile_size como duzentos e cinquenta e seis, retorna meters_per_pixel como a resolução terrestre, scale_denominator como o N representativo (arredondado para o inteiro mais próximo quando o valor absoluto é pelo menos um), scale_ratio como a string um-dois pontos-N, formula como a expressão fechada utilizada, message como um breve resumo em inglês e steps como um rastro ordenado de substituição que você pode mostrar em planilhas de exercícios ou asserções. Uma validação malsucedida — campos ausentes, números não finitos, latitude fora do intervalo, zoom acima do teto publicado, DPI acima do teto publicado ou zoom ou DPI não positivos — retorna invalid_input e nunca é cobrada. O preço é uma taxa fixa de US$ 0,002 por requisição bem-sucedida, com unidade item e preço marginal por unidade zero.
Dicas práticas, limites e buscas relacionadas
Prefira noventa e seis DPI quando quiser o pixel de referência comum de CSS e dos navegadores; use setenta e dois apenas quando precisar reproduzir premissas antigas de impressão; use a proporção real de pixels do dispositivo vezes noventa e seis quando as telas físicas de celulares ou painéis retina importarem. O zoom fracionário é permitido porque os motores de mapas modernos interpolam entre níveis inteiros de tiles — passe dez vírgula cinco quando a câmera estiver a meio caminho entre dez e onze. Perto dos polos, o fator cosseno reduz os metros por pixel e, portanto, N; isso é correto no Web Mercator, não um bug, embora aplicativos reais costumem limitar a latitude perto de oitenta e cinco graus por causa da cobertura de tiles. Esta página mira quem procura uma calculadora de escala de mapa web, conversão de zoom para denominador de escala ou escala de mapa Mercator online; não é uma ferramenta de distância geodésica, nem um motor de layout de impressão, nem um gerador de URL de tiles. Mantenha o zoom em trinta ou menos para que dois elevado ao zoom continue finito em precisão dupla IEEE tanto no Worker quanto no navegador. Ao ensinar, combine exemplos: zoom dez em Nova York com noventa e seis DPI produz um denominador de escala urbana; o mesmo zoom no equador dá um N um pouco menor porque o cosseno é maior; e um dpi de zero ou um zoom de zero propositais demonstram o caminho duro do invalid_input. Prefira esta capacidade quando você já tem zoom, latitude e DPI e só precisa do um-para-N; se sua fonte é um mapa impresso sem número de zoom, meça diretamente as distâncias no terreno e no mapa. Tarefas que falham com invalid_input não consomem saldo pré-pago, o que mantém baratos os scripts exploratórios quando estudantes enviam DPI não positivos de propósito. Verificações de ida e volta são fáceis: recalcule o cosseno da latitude em radianos vezes a resolução inicial publicada dividido por dois elevado ao zoom, multiplique pelos DPI sobre zero vírgula zero dois cinco quatro e confirme que o denominador inteiro bate com o scale_denominator publicado dentro de uma unidade de arredondamento comum.
Casos de integração
Rótulos de legenda em mapas base interativos
Equipes de produto de mapas calculam o 1:N a partir do zoom atual, da latitude do centro do mapa e dos DPI do dispositivo para que o texto da barra de escala continue coerente com a matemática do Web Mercator.
Lições de casa e gabaritos de laboratórios de GIS
Professores verificam os cálculos de fração representativa dos alunos a partir de um zoom, uma latitude e uma resolução de tela informados, sem abrir um GIS de desktop.
Testes unitários de utilitários de câmera de mapas
Desenvolvedores verificam valores golden de scale_denominator para triplas fixas de zoom/latitude/DPI ao testar controles de zoom, pré-visualização de impressão ou metadados de exportação.
Perguntas técnicas
A latitude muda a escala com o mesmo zoom?
Sim. A resolução terrestre do Web Mercator é multiplicada por cos(latitude), então o mesmo zoom gera uma escala terrestre mais grossa perto dos polos do que no equador.