Carte OpenStreetMap des câbles sous-marins d'Internet / Internet submarine cables map with OpenStreetMap.
J'ai ajouté des informations à cette carte (voir ci-dessous).
Plus précisément, j'ai mis à jour mon script qui transforme des jeux de données géographiques en carte géographique.
Tutoriel pour utiliser ce script / créer une copie de ma carte.
Nouveautés pour les utilisateurs
- Depuis août 2021, TeleGeography, l'auteur des données géographiques que j'utilise, indique le fournisseur d'un câble dans son jeu de données. Je l'affiche ;
- La description de la carte (panneau latéral) affiche la liste des câbles. Un lien hypertexte sur chaque câble permet désormais de visualiser son emplacement sur la carte ;
- Même chose dans la description d'une station d'atterrissement ;
- Quand une information (nom du fournisseur, URL du site web de présentation, etc.) n'est pas communiquée par le jeu de données, j'affiche « n/a » plutôt que « null » (valeur JSON pour exprimer "attribut non renseigné") ;
- La liste des câbles dans la description de la carte comportait des doublons (qui correspondent à des câbles formant une boucle ‒ pour la résilience ‒ ou qui ont plusieurs embranchements). Désormais ces doublons n'apparaissent plus dans la description de la carte ;
- La description de la carte affichait sa date de dernière mise à jour. En sus, j'affiche désormais la date de dernière modification des jeux de données que j'utilise ;
- La description de la carte affiche désormais un message informant de la manière de ré-ouvrir le panneau latéral et/ou de revenir à la liste de tous les câbles sans rafraîchir la page ;
- La description de la carte affiche désormais un lien vers les dépôts git contenant les jeux de données et un lien vers mon tutoriel pour fabriquer une copie de cette carte.
Nouveautés techniques
- En août 2021, TeleGeography a publié la nouvelle version de ses jeux de données et il y a des changements (la joie de dépendre de quelqu'un sans API entre moi et lui pour codifier / formater l'échange de données) :
- Le code couleur d'un câble est désormais préfixé par « # » comme attendu par uMap, donc je n'ai plus besoin de préfixer moi-même ;
- Avant, pour rassembler les informations concernant un câble éparpillées dans les différents fichiers du jeu de données, il fallait utiliser l'attribut « slug » d'un côté et l'attribut « id » de l'autre. Désormais, l'attribut « id » est présent dans tous les fichiers et l'attribut « slug » a été supprimé (ce qui est une bonne chose) ;
- Dans la description d'un câble dans le panneau latéral, il y a la liste des stations d'atterrissement empruntées par ce câble. Un lien sur chaque station permet de visualiser son emplacement sur la carte. Pour ce faire, je récupérais les coordonnées de la station dans le jeu de données d'un câble. Cette information n'est plus présente dans la définition d'un câble (ce qui est une bonne chose : ne pas dupliquer une information car ça complexifie la maintenance). Il faut donc joindre (au sens SQL) le fichier des stations et itérer dessus pour obtenir l'information. Cela allonge le temps de traitement d'environ 50 % ;
- La liste des câbles n'est plus triée par ordre alphabétique. Cela m'ennuie pour l'affichage de la liste des câbles dans la description de la carte. Désormais, j'effectue le tri moi-même ;
- Je conserve une copie du dépôt GitHub de TeleGeography qui contient les jeux de données sur une instance de GitLab auto-hébergée. Une synchronisation automatique a lieu tous les jours à 7 h du matin (UTC+2). Le script utilise ce dépôt par défaut ;
- Factorisation des instructions
jq
qui récupèrent les caractéristiques d'un câble ;
- Correction de la mise en forme du nom des propriétaires d'un câble : il manquait une espace entre la puce de la liste et le nom du propriétaire ;
- Meilleure indentation / mise en forme des instructions
jq
afin d'en faciliter la lecture.
Limites connues
- Le tracé des câble est interrompu dans l'océan Pacifique. uMap, le logiciel utilisé pour fabriquer la carte géographique, répète à l'infini le fond de carte mais ne permet pas de répéter les données ajoutées par l'auteur d'une carte. En tout cas, je n'ai aps trouvé comment faire ;
- Si l'on tente de rechercher un câble sous-marin dans la liste publiée dans la description de la carte (panneau latéral) avec un ctrl+f, uMap intercepte la saisie et cherche des noms de ville et de points d'intérêt dans la base de données d'OpenStreetMap… qui ne connaît bien sûr pas le nom des câbles sous-marins d'Internet. Je n'ai pas trouvé comment désactiver cela dans les paramètres de ma carte afin de redonner la main au navigateur web qui, lui, parviendrait à rechercher le nom d'un câble dans la description de la carte. ÉDIT DU 24/08/2021 : Gwenn me fait remarquer que les navigateurs proposent, par défaut, d'autres touches pour lancer une recherche : « / » pour Firefox, F3 pour Chrome, etc. FIN DE L'ÉDIT ;
- Quand on clique sur le fond de carte après avoir cliqué sur un câble ou une station d'atterrissement, le panneau latéral se ferme. De même, après avoir consulté les caractéristiques d'un câble, on aimerait revenir à la liste des câbles. Pour ce faire, il faut cliquer sur « A propos » tout en bas, tout à droite, en tout petit ;
- Parfois, le tracé d'un câble sous-marin se termine avant d'arriver à une station d'atterrissement. Exemple. Dans les jeux de données que j'utilise, les coordonnées géographiques de la station et du câble divergent bien. Le problème est donc aussi présent sur la carte originale mais la limite du niveau de zoom permet de le rendre invisible. Je n'ai pas trouvé comment limiter le niveau de zoom d'une carte construite avec uMap et je ne suis pas certain d'avoir envie de recourir à ce stratagème.