Sistemas de cuadrícula para análisis espaciales
En este documento se explica el objetivo y los métodos para usar sistemas de cuadrículas geoespaciales (como S2 y H3) en BigQuery para organizar datos espaciales en áreas geográficas estandarizadas. También se explica cómo elegir el sistema de cuadrícula adecuado para tu aplicación. Este documento es útil para cualquier persona que trabaje con datos espaciales y realice análisis espaciales en BigQuery.
Descripción general y retos de usar el análisis espacial
La analítica espacial ayuda a mostrar la relación entre entidades (tiendas o casas) y eventos en un espacio físico. Las analíticas espaciales que usan la superficie de la Tierra como espacio físico se denominan analíticas geoespaciales. BigQuery incluye funciones y características geoespaciales que te permiten realizar análisis geoespaciales a gran escala.
En muchos casos prácticos geoespaciales, se agregan datos en zonas localizadas y se comparan las agregaciones estadísticas de esas zonas entre sí. Estas zonas localizadas se representan como polígonos en una tabla de base de datos espacial. En algunos contextos, este método se denomina geografía estadística. El método para determinar la extensión de las zonas geográficas debe estandarizarse para mejorar los informes, los análisis y la indexación espacial. Por ejemplo, un comercio puede analizar los cambios demográficos a lo largo del tiempo en las zonas donde se encuentran sus tiendas o en las zonas donde se plantea abrir una nueva. O bien, una compañía de seguros puede querer mejorar su conocimiento de los riesgos de las propiedades analizando los riesgos de catástrofes naturales predominantes en una zona concreta.
Debido a las estrictas normativas de privacidad de los datos en muchas zonas, los conjuntos de datos que contienen información de ubicación deben desidentificarse o anonimizarse parcialmente para proteger la privacidad de las personas representadas en los datos. Por ejemplo, puede que tengas que realizar un análisis de riesgo de concentración de crédito geográfico en un conjunto de datos que contenga información sobre préstamos hipotecarios pendientes. Para anonimizar el conjunto de datos y que se pueda usar en análisis que cumplan las normativas, debe conservar la información pertinente sobre la ubicación de las propiedades, pero sin usar una dirección específica ni coordenadas de longitud y latitud.
En los ejemplos anteriores, los diseñadores de estos análisis se enfrentan a los siguientes retos:
- ¿Cómo se dibujan los límites del área en la que se analizan los cambios a lo largo del tiempo?
- ¿Cómo se usan los límites administrativos actuales, como las secciones censales o un sistema de cuadrícula multirresolución?
El objetivo de este documento es responder a estas preguntas explicando cada opción, describiendo las prácticas recomendadas y ayudándole a evitar errores comunes.
Errores habituales al elegir áreas estadísticas
Los conjuntos de datos empresariales, como las ventas de inmuebles, las campañas de marketing, los envíos de comercio electrónico y las pólizas de seguros, son adecuados para el análisis espacial. A menudo, estos conjuntos de datos contienen lo que parece ser una clave de unión espacial conveniente, como una sección censal, un código postal o el nombre de una ciudad. Hay conjuntos de datos públicos que contienen representaciones de secciones censales, códigos postales y ciudades, por lo que es tentador usarlos como límites administrativos para la agregación estadística.
Aunque en principio son convenientes, estos y otros límites administrativos tienen inconvenientes. Además, estos límites pueden funcionar bien en las primeras fases de un proyecto de analíticas, pero los inconvenientes pueden notarse en las fases posteriores.
Códigos postales
Los códigos postales se utilizan para enrutar el correo en varios países del mundo y, debido a su ubicuidad, se suelen usar para hacer referencia a ubicaciones y zonas en conjuntos de datos espaciales y no espaciales. En el ejemplo anterior sobre la hipoteca, a menudo es necesario desidentificar un conjunto de datos antes de poder realizar un análisis posterior. Como cada dirección de propiedad contiene un código postal, se puede acceder a las tablas de referencia de códigos postales, lo que la convierte en una opción cómoda para una clave de unión en el análisis espacial.
Un inconveniente de usar códigos postales es que no se representan como polígonos y no hay una única fuente de información correcta para las zonas de códigos postales. Además, los códigos postales no representan bien el comportamiento humano real. Los datos de códigos postales más utilizados en EE. UU. proceden de los archivos de forma TIGER/Line del censo de EE. UU., que contienen un conjunto de datos denominado ZCTA5 (área de tabulación de códigos postales). Este conjunto de datos representa una aproximación de los límites de los códigos postales que se derivan de las rutas de entrega de correo. Sin embargo, algunos códigos postales que representan edificios individuales no tienen ningún límite. Este problema también se da en otros países, lo que dificulta la creación de una única tabla de hechos global que contenga un conjunto de límites de códigos postales fiable que se pueda usar en diferentes sistemas y conjuntos de datos.
Además, no hay ningún formato de código postal estandarizado que se use en todo el mundo. Algunos son numéricos, de entre tres y diez dígitos, mientras que otros son alfanuméricos. También hay una superposición entre países, por lo que es necesario almacenar el país de origen en una columna independiente junto con el código postal. En algunos países no se usan códigos postales, lo que complica aún más el análisis.
Secciones censales, ciudades y condados
Hay algunas unidades administrativas, como los distritos censales, las ciudades y los condados, que no tienen este problema. Los límites de las ciudades, por ejemplo, están bien definidos en la mayoría de los casos por las autoridades públicas. Las secciones censales están bien definidas por la Oficina del Censo de EE. UU. y por sus instituciones análogas en la mayoría de los demás países.
Un inconveniente de usar estos y otros límites administrativos es que cambian con el tiempo y no son geográficamente coherentes entre sí. Los condados y las ciudades se fusionan o se separan entre sí y, en ocasiones, cambian de nombre. Los tramos censales se actualizan una vez cada década en EE. UU. y en diferentes momentos en otros países. Sin embargo, en algunos casos, la frontera geográfica puede cambiar, pero su identificador único sigue siendo el mismo, lo que dificulta el análisis y la comprensión de los cambios a lo largo del tiempo.
Otro inconveniente habitual de algunos límites administrativos es que son zonas independientes sin jerarquía geográfica. Además de comparar áreas individuales entre sí, es habitual comparar agregaciones de las áreas con otras agregaciones. Por ejemplo, un comercio que implemente el modelo de Huff puede querer realizar este análisis usando varias distancias, que no tienen por qué corresponderse con las áreas administrativas que se usan en otras partes de la empresa.
Cuadrículas de una o varias resoluciones
Las cuadrículas de una sola resolución están formadas por unidades independientes que no tienen ninguna relación geográfica con las zonas más grandes que contienen esas unidades. Por ejemplo, los códigos postales tienen una relación geográfica incoherente con los límites de las unidades administrativas más grandes, como las ciudades o los condados, que pueden contener códigos postales. Para el análisis espacial, es importante entender cómo se relacionan las diferentes áreas entre sí sin tener un conocimiento profundo del historial y la legislación que definen el polígono del área.
Las cuadrículas multirresolución a veces se denominan cuadrículas jerárquicas porque las celdas de cada nivel de zoom se subdividen en celdas más pequeñas en los niveles de zoom más altos. Las cuadrículas de resolución múltiple constan de una jerarquía bien definida de unidades que se encuentran dentro de unidades más grandes. Los tramos censales, por ejemplo, contienen grupos de manzanas, que a su vez contienen manzanas. Esta relación jerárquica coherente puede ser útil para la agregación estadística. Por ejemplo, si calculas la media de los ingresos de todos los grupos de manzanas incluidos en una sección, puedes mostrar los ingresos medios de esa sección del censo que contiene los grupos de manzanas. Esto no sería posible con los códigos postales, ya que todas las zonas postales se encuentran en una única resolución. Sería difícil comparar los ingresos de una zona con los de las zonas circundantes, ya que no hay una forma estandarizada de definir la adyacencia ni de comparar los ingresos de diferentes países.
Sistemas de cuadrícula S2 y H3
En esta sección se ofrece una descripción general de los sistemas de cuadrícula S2 y H3.
S2
La geometría S2 es un sistema de cuadrícula jerárquico de código abierto desarrollado por Google y publicado en 2011. Puede usar el sistema de cuadrícula S2 para organizar e indexar datos espaciales asignando un entero único de 64 bits a cada celda. Hay 31 niveles de resolución. Cada celda se representa como un cuadrado y está diseñada para operaciones en geometrías esféricas (a veces denominadas geografías). Cada cuadrado se subdivide en cuatro cuadrados más pequeños. El recorrido de vecinos, que es la capacidad de identificar celdas S2 vecinas, está menos definido porque los cuadrados pueden tener cuatro u ocho vecinos relevantes en función del tipo de análisis. A continuación, se muestra un ejemplo de celdas de cuadrícula S2 de varias resoluciones:
BigQuery usa celdas S2 para indexar datos espaciales y expone varias funciones. Por ejemplo, S2_CELLIDFROMPOINT
devuelve el ID de celda S2 que contiene un punto de la superficie terrestre en un nivel determinado.
H3
H3 es un sistema de cuadrícula jerárquico de código abierto desarrollado por Uber y utilizado por Overture Maps. Hay 16 niveles de resolución. Cada celda se representa como un hexágono y, al igual que S2, cada celda tiene asignado un entero único de 64 bits. En el ejemplo sobre la visualización de celdas H3 que cubren el golfo de México, las celdas H3 más pequeñas no están perfectamente contenidas en las celdas más grandes.
Cada celda se subdivide en siete hexágonos más pequeños. La subdivisión no es exacta, pero es adecuada para muchos casos prácticos. Cada celda comparte un borde con seis celdas vecinas, lo que simplifica el recorrido de los vecinos. Por ejemplo, en cada nivel, hay 12 pentágonos, que comparten un lado con cinco vecinos en lugar de seis. Aunque H3 no es compatible con BigQuery, puede añadir compatibilidad con H3 a BigQuery mediante Carto Analytics Toolbox for BigQuery.
Aunque las bibliotecas S2 y H3 son de código abierto y están disponibles bajo la licencia Apache 2, la biblioteca H3 tiene una documentación más detallada.
HEALPix
Otro esquema para cuadricular la esfera, que se usa habitualmente en el campo de la astronomía, es la pixelación isoLatitud de área igual jerárquica (HEALPix). HEALPix es independiente de la profundidad de píxeles jerárquica, pero el tiempo de cálculo sigue siendo constante.
HEALPix es un esquema de pixelización jerárquico de igual área para la esfera. Se usa para representar y analizar datos en la esfera celeste (u otra). Además de tener un tiempo de cálculo constante, la cuadrícula HEALPix tiene las siguientes características:
- Las celdas de la cuadrícula son jerárquicas, por lo que se mantienen las relaciones entre elementos superiores y secundarios.
- En una jerarquía específica, las celdas tienen la misma superficie.
- Las celdas siguen una distribución de iso-latitud, lo que permite un mayor rendimiento de los métodos espectrales.
BigQuery no admite HEALPix, pero hay numerosas implementaciones en varios lenguajes, incluido JavaScript, lo que hace que sea conveniente usarlo en funciones definidas por el usuario (UDFs) de BigQuery.
Ejemplos de casos prácticos para cada estrategia de indexación
En esta sección se ofrecen algunos ejemplos que le ayudarán a evaluar cuál es el mejor sistema de cuadrícula para su caso práctico.
Muchos casos prácticos de analíticas e informes implican la visualización, ya sea como parte del análisis en sí o para generar informes para las partes interesadas de la empresa. Estas visualizaciones se suelen presentar en Web Mercator, que es la proyección plana que usan Google Maps y muchas otras aplicaciones de mapas web. En los casos en los que la visualización es fundamental, las celdas H3 ofrecen una experiencia de visualización subjetivamente mejor. Las celdas S2, sobre todo en latitudes más altas, tienden a aparecer más distorsionadas que las H3 y no parecen coherentes con las celdas de latitudes más bajas cuando se presentan en una proyección plana.
Las celdas H3 simplifican la implementación cuando la comparación de vecinos desempeña un papel importante en el análisis. Por ejemplo, un análisis comparativo entre las secciones de una ciudad puede ayudar a decidir qué ubicación es adecuada para abrir una nueva tienda o un centro de distribución. El análisis requiere cálculos estadísticos de los atributos de una celda determinada que se compara con sus celdas vecinas.
Las celdas S2 pueden funcionar mejor en análisis de carácter global, como los que implican mediciones de distancias y ángulos. Pokémon Go, de Niantic, utiliza celdas S2 para determinar dónde se colocan los recursos del juego y cómo se distribuyen. La propiedad de subdivisión exacta de las celdas S2 asegura que los recursos de los juegos se puedan distribuir de forma uniforme por todo el mundo.
Siguientes pasos
- Para consultar las prácticas recomendadas de clustering espacial, consulta el artículo Clustering espacial en BigQuery: prácticas recomendadas.
- Consulta cómo crear una jerarquía espacial a partir de datos imperfectos.
- Consulta información sobre la geometría S2 en GitHub.
- Consulta información sobre la geometría H3 en GitHub.
- Consulta ejemplos que usan H3, BigQuery y Earth Engine.