USNG para latitude e longitude
Uma referência da Grade Nacional dos Estados Unidos identifica uma área, e não um ponto infinitamente preciso.
Executar grátis
Este conversor lê USNG compacto ou com espaços, valida zona UTM, faixa de latitude, quadrado de cem quilômetros e precisão numérica, e retorna latitude e longitude WGS84 aproximadas no centro da célula. A resposta também informa tamanho, precisão, coordenadas UTM, zona, faixa e quadrado. Todo o processamento usa matemática local determinística, sem mapas, rede, aleatoriedade ou dependência de horário.
Como uma referência USNG identifica uma célula
A referência começa com uma zona UTM de 1 a 60 e uma letra de faixa entre C e X, sem I e O. Duas letras seguintes indicam um quadrado de cem quilômetros. Os alfabetos de coluna se repetem a cada três zonas, e os de linha mudam entre zonas pares e ímpares. Os dígitos restantes são divididos igualmente entre leste e norte: um por eixo representa dez quilômetros, cinco representam um metro e nenhum representa todo o quadrado de cem quilômetros. O conversor remove espaços, normaliza maiúsculas e valida cada componente. Em seguida, expande letras e dígitos até a borda sudoeste e soma metade do tamanho da célula nos dois eixos. Esse ajuste produz o centro, não um canto. Como a referência descreve uma área, trate a coordenada como ponto representativo, especialmente em baixa precisão. A resposta mantém cell_size_m e point como center para que outro sistema não confunda o resultado com exatidão de levantamento.
De metros UTM para latitude e longitude WGS84
Depois de encontrar o centro, o cálculo resolve a repetição das linhas com o norte mínimo da faixa declarada, pois as letras USNG se repetem a cada dois milhões de metros. Faixas ao sul usam o falso norte UTM; as do norte partem do equador. A coordenada é invertida com o elipsoide WGS84, seu achatamento, o fator de escala e as séries de arco meridiano e latitude de apoio. A zona seleciona o meridiano central. No fim, a latitude calculada é comparada com a faixa declarada; uma combinação incoerente gera erro. O JSON retorna latitude, longitude, lat, lon, USNG normalizado, zona, faixa, quadrado, precisão, tamanho, centro UTM e datum. Os valores decimais recebem arredondamento estável de oito casas. O algoritmo executa operações limitadas, não chama geocodificador e entrega o mesmo resultado no navegador e na API.
Como escolher a precisão e usar o centro
Considere a quantidade de dígitos como declaração de precisão, não como simples estilo. Cinco dígitos por eixo nomeiam uma célula nominal de um metro, mas não comprovam a exatidão da observação original. Um dígito cobre dez quilômetros, então o centro pode estar longe do objeto real. Preserve cell_size_m ao importar ocorrências, notas, ativos ou registros históricos. O mapa pode usar o centro para o marcador e o tamanho para representar incerteza ou escolher o zoom. Formatos compactos e espaçados são aceitos; letras ausentes, I ou O, contagem ímpar de dígitos, zonas fora de 1 a 60, colunas incompatíveis e quadrados fora da faixa são recusados. Na automação, cada item válido custa US$ 0,002; o navegador atende consultas rápidas. Se você precisar do polígono da célula, mantenha o centro UTM e o tamanho ou use uma ferramenta de limites. Esta capacidade não fornece endereço, altitude, jurisdição nem garantia topográfica.
Casos de uso
Posicionar relatos de campo
Converta USNG de formulários ou rádio em marcadores WGS84 centrais, mantendo a precisão de cada célula.
Importar registros antigos
Normalize valores compactos ou espaçados em coordenadas decimais determinísticas para GIS, auditorias e migrações.
Validar software cartográfico
Use centros, valores UTM e tamanhos estáveis como testes de regressão para aplicativos que aceitam USNG.
Perguntas frequentes
Qual ponto da célula é retornado?
O centro. Metade do tamanho da célula é somada aos dois eixos UTM antes da conversão para WGS84.
Como a precisão afeta o resultado?
De zero a cinco dígitos por eixo representam células de cem quilômetros a um metro; células maiores trazem mais incerteza.
A referência pode ter espaços ou minúsculas?
Sim. Espaços comuns são removidos e as letras são convertidas para maiúsculas antes da validação.
Qual datum é usado?
Latitude e longitude usam WGS84; a resposta também traz centro UTM, zona, faixa, quadrado e tamanho.
Quanto custa?
A ferramenta no navegador é gratuita. Cada item válido da API usa o preço-base publicado de US$ 0,002.
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/usng-to-latlon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"usng":"18S UJ 23483 06479"}'const res = await fetch("https://api.kit.forhosting.com/geo/usng-to-latlon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"usng": "18S UJ 23483 06479"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/usng-to-latlon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"usng": "18S UJ 23483 06479"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/usng-to-latlon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"usng":"18S UJ 23483 06479"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"usng":"18S UJ 23483 06479"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/usng-to-latlon", 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
{
"usng": "18S UJ 23483 06479"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.usng_to_latlon",
"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. |