Skip to main content
Neste tutorial, você verá como usar o ClickHouse com dados geográficos a partir do conjunto de dados de torres de celular. Você carregará o conjunto de dados no ClickHouse Cloud, examinará seu schema e executará consultas de agregação em dezenas de milhões de linhas. Em seguida, você enriquecerá os dados com um dicionário, usará a função pointInPolygon para contar as torres localizadas na Alemanha e usará o ClickHouse Agents para visualizar o resultado em um mapa.

Pré-requisitos

Para este tutorial, você vai precisar de:
1

Carregue os dados de exemplo

O conjunto de dados usado neste tutorial é do , o maior banco de dados aberto de torres de celular do mundo. Em 2021, ele continha dezenas de milhões de registros sobre torres de celular em todo o mundo, com suas coordenadas geográficas e metadados como código do país e rede.
  1. No ClickHouse Cloud, no menu à esquerda, selecione seu serviço no menu suspenso
  2. Selecione Data sources
  3. Clique no card Add sample data
  4. Selecione o conjunto de dados Cell Towers (1.1 GB)
  5. Use default como banco de dados de destino e clique em Import dataset
Deverá aparecer uma entrada em Data upload history com o status success
2

Examine o schema

  1. Selecione SQL Console no menu à esquerda
  2. Clique na aba + ao lado do ícone de início para criar uma nova consulta
  3. No editor SQL, digite a consulta a seguir e clique em Run:
Você deverá ver a seguinte tabela de resultados:
Cada registro na tabela corresponde a uma torre de celular em uma localização real na Terra, indicada pelas coordenadas lon e lat.
3

Execute consultas básicas

Execute a consulta a seguir para ver o número de torres de celular por tipo:
Em seguida, verifique o número de torres de celular por Mobile Country Code (MCC):
Observe que os países com mais torres de celular têm os MCCs 310, 262 e 250. Você pode usar um dicionário para substituir os valores numéricos da coluna mcc pelos nomes dos países:
Com o dicionário criado, agora você pode usá-lo para retornar a mesma lista com o nome do país junto ao MCC:
Query
Response
4

Incorpore dados geográficos

Talvez você também queira saber quantas torres de celular há em uma determinada área geográfica. O ClickHouse oferece diversas funções geoespaciais úteis para esse caso de uso, como a função pointInPolygon.Imagine que você queira saber quantas torres de celular existem na Alemanha. Crie uma tabela chamada germany com uma única coluna do tipo polygon:
Agora, insira na tabela as coordenadas do contorno da Alemanha (continental):
Agora você pode verificar quantas torres de celular estão localizadas na Alemanha continental com a função pointInPolygon:
Query
Response
5

Opcional: visualize os dados com ClickHouse Agents

Em seguida, vamos visualizar esses dados. Esta é uma execução de exemplo opcional: o ClickHouse Agents é uma funcionalidade beta baseada em modelos, portanto o plano, o rastro de ferramentas e a saída podem variar de uma execução para outra. O ClickHouse Agents permite consultar e explorar facilmente seus dados do ClickHouse por meio de conversas, sem que você precise escrever SQL ou lógica de orquestração. O agente interpreta sua intenção, planeja as etapas, chama as ferramentas que você configurou e retorna os resultados para você.Clique em ClickHouse agents, abaixo do nome da sua organização, na parte inferior do menu à esquerda, para abrir o ClickHouse Agents. Você pode enviar mensagens ao ClickHouse Agent pelo chat. Digite “Visualize cell towers within Germany on a map using the default.cell_towers and default.germany tables” e clique em enviar. Em uma das execuções, o agente realizou as seguintes etapas:
  • Ele consultou o Mobile Country Code da Alemanha em mcc_country_dict e encontrou o MCC 262.
  • Ele contou as torres com mcc = 262 localizadas dentro do polígono em germany usando pointInPolygon, chegando a 2.588.635 torres. Esse número é um pouco menor que a contagem anterior porque o filtro adicional por mcc exclui torres dentro do polígono registradas em outro país.
  • Em vez de plotar 2,6 milhões de pontos individuais, ele agrupou as torres em uma grade de 0,1° por 0,1° arredondando lon e lat, o que gerou 4.821 células. Em seguida, verificou que a soma das contagens das células resulta exatamente em 2.588.635, ou seja, nada foi perdido nem contado em duplicidade no agrupamento.
  • Ele recuperou o polígono de germany e o desenhou como contorno sobre a grade, usando uma escala de cores logarítmica para que tanto as células urbanas densas quanto as células rurais esparsas fiquem visíveis.
Abra o arquivo gerado para ver o resultado. Os aglomerados mais brilhantes correspondem às principais regiões metropolitanas: Berlim, Hamburgo, Munique e Frankfurt.

Próximos passos

Neste tutorial, você carregou o conjunto de dados de torres de celular do OpenCelliD no ClickHouse Cloud, examinou seu schema e executou consultas de agregação em dezenas de milhões de linhas. Você criou um dicionário para enriquecer a coluna numérica mcc com nomes de países, armazenou o contorno da Alemanha como um polígono e usou pointInPolygon para contar as torres dentro dele. Por fim, você usou o ClickHouse Agents para transformar essa pergunta em um mapa de densidade sem precisar escrever o código de agregação ou de plotagem. A partir daqui, você pode:
  • Fazer novas perguntas ao agente. Experimente perguntar como a densidade varia entre tipos de rádio, como LTE e GSM, ou quais cidades têm mais torres NR. Salve os prompts que você usa com frequência na biblioteca de prompts ou crie um agente especializado no Agent Builder.
  • Comparar países. Insira polígonos de outros países e execute a mesma consulta pointInPolygon para cada um deles. O dicionário que você criou permite rotular os resultados com os nomes dos países.
  • Agrupar torres com H3 ou geohash. O agente usou uma grade simples de arredondamento. O ClickHouse também oferece funções H3 e geohash, que geram células hierárquicas ideais para mapas com zoom.
  • Explorar outros datasets. O dataset de táxis de NYC também contém coordenadas de embarque e desembarque, e o índice de datasets de exemplo lista muitos outros.
Última modificação em 26 de setembro de 2026