Índice de grade de três metros por latitude e longitude
O índice de grade de três metros associa um endereço numérico estável a cada par de latitude e longitude.
Executar grátis
Ele divide o globo em faixas estreitas de latitude e dimensiona as colunas de longitude de cada faixa para uma área aproximada de três metros. A resposta informa o índice combinado, a linha, a coluna, o número de colunas naquela linha, o centro e os limites geográficos. É útil quando uma chave de localização compacta e reproduzível importa mais do que um endereço postal, sem consulta de rede nem dicionário proprietário de palavras.
Converta uma coordenada em um endereço numérico reproduzível
Informe `lat` e `lon` em graus decimais e a calculadora associará o ponto a exatamente uma célula global. O valor principal `grid_index` une a linha de latitude e a coluna de longitude com um ponto, criando uma chave compacta que pode ser armazenada, comparada, registrada ou incluída em uma URL. Os campos separados `row` e `column` facilitam a ordenação e o uso em bancos de dados, enquanto `columns_in_row` explica a geometria da faixa de latitude escolhida. As mesmas entradas finitas sempre produzem o mesmo resultado, pois o algoritmo não utiliza solicitação de rede, escolha aleatória, relógio ou tabela de referência mutável. Coordenadas sobre limites comuns seguem uma regra consistente de intervalo semiaberto: as bordas sul e oeste são incluídas, e as bordas norte e leste são excluídas. O Polo Norte é associado explicitamente à última linha, enquanto a longitude 180 graus é tratada como o mesmo antimeridiano de -180 graus. Essas convenções eliminam endereços duplicados e ambíguos nas extremidades do sistema de coordenadas.
Entenda o significado de três metros em uma grade esférica
O cálculo representa a Terra como uma esfera de raio médio fixo. Ele cria linhas de latitude com ângulos iguais cuja distância de norte a sul não ultrapassa três metros. Para cada linha, mede a circunferência do paralelo que passa pelo centro e escolhe colunas de longitude suficientes para que a largura nessa linha central também não ultrapasse três metros. Portanto, o número de colunas diminui na direção dos polos, onde os círculos de latitude ficam menores. Essa abordagem é mais útil do que aplicar um único passo de longitude em todo o globo, o que deixaria as células progressivamente mais estreitas de leste a oeste em latitudes altas. Os limites retornados descrevem o retângulo angular exato usado por esta definição, e o centro fornece uma coordenada representativa conveniente. O tamanho físico permanece aproximado: a Terra não é uma esfera perfeita, o relevo acrescenta distância na superfície e dispositivos de posicionamento têm incerteza própria. Use o índice para agrupamento e endereçamento determinísticos, não como substituto de limites cadastrais, navegação crítica ou levantamento geodésico profissional.
Use o índice com segurança em sistemas de dados
Armazene `grid_index` como texto, pois ele contém dois inteiros possivelmente grandes separados por um ponto. Não interprete o valor combinado como número de ponto flutuante, porque isso elimina a distinção entre linha e coluna e pode causar perda de precisão inteira em alguns ambientes. Em chaves compostas de banco de dados, também é válido manter `row` e `column` em colunas inteiras separadas; inclua uma versão ou o nome da grade em conjuntos de dados duradouros para não confundir um algoritmo futuro com esta definição. Coordenadas próximas geralmente compartilham um índice, tornando a chave útil para desduplicação, registros aproximados de presença, partições de cache e agregações mais conscientes de privacidade. Porém, dois pontos separados por uma borda recebem chaves diferentes mesmo quando estão a centímetros de distância. Se a proximidade for importante, compare a célula escolhida e suas linhas e colunas vizinhas ou faça um cálculo real de distância. O esquema se inspira na escala aproximada associada ao what3words, mas é numérico e independente: não converte endereços oficiais de três palavras nem reproduz identificadores ou associações proprietárias.
Casos de uso
Agrupar relatos repetidos de localização
Reúna observações que caem na mesma célula pequena e preserve uma chave determinística para comparação posterior.
Criar referências cartográficas compactas
Represente uma coordenada por linha e coluna numéricas quando o formato decimal completo não for conveniente.
Particionar registros espaciais
Use os componentes de linha e coluna como partições previsíveis de banco de dados ou cache para dados pontuais.
Perguntas frequentes
O resultado é um endereço oficial do what3words?
Não. Ele é um índice numérico independente e não usa nem reproduz o dicionário de palavras ou o serviço oficial de endereçamento do what3words.
Todas as células são quadrados exatos de três metros?
Não. São células esféricas de latitude e longitude projetadas para ter aproximadamente três metros ou menos de altura e largura no centro de cada linha. Elipsoide, relevo e polos causam variações.
O que o índice de grade contém?
Ele contém a linha de latitude de base zero, um ponto e a coluna de longitude de base zero daquela linha. A resposta também retorna os dois números separadamente.
Por que o número de colunas muda entre as linhas?
Os círculos de latitude ficam menores perto dos polos. Variar a quantidade de colunas mantém a largura de leste a oeste próxima da escala desejada.
Como são tratadas as coordenadas em uma borda?
As bordas sul e oeste pertencem à célula; as bordas norte e leste levam à próxima. Regras especiais colocam o Polo Norte na última linha e tornam a longitude 180 equivalente a -180.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. A mesma lógica determinística também pode ser executada localmente no navegador.
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/what3words-grid-index \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat":51.520847,"lon":-0.195521}'const res = await fetch("https://api.kit.forhosting.com/geo/what3words-grid-index", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat": 51.520847,
"lon": -0.195521
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/what3words-grid-index",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat": 51.520847,
"lon": -0.195521
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/what3words-grid-index", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat":51.520847,"lon":-0.195521}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat":51.520847,"lon":-0.195521}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/what3words-grid-index", 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": 51.520847,
"lon": -0.195521
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.what3words_grid_index",
"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. |