Makina Blog
Indexer et agréger des données sur une sphère de manière homogène
On peut facilement indexer des données ou les représenter suivant des grilles. Toutefois, cette facilité est limitée aux cartes en deux dimensions. Lorsque l’on souhaite adresser le même problème pour le monde entier, donc sur une sphère, les cartes en deux dimensions ne sont plus qu’une déformation du territoire. Il est donc nécessaire d’utiliser des grilles directement sur la sphère.
Pour agréger et indexer des données spatiales, on utilise des grilles en deux dimensions. Pour chaque cellule de la grille, on peut, par exemple, faire des totaux, des moyennes ou juste s’en servir pour indexer et retrouver des données. En plus de traiter des données agrégées, les grilles rendent possible la visualisation.
Exemple de statistiques de l’INSEE consolidées sur une grille avec QGis.
Les grilles permettent d’avoir des unités de surfaces homogènes et donc comparables. Elles permettent également d’accéder aux cellules voisines, notamment pour les comparer ou les grouper selon des critères.
Pavage du planConstruire une grille consiste à paver le plan avec des cellules qui se répètent. Ces grilles peuvent avoir des formes diverses. Les cellules étant identiques, elles sont une représentation homogène du territoire. Chaque cellule peut être numérotée, c’est-à-dire indexée. La numérotation va notamment dépendre de la forme des cellules.
Divers pavages du plan. Source Wikipédia.
Cependant ces pavages sont homogènes et réguliers sur un plan « plat ». Le défaut des grilles homogènes planaires c’est qu’elles sont utilisées sur des données déjà projetées sur une carte. Autrement dit, elles sont déjà une déformation de la sphère et représentent donc une portion non homogène du territoire physique. Si l’on cherche à utiliser ces pavages sur la sphère, ces derniers ne vont pas rester homogènes et réguliers. Ce qui est acceptable comme déformation localement, ne l'est plus à un niveau global.
Pavage de la sphèrePour obtenir une grille qui reste globalement uniforme, il faut travailler directement sur la sphère.
Carrés
Oui, on peut continuer à utiliser une grille des cellules carrées sur une sphère. Il faut inscrire la sphère dans un cube et projeter la sphère sur chacune des faces du cube. Cela revient à faire plusieurs projections locales. Chacune des faces du cube est ensuite subdivisée récursivement en carré.
L’inconvénient est que la distorsion reste tout de même importante pour les zones les plus éloignées de la sphère.
C’est l’approche choisie par Google pour son système de coordonnées S2.
Source Google.
Triangles équilatéraux
Contrairement aux carrés, on peut mettre autant de triangles que l’on souhaite et approcher mieux la surface de la sphère.
Le pavage de la sphère avec des triangles équilatéraux de premier niveau est nommé « icosaèdre ».
Source Wikipédia.
Chaque triangle peut être subdivisé en 4 sous-triangles équilatéraux.
Hexagones
Une variante des triangles équilatéraux est de couper les pointes. Couper les trois pointes à un triangle en fait un hexagone, à 6 côtés. Comme pour les triangles on peut choisir la taille des hexagones. Les hexagones permettent de mieux approcher la surface de la sphère. Toutefois, les pointes qui ont été coupées ne sont pas des hexagones mais seulement des pentagones.
Donc le pavage de sphère avec des hexagones est nommé « icosaèdre tronqué », plus simplement connu sous le nom de « ballon de foot ». Les faces blanches sont des hexagones et les noires des pentagones.
Icosaèdre tronqué.
Pavage de la sphère avec des hexagones et leurs subdivisions. Cherchez les pentagones ! Source Uber.
Le fait de devoir utiliser quelques pentagones nuit légèrement à l’homogénéité du pavage. Mais les pentagones apportent aussi des avantages, dont le fait de mieux « coller » à la sphère.
Ils apportent également un autre inconvénient. On ne peut pas subdiviser un hexagone en sous hexagones. L’hexagone parent n’est qu’une approximation des sous-hexagones.
Les hexagones sont la solution retenue par Uber pour son système de coordonnées H3.
Triacontakaitétragones
Non. Ne cherchez pas, on ne peut pas faire de pavage régulier du plan avec des polygones plus complexes que les hexagones. La démonstration par l’absurde est laissé en exercice au lecteur.
CaractéristiquesL’homogénéité passe aussi par la possibilité de comparer et de passer aux cellules voisines. Les cellules peuvent être voisines soit par un côté, soit par un sommet. Les cellules qui représentent des agrégats peuvent aussi être réduites à leur centre. Il est alors possible de calculer la distance entre les centres des cellules.
C’est là que les hexagones révèlent tout leur potentiel.
Dans une grille réalisée avec des carrés, chaque cellule a 8 voisines, 4 par les côtés et 4 par les sommets. La distance entre les centres des carrés par les côtés n’est pas la même que celles des voisines par les sommets.
Le voisinage pour les triangles est plus compliqué. Chaque triangle a 3 voisins par les côtes et 9 voisins par les sommets. Il y a trois distances différentes entre les centres des triangles voisins.
Les hexagones ont 6 voisins par les côtes et 0 par les sommets. Les voisins sont tous à la même distance. Ce qui apporte également de l’homogénéité sur la notion de distance.
Voisinages des grilles. Source Uber.
Malgré certains désavantages l’hexagone est le meilleur moyen de paver de façon homogène la sphère. C’est un index adapté à des problématiques globales ayant besoin d’homogénéité du territoire et de calcul de voisinage. Il est également bien adapté à de la visualisation.
L’implémentation de H3 est disponible dans plusieurs langages de programmation, on le retrouve notamment en C, Python et PostgreSQL.
Vous vous posez des questions sur de l’analyse spatiale de données ? Vous avez des problèmes d’indexation ou de représentation ? On peut vous aider. Nos formations sont aussi là pour vous permettre d’en apprendre plus.
Actualités en lien
Mini-guide à l’usage des collectivités : l’Open Data, entre nécessité et opportunité
Tout ce que vous avez toujours voulu savoir sur l’Open Data. Petit guide à destination des collectivités pour l’appréhender et se l’approprier.
Une rentrée riche autour de la donnée et des rencontres pour Makina Corpus Territoires
Chaque rentrée apporte son lot d’opportunités pour faire avancer les projets autour de la données au service des territoires. Le calendrier de Makina Corpus en la matière a été particulièrement dense en événements.
GeoDatadays 2024 : retrouvez-nous et participez à nos conférences
Les 19 et 20 septembre, participez aux conférences animées par nos experts SIG aux GeoDataDays 2024, en Pays de la Loire à Nantes.