Skip to main content
En este tutorial verá cómo se puede usar ClickHouse con datos geográficos a partir del conjunto de datos de torres de telefonía móvil. Cargará el conjunto de datos en ClickHouse Cloud, examinará su esquema y ejecutará consultas de agregación sobre decenas de millones de filas. A continuación, enriquecerá los datos con un diccionario, usará la función pointInPolygon para contar las torres ubicadas en Alemania y recurrirá a ClickHouse Agents para visualizar el resultado en un mapa.

Requisitos previos

Para este tutorial, necesitará:
1

Cargue los datos de muestra

El conjunto de datos utilizado en este tutorial procede de , la base de datos abierta de torres de telefonía móvil más grande del mundo. En 2021, contenía decenas de millones de registros de torres de telefonía móvil de todo el mundo, con sus coordenadas geográficas y metadata como el código de país y la red.
  1. En ClickHouse Cloud, en el menú de la izquierda, seleccione su servicio en el menú desplegable
  2. Seleccione Data sources
  3. Haga clic en la tarjeta Add sample data
  4. Seleccione el conjunto de datos Cell Towers (1.1 GB)
  5. Use default como base de datos de destino y haga clic en Import dataset
Debería ver una entrada en Data upload history con el estado success
2

Examine el esquema

  1. Seleccione SQL console en el menú de la izquierda
  2. Haga clic en la pestaña + situada junto al icono de inicio para crear una nueva consulta
  3. En el editor SQL, escriba la siguiente consulta y haga clic en Run:
Debería ver la siguiente tabla de resultados:
Cada entrada de la tabla corresponde a una torre de telefonía móvil situada en una ubicación real de la Tierra, indicada por las coordenadas lon y lat.
3

Ejecute consultas básicas

Ejecute la siguiente consulta para ver el número de torres de telefonía móvil por tipo:
A continuación, compruebe el número de torres de telefonía móvil por código de país móvil (MCC):
Puede ver que los países con más torres de telefonía móvil tienen los MCC 310, 262 y 250. Puede usar un diccionario para sustituir los valores numéricos de la columna mcc por los nombres de los países:
Una vez creado el diccionario, puede usarlo para devolver la misma lista con el nombre del país junto al MCC:
Query
Response
4

Incorporar datos geográficos

También puede que le interese saber cuántas torres de telefonía móvil hay dentro de un área geográfica determinada. ClickHouse ofrece numerosas funciones geoespaciales útiles para este caso de uso, como la función pointInPolygon.Supongamos que quiere saber cuántas antenas de telefonía móvil hay en Alemania. Cree una tabla llamada germany con una única columna de tipo polygon:
A continuación, inserte en la tabla las coordenadas del contorno de Alemania (continental):
Ahora puede comprobar cuántas antenas de telefonía móvil hay en la Alemania continental mediante la función pointInPolygon:
Query
Response
5

Opcional: Visualice los datos con ClickHouse Agents

A continuación, visualizaremos estos datos. Esta ejecución de ejemplo es opcional: ClickHouse Agents es una funcionalidad beta basada en modelos, por lo que su plan, la traza de herramientas y la salida pueden variar de una ejecución a otra. ClickHouse Agents le permite consultar y explorar fácilmente sus datos de ClickHouse mediante una conversación, sin tener que escribir usted mismo SQL ni lógica de orquestación. El agente interpreta su intención, planifica los pasos, llama a las herramientas que haya configurado y le devuelve los resultados.Haga clic en ClickHouse agents, debajo del nombre de su organización en la parte inferior del menú de la izquierda, para abrir ClickHouse Agents. Puede enviar mensajes al agente de ClickHouse a través del chat. Escriba “Visualize cell towers within Germany on a map using the default.cell_towers and default.germany tables” y pulse enviar. En una de las ejecuciones, el agente llevó a cabo los siguientes pasos:
  • Buscó el código móvil de país (Mobile Country Code) de Alemania en mcc_country_dict y obtuvo el MCC 262.
  • Contó las torres con mcc = 262 situadas dentro del polígono de germany mediante pointInPolygon, lo que dio como resultado 2.588.635 torres. Esta cifra es ligeramente inferior al recuento anterior porque el filtro adicional por mcc excluye las torres que, aun estando dentro del polígono, están registradas en otro país.
  • En lugar de representar 2,6 millones de puntos individuales, agrupó las torres en una cuadrícula de 0,1° por 0,1° redondeando lon y lat, lo que generó 4.821 celdas. Comprobó que la suma de los recuentos de las celdas daba exactamente 2.588.635, de modo que durante la agrupación no se perdió ninguna torre ni se contó ninguna dos veces.
  • Recuperó el polígono de germany y lo dibujó como contorno sobre la cuadrícula, con una escala de color logarítmica para que se aprecien tanto las celdas urbanas densas como las celdas rurales dispersas.
Abra el archivo generado para ver el resultado. Los clústeres brillantes corresponden a las principales áreas metropolitanas: Berlín, Hamburgo, Múnich y Fráncfort.

Próximos pasos

En este tutorial cargó el conjunto de datos de torres de telefonía móvil de OpenCelliD en ClickHouse Cloud, examinó su esquema y ejecutó consultas de agregación sobre decenas de millones de filas. Creó un diccionario para enriquecer la columna numérica mcc con los nombres de los países, almacenó el contorno de Alemania como un polígono y utilizó pointInPolygon para contar las torres situadas en su interior. Por último, utilizó ClickHouse Agents para convertir esa pregunta en un mapa de densidad sin tener que escribir usted mismo el código de agregación ni el de visualización. A partir de aquí, puede:
  • Hacer preguntas de seguimiento al agente. Pruebe a preguntar cómo varía la densidad entre tipos de radio como LTE y GSM, o qué ciudades tienen más torres NR. Guarde los prompts que reutilice en la biblioteca de prompts o cree un agente especializado en el Agent Builder.
  • Comparar países. Inserte polígonos de otros países y ejecute la misma consulta pointInPolygon para cada uno de ellos. El diccionario que creó le permite etiquetar los resultados con los nombres de los países.
  • Agrupar torres con H3 o geohash. El agente utilizó una cuadrícula de redondeo simple. ClickHouse también ofrece funciones H3 y geohash, que generan celdas jerárquicas idóneas para mapas con zoom.
  • Explorar otros conjuntos de datos. El conjunto de datos de taxis de Nueva York también contiene coordenadas de recogida y destino, y el índice de conjuntos de datos de ejemplo incluye muchos más.
Última modificación el 26 de septiembre de 2026