Projeção Hammer: latitude e longitude para x, y
A calculadora da projeção Hammer converte latitude e longitude geográficas em coordenadas planas x e y para um mapa-múndi equivalente.
Executar grátis
Ela implementa a modificação elíptica clássica da projeção azimutal equivalente de Lambert e permite configurar o meridiano central, o raio de escala e a precisão. Você pode usá-la para conferir cálculos cartográficos, preparar coordenadas normalizadas para visualizações ou ensinar como uma projeção global troca fidelidade de forma por preservação de área. Cada resultado é determinístico, calculado sem acesso à rede e acompanhado da diferença de longitude ajustada, o que facilita a auditoria da transformação.
Como a projeção Hammer transforma uma coordenada
A projeção Hammer coloca o mundo esférico em uma elipse e preserva áreas relativas. Primeiro, a calculadora converte a latitude e a diferença de longitude de graus para radianos. Depois divide a diferença longitudinal por dois e avalia o denominador comum com o cosseno da latitude e o cosseno da meia longitude. A coordenada horizontal usa o cosseno da latitude e o seno da meia longitude; a vertical usa o seno da latitude. Fatores fixos de raiz de dois formam o contorno conhecido. Trata-se de uma projeção esférica direta: ela recebe uma coordenada geográfica e devolve um ponto no plano. Ângulos, distâncias e formas locais não são preservados. A saída informa a projeção, a entrada original, o meridiano central, a diferença ajustada e o raio. O cálculo usa a precisão numérica integral e arredonda apenas uma vez, no final, evitando o acúmulo de erros.
Escolha o meridiano central, a escala e a precisão
A latitude precisa ficar entre -90 e 90 graus, incluindo os polos. A longitude e o meridiano central aceitam qualquer número finito, pois a diferença entre eles é ajustada ao intervalo do mapa mundial. Portanto, longitudes separadas por voltas completas chegam ao mesmo ponto. O meridiano central define qual longitude aparece no meio: mantenha zero para centralizar Greenwich ou selecione uma longitude próxima da região que você deseja afastar da emenda. O raio é um fator de escala positivo, não um datum terrestre. Com raio um, a saída fica normalizada; ao multiplicar o raio, x e y crescem proporcionalmente. A opção de casas decimais aceita inteiros de zero a doze e usa seis por padrão. Dígitos adicionais não tornam o modelo esférico mais exato geograficamente. Todos os números devem ser finitos; campos obrigatórios ausentes, textos numéricos, infinitos e intervalos inválidos retornam um erro de entrada claro.
Use corretamente a saída equivalente
Hammer é indicada para mapas-múndi temáticos em que a comparação do tamanho aparente das regiões é importante. Mapas coropléticos, superfícies de densidade global, atlas didáticos e diagramas de distribuição aproveitam a preservação de área e o limite elíptico compacto. Você pode enviar x e y a um fluxo gráfico depois de definir a transformação da janela. Em geral, transfere-se a origem para o centro da tela, aplicando a mesma escala aos dois eixos e invertendo y quando a tela cresce para baixo. Use o mesmo meridiano central em todo o conjunto. Em linhas e polígonos que cruzam a emenda, cada vértice é correto, mas talvez seja necessário dividir a geometria para impedir um traço indevido pelo mapa. Não trate as coordenadas como metros nem as misture com blocos Web Mercator. Hammer preserva áreas globais, não rumos, rotas retas, ângulos locais ou um sistema elipsoidal oficial.
Casos de uso
Preparar pontos para mapas temáticos
Converta observações geográficas em coordenadas equivalentes normalizadas antes de escalá-las para SVG, canvas ou gráficos.
Validar uma implementação cartográfica
Compare coordenadas conhecidas com resultados Hammer determinísticos ao testar código, meridianos centrais ou renderização.
Demonstrar distorções de projeção
Gere pontos didáticos para comparar a preservação de área de Hammer com formas e latitudes extremas de outras projeções.
Perguntas frequentes
Quanto custa uma solicitação de API?
O preço-base é US$ 0,002 por coordenada projetada. A calculadora do navegador também executa localmente essa capacidade determinística.
Hammer preserva distâncias ou ângulos?
Não. Ela preserva a área na esfera, mas pode distorcer distâncias, direções, ângulos e formas, sobretudo perto da borda.
Quais são as unidades de x e y?
São as mesmas unidades arbitrárias do raio. Use raio um para normalizar e depois aplique sua própria escala visual.
Por que a longitude é ajustada?
Um mapa mundial contém uma volta completa. O ajuste reúne longitudes equivalentes e posiciona a emenda diante do meridiano central escolhido.
Posso mudar a região centralizada?
Sim. Defina central_meridian_deg como a longitude que deve passar pelo centro do mapa Hammer.
A ferramenta usa um datum terrestre elipsoidal?
Não. Esta é a fórmula esférica padrão de Hammer com raio de escala configurável, e não uma transformação de datum ou um sistema elipsoidal.
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/hammer-project \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat_deg":40.7128,"lon_deg":-74.006}'const res = await fetch("https://api.kit.forhosting.com/geo/hammer-project", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat_deg": 40.7128,
"lon_deg": -74.006
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/hammer-project",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat_deg": 40.7128,
"lon_deg": -74.006
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/hammer-project", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat_deg":40.7128,"lon_deg":-74.006}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat_deg":40.7128,"lon_deg":-74.006}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/hammer-project", 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
{
"lat_deg": 40.7128,
"lon_deg": -74.006
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.hammer_project",
"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.
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. |