Makina Blog

Le blog Makina-corpus

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.

Œuvre d'art à Heidelberg
Œuvre d'art à Heidelberg.

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.

Grille de données de l’INSEE
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 plan

Construire 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.
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ère

Pour 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.

Les 6 faces du cube
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 ».

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é
Icosaèdre tronqué.

Grille H3
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éristiques

L’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.

Voisinage des grilles
Voisinages des grilles. Source Uber.

Conclusion

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

Image
Capture d'une partie de carte montrant un réseau de voies sur un fond de carte sombre. Au centre, une popup affiche les information de l'un des tronçons du réseau.
28/02/2024

Géné­rer un fichier PMTiles avec Tippe­ca­noe

Exemple de géné­ra­tion et d’af­fi­chage d’un jeu de tuiles vecto­rielles en PMTiles à partir de données publiques.

Voir l'article
Image
Encart article Protomaps : Illustration d'une portion de pyramide de tuiles
14/02/2024

Protomaps, stockez vos pyramides de tuiles plus simplement

Présentation d'un nouveau format de stockage de tuiles cartographiques

Voir l'article
Image
Article : Servir sa couche raster QGIS en tuiles sans effort avec le format PMTiles
25/01/2024

Servir sa couche raster QGIS en tuiles sans effort avec le format PMTiles

Cet article vous présente une approche permet­tant de tuiler et de publier une couche raster fabriquée avec QGIS.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus