ÉTUDE DE CAS · CUBOSPHÈRE

Une tuile de 10 m sur une Terre ronde.

Les plongements satellitaires décrivent la planète par des pixels de 10 sur 10 m, chacun un vecteur de 64 nombres. Un pixel de 10 m n’a pas la même taille à Genève, à Tromsø et au pôle. La grille, l’index et la carte mettent chacun la Terre au carré à sa façon.

Le problème n’est pas que la Terre est ronde

Un pixel vit dans trois repères qui ne coïncident pas.

La grille de pixels

Native en UTM, zone par zone : soixante fuseaux de 6°. Dans sa zone, le pixel fait exactement 10 sur 10 m. Sortez de la zone, ou de la latitude, et ce n’est plus le cas.

L’index

Sous le produit, l’adresse est S2 : des courbes de Hilbert sur les six faces d’un cube, puis projetées sur la sphère. Cette adresse n’est ni la ligne et la colonne UTM, ni la latitude et la longitude.

La carte

Les écrans montrent le Web Mercator. Les angles restent vrais, les aires non. Les longueurs croissent comme 1/cos de la latitude, les aires comme 1/cos². Passé ±85,05°, la carte est coupée. Le pôle n’y est pas.

Déplacez un point. Voyez les trois repères diverger.

Les échelles sont les chiffres Mercator et UTM de l’étude de cas. La face, la cellule et l’index sont l’atlas cubosphérique entier : les mêmes règles que la spécification Lean, portées depuis cubospherique.py.

Le cube dans la sphère. Un index parcourt les six faces.

Le cube place chaque pôle au centre d’une face, là où la distorsion est la plus faible — l’inverse de Mercator. La sphère est le même cube, gonflé : chaque point d’une face est poussé le long de son propre rayon jusqu’à rencontrer la sphère qui passe par les huit sommets. Une cellule devient un quadrilatère courbe, une arête de face devient un arc de grand cercle, et la métacourbe devient un chemin fermé sur la sphère. L’index ne change pas. C’est la correspondance.

La question n’est pas de savoir s’il faut utiliser un cube. C’est comment parcourir les six faces sans couture dans l’index, avec l’index comme coordonnée, et sans virgule flottante. La courbe est la métacourbe de Gray de configuration cfgD : deux orientations sur 262 144 ferment le cycle. Parcourez l’index, tirez le cube vers la sphère, tournez-le, ou cliquez une cellule. L’anneau d’or est le point que vous avez déplacé plus haut ; le petit point d’or est le pôle, une cellule ordinaire.

Glisser pour tourner · cliquer une cellule

Ce qui échoue, à mesure qu’on va vers le nord

  • Sur une grille en degrés, le pas de longitude n’est constant qu’en degrés. En mètres, c’est le pas fois le cosinus de la latitude. À 80°, une tuile d’un degré s’étire d’environ 5 pour cent du sud au nord. Au pôle, le cosinus est nul : chaque pixel d’un parallèle est le même point. Une grille latitude-longitude ne peut pas décrire le pôle.
  • L’UTM est exact à 10 m dans une zone, et les zones convergent. Une zone fait environ 668 km de large à l’équateur, 116 km à 80°, 70 km à 84°. L’UTM n’est pas défini au-delà de 84° nord. Deux voisins de part et d’autre d’une couture appartiennent à deux grilles qui ne partagent ni ligne, ni colonne, ni origine.
  • Un comptage de pixels — forêt, eau, changement — est biaisé en latitude dès qu’il quitte la zone native. Deux années exportées sur deux grilles légèrement différentes ne se superposent plus pixel à pixel. La recherche au-dessus de cette géométrie est elle-même approchée, et ne peut pas être rejouée.

Svalbard, où une couture traverse une face

Deux fenêtres de pixels Satellite Embedding réels, à 78,45° N (Sabine Land, couture 18° E entre les zones 33N et 34N) et à 79,9° N (Austfonna, couture 24° E). Toutes les directions tombent sur la face nord du cube. Ce qui est une frontière de systèmes pour les grilles sources est l’intérieur d’une seule carte.

Les deux grilles sources sont tournées de 6° l’une par rapport à l’autre, la convergence des méridiens. Les voisins de part et d’autre de la couture n’ont pas de clé commune. Dans l’index cubosphérique, leur écart médian est 1 : la même cellule, ou la suivante. La couverture propre du produit s’arrête vers 83,4° N. Dans l’atlas du cube, il n’y a pas une telle latitude.

Le pôle est une cellule ordinaire. Des indices consécutifs partagent une arête, à chaque niveau, y compris d’une face à l’autre. C’est ce que disent les preuves Lean de l’atlas, et ce que le parcours de cette page calcule.

Sabine Land à 78,45 degrés nord : deux grilles UTM en fausses couleurs, les mêmes pixels tournés de 6 degrés, et un index cubosphérique qui traverse la couture.

Sabine Land, 78,45° N, couture 18° E. Deux fichiers UTM, zones 33N et 34N, décrivent le même terrain. Leurs grilles de pixels sont tournées de 6°. Sur la face nord du cube, la métacourbe traverse cette couture comme un seul index.

Rendu calculé de l’atlas cubosphérique sur des pixels Satellite Embedding de 10 m.

Austfonna à 79,9 degrés nord : deux grilles UTM tournées de part et d’autre de la couture à 24 degrés, et un index cubosphérique sur la face nord.

Austfonna, 79,9° N, couture 24° E, zones 34N et 35N. Les mêmes trois repères, plus au nord. Ce qui est une frontière des grilles sources est l’intérieur d’une face.

Rendu calculé de l’atlas cubosphérique sur des pixels Satellite Embedding de 10 m.

Localité des plongements voisins à Sabine Land, l’écart cubosphérique à travers la couture de 18 degrés, et la couverture du produit qui s’arrête vers 83 degrés nord.

Localité à la couture de Sabine Land. Les plongements voisins restent voisins dans l’ordre cubosphérique. De part et d’autre de 18° E, la plupart des paires tombent dans la même cellule ou la suivante, et aucune ne partage une clé UTM native. La couverture du produit s’arrête vers 83,4° N. L’atlas du cube n’a pas une telle latitude.

Rendu calculé de l’atlas cubosphérique sur des pixels Satellite Embedding de 10 m.

Tous les cas d’usage