ForHosting KIT · Ferramentas para dev

Agrupamento de pontos por grade

O agrupamento de pontos por grade transforma uma lista extensa de coordenadas em um resumo compacto de densidade sem executar um modelo iterativo.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Escolha o tamanho da célula quadrada em graus decimais, envie registros de latitude e longitude e receba cada célula ocupada com limites geográficos, contagem e índices originais. A grade possui âncora global; portanto, chamadas com o mesmo tamanho podem ser comparadas ou combinadas. O processamento é determinístico, local e rápido: nenhum provedor de mapas, consulta de rede, semente aleatória ou conjunto armazenado altera a resposta.

Escolha um tamanho de grade adequado à sua pergunta

Um grupo de grade é uma divisão espacial, não uma afirmação de que todos os membros formam uma comunidade natural. O valor cell_size define altura e largura em graus decimais. Um valor maior gera menos células e uma visão ampla; um valor menor preserva mais variação local e costuma criar mais células ocupadas. Como os graus de longitude cobrem menor distância física perto dos polos, as células são quadrados angulares, e não áreas terrestres iguais. Essa escolha mantém a operação transparente e econômica, mas deve ser considerada ao comparar densidades em latitudes distantes. Para dados urbanos, comece com uma fração moderada de grau e ajuste enquanto verifica os limites retornados. Se áreas físicas iguais forem indispensáveis em escala mundial, projete as coordenadas em um sistema adequado antes de usar outro fluxo. Esta capacidade aceita somente latitude e longitude geográficas comuns. A âncora global é fixa em latitude -90 e longitude -180, de modo que o mesmo tamanho sempre produz as mesmas bordas e permite relatórios, testes e partições repetíveis entre processos independentes.

Leia contagens, limites e associação

Cada célula contém linha e coluna numeradas a partir de zero, limites sul, oeste, norte e leste, uma contagem e member_indices. Esses índices apontam para posições no array points enviado, começando em zero, para que você recupere os registros de origem sem copiar rótulos para a saída. As células são ordenadas primeiro do sul para o norte e depois do oeste para o leste. Os membros mantêm a ordem original. Uma coordenada em uma borda interna entra na célula imediatamente ao norte ou a leste; latitude 90 e longitude 180 são limitadas à última linha ou coluna válida. point_count confirma o total processado, enquanto occupied_cell_count mostra o número compacto de células não vazias. Células vazias são omitidas para evitar materializar uma grade mundial enorme. Nas extremidades norte e leste, uma célula pode ser menor quando o tamanho não divide 180 ou 360 exatamente. Ao desenhar retângulos ou criar relatórios, use os limites retornados em vez de refazê-los com aritmética de ponto flutuante não verificada.

Monte fluxos reproduzíveis de densidade e partição

A agregação por grade é uma primeira etapa prática para mapas, sensores, entregas, observações de campo e verificações de qualidade. A atribuição tem custo linear e depois somente as células ocupadas são ordenadas, sendo apropriada quando uma tabela rápida importa mais do que descobrir formatos irregulares. Um painel pode colorir cada retângulo pela contagem; um pipeline pode encaminhar registros usando linha e coluna; testes podem comparar células entre versões; e analistas podem escolher áreas densas antes de executar métodos mais caros. O algoritmo não calcula centroides, distâncias, vizinhança ou limiares, nem une células adjacentes. Também não geocodifica nomes, corrige coordenadas invertidas, normaliza longitudes ou decide se duplicatas são erros. Valores inválidos ou não finitos são rejeitados. Para combinar lotes, use o mesmo cell_size, some contagens com linha e coluna iguais e remapeie índices fora do serviço. O uso interativo no navegador é gratuito; uma solicitação correta pela API usa o preço-base publicado de US$ 0,002. Entradas JSON iguais sempre geram respostas iguais, pois não há rede, aleatoriedade, relógio ou estado compartilhado mutável.

Crie uma camada de densidade no mapa

Converta coordenadas de eventos em retângulos ocupados e pinte cada célula conforme a contagem retornada.

Particione registros de localização

Use identificadores estáveis de linha e coluna para encaminhar registros próximos a partições repetíveis.

Examine um conjunto espacial grande

Encontre rapidamente áreas densas e esparsas antes de aplicar análises por distância a subconjuntos selecionados.

Quanto custa uma solicitação de API?

Uma solicitação bem-sucedida custa US$ 0,002. Você também pode executar gratuitamente o mesmo cálculo no navegador.

O tamanho da célula é medido em quilômetros?

Não. Ele usa graus decimais de latitude e longitude; por isso, a largura física varia conforme a latitude.

Onde a grade fica ancorada?

As linhas começam na latitude -90 e as colunas na longitude -180. A âncora nunca muda entre solicitações.

O que ocorre com um ponto na borda?

Uma borda interna envia o ponto à célula ao norte ou a leste. Latitude 90 e longitude 180 entram na última célula válida.

As células vazias são retornadas?

Não. Somente células ocupadas aparecem, mantendo compactos os resultados de grades finas.

A ferramenta encontra grupos irregulares ou por distância?

Não. Ela conta pontos em células angulares fixas e não une vizinhas nem calcula distâncias entre pontos.

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.

POSThttps://api.kit.forhosting.com/geo/point-cluster-grid

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/geo/point-cluster-grid \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"points":[{"lat":40.7128,"lon":-74.006},{"lat":40.7306,"lon":-73.9352},{"lat":34.0522,"lon":-118.2437}],"cell_size":1}'
{
  "points": [
    {
      "lat": 40.7128,
      "lon": -74.006
    },
    {
      "lat": 40.7306,
      "lon": -73.9352
    },
    {
      "lat": 34.0522,
      "lon": -118.2437
    }
  ],
  "cell_size": 1
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.point_cluster_grid",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_points100000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →