Systèmes de grille pour l'analyse spatiale
Ce document explique l'objectif et les méthodes d'utilisation des systèmes de grille géospatiale (tels que S2 et H3) dans BigQuery pour organiser les données spatiales dans des zones géographiques standardisées. Il explique également comment choisir le système de grille adapté à votre application. Ce document est utile pour toute personne qui travaille avec des données spatiales et effectue l'analyse dans BigQuery.
Présentation et défis de l'analyse spatiale
L'analyse spatiale permet de montrer la relation entre les entités (magasins ou maisons) et les événements dans un espace physique. Les analyses spatiales qui utilisent la surface de la Terre en tant qu'espace physique sont appelées analyses géospatiales. BigQuery inclut des fonctionnalités et des fonctions géospatiales qui vous permettent d'effectuer des analyses géospatiales à grande échelle.
De nombreux cas d'utilisation géospatiale impliquent l'agrégation de données dans des zones localisées et la comparaison des agrégations statistiques de ces zones. Ces zones localisées sont représentées sous forme de polygones dans une table de base de données spatiale. Dans certains contextes, cette méthode est appelée géographie statistique. La méthode de détermination de l'étendue des zones géographiques doit être standardisée pour améliorer la création de rapports, l'analyse et l'indexation spatiale. Par exemple, un marchand peut vouloir analyser les changements démographiques au fil du temps dans les zones où se trouvent ses magasins ou dans les zones où il envisage d'en ouvrir un nouveau. Une compagnie d'assurance peut également vouloir améliorer sa compréhension des risques matériels en analysant les risques de danger naturel prédominants dans une zone particulière.
En raison de la réglementation stricte sur la confidentialité des données dans de nombreux domaines, les ensembles de données contenant des informations de localisation doivent être anonymisés ou partiellement anonymisés pour protéger la confidentialité des personnes représentées dans les données. Par exemple, vous devrez peut-être effectuer une analyse géographique du risque de concentration du crédit sur un ensemble de données contenant des données sur les prêts hypothécaires en cours. Pour supprimer l'identification de l'ensemble de données et le rendre adapté à une analyse conforme, vous devez conserver des informations pertinentes sur l'emplacement des propriétés, mais éviter d'utiliser une adresse ou des coordonnées de longitude et de latitude spécifiques.
Dans les exemples précédents, les concepteurs de ces analyses sont confrontés aux défis suivants :
- Comment tracer les limites de la zone dans laquelle vous analysez les changements au fil du temps ?
- Comment utiliser les limites administratives existantes telles que les zones de recensement ou un système de grille à plusieurs résolutions ?
Ce document vise à répondre à ces questions en expliquant chaque option, en décrivant les bonnes pratiques et en vous aidant à éviter les écueils courants.
Principaux pièges à éviter lors du choix de zones statistiques
Les ensembles de données d'entreprise, tels que les ventes immobilières, les campagnes marketing, les livraisons d'e-commerce et les polices d'assurance, sont adaptés à l'analyse spatiale. Souvent, ces ensembles de données contiennent ce qui semble être une clé de jointure spatiale pratique, comme un secteur de recensement, un code postal ou le nom d'une ville. Les ensembles de données publics contenant des représentations de secteurs de recensement, de codes postaux et de villes sont facilement accessibles, ce qui rend tentant le fait de les utiliser comme limites administratives pour l'agrégation statistique.
Bien qu'elles soient nominales pratiques, ces limites et d'autres limites administratives présentent des inconvénients. De plus, ces limites peuvent bien fonctionner au début d'un projet d'analyse, mais les inconvénients peuvent être remarqués plus tard.
Codes postaux
Les codes postaux sont utilisés pour acheminer le courrier dans différents pays du monde. En raison de cette ubiquité, ils sont souvent utilisés pour référencer des lieux et des zones dans des ensembles de données spatiaux et non spatiaux. Pour se référer à l'exemple précédent concernant le prêt hypothécaire, un ensemble de données doit souvent être anonymisé avant de pouvoir effectuer une analyse en aval. Étant donné que chaque adresse de propriété contient un code postal, les tableaux de référence des codes postaux sont accessibles, ce qui en fait une option pratique pour une clé de jointure en vue de l'analyse spatiale.
L'utilisation des codes postaux présente un inconvénient : ils ne sont pas représentés sous forme de polygones, et il n'existe pas de source unique et fiable pour les zones de code postal. De plus, les codes postaux ne constituent pas une bonne représentation du comportement humain réel. Les données relatives aux codes postaux les plus couramment utilisées aux États-Unis proviennent du fichier de formes TIGER/Line du Bureau du recensement américain, qui contient un ensemble de données appelé ZCTA5 (Zip Code Tabulation Area). Cet ensemble de données représente une approximation des limites des codes postaux, qui sont dérivées des itinéraires de distribution du courrier. Cependant, certains codes postaux représentant des bâtiments individuels n'ont aucune limite. Ce problème est également présent dans d'autres pays. Il était donc difficile de former une seule table de faits globale contenant un ensemble de limites de codes postaux pouvant être utilisés dans tous les systèmes et tous les ensembles de données.
En outre, il n'existe pas de format de code postal standardisé dans le monde. Certains sont numériques, avec trois à dix chiffres, tandis que d'autres sont alphanumériques. Il existe également un chevauchement entre les pays, ce qui nécessite de stocker le pays d'origine dans une colonne distincte, avec le code postal. Certains pays n'utilisent pas de codes postaux, ce qui complique d'autant plus l'analyse.
Régions de recensement, villes et comtés
Certaines unités administratives, telles que les zones de recensement, les villes et les comtés, ne sont pas affectées par l'absence de limites officielles. Les limites des villes, par exemple, sont dans la plupart des cas bien établies par les autorités gouvernementales. Les secteurs de recensement sont bien définis par le Bureau du recensement des États-Unis et par leurs institutions analogues dans la plupart des autres pays.
L'inconvénient de ces limites administratives est qu'elles évoluent au fil du temps et ne sont pas cohérentes géographiquement les unes avec les autres. Les comtés et les villes fusionnent ou se dissocient les uns des autres, et sont parfois renommés. Les zones de recensement sont mises à jour une fois par décennie aux États-Unis et à des moments différents dans d'autres pays. Dans certains cas, la limite géographique peut changer, mais son identifiant unique reste le même, ce qui rend difficile l'analyse et la compréhension des changements au fil du temps.
Un autre inconvénient commun à certaines limites administratives est qu'il s'agit de zones distinctes sans hiérarchie géographique. En plus de comparer des zones individuelles entre elles, il est courant de comparer les agrégations des zones elles-mêmes à d'autres agrégations. Par exemple, un revendeur mettant en œuvre le modèle Huuff peut souhaiter exécuter cette analyse en utilisant plusieurs distances, qui peuvent ne pas correspondre aux zones administratives utilisées ailleurs dans l'entreprise.
Grilles à une seule et plusieurs résolutions
Les grilles à résolution unique sont constituées d'unités discrètes qui n'ont pas de relation géographique avec les zones plus grandes contenant ces unités. Par exemple, les codes postaux présentent une relation géographique incohérente avec les limites des plus grandes unités administratives, telles que les villes ou les comtés pouvant contenir des codes postaux. Pour l'analyse spatiale, il est important de comprendre comment les différentes zones sont liées les unes aux autres sans avoir une connaissance approfondie de l'histoire et de la législation qui définissent le polygone de zone.
Les grilles à plusieurs résolutions sont parfois appelées grilles hiérarchiques, car les cellules à chaque niveau de zoom sont subdivisées en cellules plus petites à des niveaux de zoom plus élevés. Les grilles à plusieurs résolutions constituent une hiérarchie bien définie d'unités contenues dans des unités plus grandes. Les secteurs de recensement, par exemple, contiennent des groupes de blocs qui, à leur tour, contiennent des blocs. Cette relation hiérarchique cohérente peut être utile pour l'agrégation statistique. Par exemple, en prenant la moyenne des revenus de tous les groupes de blocs d'un secteur, vous pouvez montrer le revenu moyen pour ce secteur. Cela ne serait pas possible avec des codes postaux, car toutes les zones postales sont situées à une seule résolution. Il serait difficile de comparer le revenu d'un secteur avec celui des secteurs environnants, car il n'existe pas de méthode standardisée pour définir l'adjacence ou comparer les revenus dans différents pays.
Systèmes de grille S2 et H3
Cette section présente les systèmes de grille S2 et H3.
S2
La géométrie S2 est un système de grille hiérarchique Open Source développé par Google et rendu public en 2011. Vous pouvez utiliser le système de grille S2 pour organiser et indexer les données spatiales en attribuant un entier unique de 64 bits à chaque cellule. Il existe 31 niveaux de résolution. Chaque cellule est représentée par un carré et conçue pour des opérations sur des géométries sphériques (parfois appelées zones géographiques). Chaque carré est subdivisé en quatre petits carrés. La traversée des voisins, c'est-à-dire la possibilité d'identifier les cellules S2 voisines, est moins bien définie, car les carrés peuvent avoir quatre ou huit voisins pertinents selon le type d'analyse. Voici un exemple de cellules de grille S2 à résolution multiple :
BigQuery utilise des cellules S2 pour indexer les données spatiales et expose plusieurs fonctions. Par exemple, S2_CELLIDFROMPOINT
renvoie l'ID de cellule S2 qui contient un point sur la surface de la Terre à un niveau donné.
H3
H3 est un système de grille hiérarchique Open Source développé par Uber et utilisé par Overture Maps. Il existe 16 niveaux de résolution. Chaque cellule est représentée par un hexagone et, comme dans S2, un entier 64 bits unique lui est attribué. Dans l'exemple de visualisation des cellules H3 couvrant le Golfe du Mexique, les cellules H3 plus petites ne sont pas parfaitement contenues par les cellules plus grandes.
Chaque cellule est subdivisée en sept hexagones plus petits. La subdivision n'est pas exacte, mais elle convient à de nombreux cas d'utilisation. Chaque cellule partage un bord avec six cellules voisines, ce qui simplifie la traversée des voisins. Par exemple, à chaque niveau, 12 pentagones partagent une arête avec cinq voisins au lieu de six. Bien que H3 ne soit pas compatible avec BigQuery, vous pouvez ajouter la compatibilité H3 à BigQuery à l'aide des outils d'analyse Carto pour BigQuery.
Bien que les bibliothèques S2 et H3 soient Open Source et disponibles sous la licence Apache 2, la bibliothèque H3 dispose d'une documentation plus détaillée.
HEALPix
Un schéma supplémentaire permettant de mettre en place une grille sur la sphère, couramment utilisé dans le domaine de l'astronome, est appelé "Hierarchical Equal Area isoLatitude Pixelation" (HEALPix, Hierarchical Equal Area isoLatitude Pixelation). HEALPix est indépendant de la profondeur de pixel hiérarchique, mais le temps de calcul reste constant.
HEALPix est un schéma de pixélisation hiérarchique équitable pour la sphère. Il permet de représenter et d'analyser les données sur la sphère céleste (ou autre). En plus du temps de calcul constant, la grille HEALPix présente les caractéristiques suivantes :
- Les cellules de la grille sont hiérarchiques, et les relations parent-enfant sont conservées.
- À une hiérarchie spécifique, les cellules ont des zones égales.
- Les cellules suivent une distribution iso-latitude, ce qui permet d'obtenir de meilleures performances pour les méthodes spectrales.
BigQuery n'est pas compatible avec HEALPix, mais il existe de nombreuses implémentations dans de nombreux langages, y compris JavaScript, qui peuvent être utilisées avec les fonctions UDF (définies par l'utilisateur) de BigQuery.
Exemples de cas d'utilisation pour chaque stratégie d'indexation
Cette section fournit des exemples qui vous aident à déterminer le système de grille le plus approprié pour votre cas d'utilisation.
De nombreux cas d'utilisation d'analyse et de création de rapports impliquent une visualisation, soit dans le cadre de l'analyse elle-même, soit pour la création de rapports à destination des acteurs commerciaux. Ces visualisations sont généralement présentées dans Web Mercator, qui est la projection plane utilisée par Google Maps et de nombreuses autres applications de cartographie Web. Dans les cas où la visualisation joue un rôle essentiel, les cellules H3 offrent une expérience de visualisation subjectivement meilleure. Les cellules S2, en particulier à des latitudes plus élevées, ont tendance à paraître plus déformées que les cellules H3 et ne semblent pas cohérentes avec les cellules de latitudes inférieures lorsqu'elles sont présentées dans une projection planaire.
Les cellules H3 simplifient l'implémentation lorsque la comparaison avec les voisins joue un rôle important dans l'analyse. Par exemple, une analyse comparative entre les sections d'une ville peut vous aider à déterminer l'emplacement idéal pour ouvrir un nouveau magasin ou un centre de distribution. L'analyse nécessite des calculs statistiques pour les attributs d'une cellule donnée, comparée à ses cellules voisines.
Les cellules S2 peuvent mieux fonctionner dans les analyses de nature globale, telles que les analyses impliquant des mesures de distances et d'angles. Pokemon Go de Niantic utilise des cellules S2 pour déterminer l'emplacement des éléments de jeu et leur distribution. La propriété de subdivision exacte des cellules S2 garantit que les éléments de jeu peuvent être répartis uniformément sur le globe.
Étapes suivantes
- Pour connaître les bonnes pratiques concernant le regroupement spatial, consultez la section Regroupement spatial sur BigQuery : bonnes pratiques.
- Découvrez comment créer une hiérarchie spatiale à partir de données imparfaites.
- En savoir plus sur la géométrie S2 sur GitHub
- En savoir plus sur la géométrie H3 sur GitHub
- Consultez les exemples qui utilisent H3, BigQuery et Earth Engine.