Foursquare ha actualizado la forma de acceder a OS Places. Las versiones anteriores de esta guía consultaban
archivos con una fecha específica en un bucket S3 público; ahora se accede mediante Places Portal y un
catálogo Iceberg autenticado. Consulta la documentación de Foursquare sobre el acceso a OS Places
para obtener más información.
Antes de empezar
- Una cuenta en el portal Foursquare Places
- Un token de acceso creado desde la pestaña Access Data del conjunto de datos OS Places
Conéctate al catálogo de Foursquare
<YOUR_ACCESS_TOKEN> por tu token en la siguiente consulta:
Query
places_os refleja la versión actualmente
publicada por Foursquare’s, en lugar de una versión de Parquet fijada a una fecha, por lo que sus filas y su esquema pueden
cambiar con el tiempo. Por tanto, las consultas sin una cláusula ORDER BY pueden devolver filas de
muestra distintas de las respuestas mostradas en esta guía.
Verifique la conexión
places_os:
Query
Response
Explorar los datos
Query
Response
DESCRIBE para inspeccionar el esquema de la tabla:
Query
Response
Cargue los datos en ClickHouse
clickhouse-server o en ClickHouse Cloud.
Cree una tabla MergeTree con columnas codificadas mediante diccionario y coordenadas de Web Mercator
materializadas:
Query
LowCardinality,
que almacena valores repetidos mediante codificación de diccionario. Esta representación puede mejorar significativamente
el rendimiento de las consultas SELECT.
Las dos columnas UInt32 MATERIALIZED, mercator_x y mercator_y, asignan la latitud y la
longitud a la proyección Web Mercator,
lo que facilita dividir el mapa en mosaicos:
longitude + 180desplaza el intervalo de longitud de [-180, 180] a [0, 360].- Dividir entre 360 normaliza el valor a un intervalo entre 0 y 1.
- Multiplicar por
0xFFFFFFFF, el entero sin signo máximo de 32 bits, escala el valor normalizado a todo el intervalo de un entero de 32 bits.
latitude + 90desplaza el intervalo de latitud de [-90, 90] a [0, 180].- Dividir entre 360 y multiplicar por
piconvierte el valor a radianes para las funciones trigonométricas. log(tan(...))aplica la fórmula básica de la proyección de Mercator.- Multiplicar por
0xFFFFFFFFescala el resultado a todo el intervalo de enteros de 32 bits.
MATERIALIZED, ClickHouse calcula estos valores al insertar los datos,
sin que los datos de origen tengan que contener las columnas.
La tabla se ordena mediante mortonEncode(mercator_x, mercator_y), que crea una curva de relleno espacial de orden Z
y organiza los datos según su proximidad espacial:
minmax aceleran el filtrado espacial:
Query
unresolved_flags porque no
se necesita en la tabla local y filtra las filas sin coordenadas porque no
pueden situarse en el mapa. Los demás valores anulables del origen permanecen como nulos en la tabla local.
Visualización de los datos
El modelo de acceso de Foursquare ha cambiado desde que se crearon estas visualizaciones. La
vista interactiva original de Places
es anterior al modelo de acceso actual y se enlaza como referencia histórica, pero es posible que ya no
muestre datos de Places. Las imágenes siguientes se conservan como ejemplos históricos.