💾 Archived View for unbon.cafe › lejun › posts › 20231014_panoramax.gmi captured on 2024-08-18 at 17:41:30. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-02-05)
➡️ Next capture (2024-08-31)
-=-=-=-=-=-=-
Cartographe OpenStreetMap[1] depuis quelques années et désormais équipé, je contribue maintenant et dans la mesure du possible au projet Panoramax[2] sur les trajets que j'effectue. Porté par l'antenne française du projet, Panoramax est un outil ouvert d'hébergement de photos (à la manière de StreetView ou Mapillary) disponible depuis juin 2023 (Et déjà plus de 10 millions d'images recueillies en l'espace de quelques mois).
Comme sûrement d'autres, j'ai (malgré pas mal de temps) rarement l'envie de me déplacer sur le terrain, et préfère travailler sur les données depuis mon logement. Cela a un désavantage majeur, être déconnecté du terrain, et n'avoir comme information que ce qui m'est accessible.
Au cours de la phase de lancement, il a été estimé qu'un tel outil permettrait d'économiser jusqu'à 25000 déplacements sur une année pour Orléans Métropole.
L'imagerie aérienne m'est quasiment indispensable pour ce qui est de l'emprise et la position des éléments. Pour du reste, des détails sur la géométrie, une vue directe de l'élément est souvent nécessaire — Impossible pour moi d'estimer les dimensions d'un élément à partir d'une image sans échelle. Cependant, si l'image comporte assez d'éléments alors il devient plus facile d'estimer les dimensions en relations avec les autres, voire de trianguler des positions.
L'idée n'est pas de constituer ma propre base d'images en local. Ça prendrait beaucoup de place sur mon disque, pour une utilité assez limitée puisque j'ai tendance à être exhaustif et ponctionner les informations. Autant que possible. Ce qui n'empêchera pas une autre personne d'y voir ses propres éléments d'intérêt. Ces informations ont besoin d'être partagées, et pour ça nécessitent une plateforme d'hébergement facilement accessible.
Outre StreetView (dont les droits sont détenus par Google), la solution principale était Mapillary. Du moins jusqu'à son rachat en 2020 par Facebook, devenue Meta. Les trois années qui suivirent fûrent particulièrement délicates puisque devant choisir entre utiliser une plateforme aux libertés instables, et le manque d'informations. C'est aujourd'hui chose corrigée puisque l'antenne française d'OpenStreetMap a porté et développe le service Panoramax !
Panoramax est un projet commun. Non limité à une partie logicielle permettant d'héberger et consulter des photos, Panoramax définit une plateforme commune pour l'échange de données au sein de la communauté, le tout sous licence ouverte. Et, bien qu'encore non déployé, il est prévu d'en faire un outil fédéré pour connecter les instances aujourd'hui auto-hébergées[3][4]. Le projet tourne autour de plusieurs briques :
Tout comme OpenStreetMap, le projet se veut indépendant à la réutilisation. Les possibilités sont infinies, de la localisation des panneaux (algorithme en développement), sentiers, caissons de rue, fossés, végétation, tourisme…
Pour contribuer pas besoin de beaucoup de matériel, il suffit d'avoir des photos géolocalisées d'une manière ou d'une autre. Faute de matériel vidéo type action-cam, un simple téléphone et ses applications suffisent. Si nécessaire, l'association OpenStreetMap-France propose des kits GoProMax à la location[5].
L'usage est rudimentaire au possible, et j'ai testé différentes méthodes « sans matériel » :
Les images ont transité par Panoramax pour tester le téléversement, mais je compte les supprimer pour ne pas encombrer les serveurs.
Je me suis dans un premier temps résolu à acheter un support dédié. Celui-ci se présente sous la forme d'une pince où insérer l'appareil, sur un point de pivot, le tout attaché sur une sorte de brassard. Je l'utilise avec mes sacs contenant mes affaires au quotidien[6]. Le pivot étant à friction via une vis, je laisse délibérément celle-ci desserrée de sorte à ce que le poids du téléphone suffise à le garder relativement à l'horizontale (relativement, la position du pivot implique un léger décalage). Attention à faire des tests avant l'utilisation réelle, et éviter de se retrouver avec plus d'un millier de photos inutilisables parce que montrant exclusivement le caniveau… C'est notamment le cas sur un vélo route en position vers l'avant, l'angle de pivot peut ne plus suffire. J'ai retenu la leçon et positionne l'appareil au niveau de l'épaule en roulant, et vers l'aisselle en marchant.
Pris au jeu, je ferai l'acquisition d'une GoProMax courant 2024, aidé ou non. L'idée étant de fournir un travail que je ferais de toute manière, alors j'ai pour idée d'être ouvert à compensations libres. Une fois le coût d'achat du matériel couvert, alors je léguerai celui-ci à l'association OSM-France ou OSM-Bourgogne-Franche-Comté pour contribuer à l'alimentation du réseau (Et peut-être refaire un investissement de mon côté).
Les deux logiciels que j'utilise sur portable sont OpenCamera et OsmAnd.
Pour rappel, l'objectif — est au dos du téléphone — est d'obtenir des photos géolocalisées, ce que propose nativement OpenCamera… Plus ou moins bien. Un problème rapporté en 2019[7] et encore présent aujourd'hui, semble tronquer (ou arrondir, qui sait ?) les coordonnées enregistrées de telle manière qu'une série d'image se retrouve distribuée selon une sorte de grille avec un pas d'une dizaine de mètres. Reste que l'application permet sans soucis de prendre des photos en rafale avec une fréquence maximale de 2 photos par seconde. Là encore tout n'est pas rose, cette fois parce que Google empêche depuis Android 8 l'activité des appareils l'écran éteint, ce qui a été rapporté dans les tickets de l'application[8]. Durant l'activité, mon téléphone, écran allumé, prend une photo — horodatée, c'est important pour la suite — toutes les 3 secondes.
OsmAnd est l'application de carte que j'utilise par défaut en déplacement. Faute de photos géolocalisées, elle me sert ici à produire une trace GPX sur laquelle positionner les images à l'aide de l'horodatage. Rien de spécial ici, j'utilise une fréquence d'un enregistrement toutes les 3 secondes également, comme compromis entre précision et batterie.
Une fois l'acquisition faite, tout est transféré sur PC où j'effectue le traitement avant téléversement. Pour un lot limité d'images (moins de 1 Go) le plus pratique que j'ai trouvé est d'utiliser la fonction FTP de Material Files[9] plutôt que de brancher via un câble, ou de manipuler la carte SD. Attention, le protocole FTP repose sur du TCP. Il est peu adapté au transfert d'un nombre important de fichiers ; Pour accélérer le processus je compresse les images dans une archive unique avant transfert. Pour des quantités plus importantes alors l'utilisation d'un câble reste encore le plus rapide et efficace.
La première étape de traitement consiste pour moi à trier manuellement les images de sorte à supprimer celles floues ou sans intérêt (L'arrière d'un véhicule au feu rouge c'est pas des plus passionnant) — Et celles trop proches de chez moi à mon goût, vie privée oblige. Pas besoin de beaucoup plus de détails ici, j'utilise ma visionneuse d'images usuelles qu'est `imv`, où j'ai défini un raccourci pour déplacer l'image dans la corbeille (pas de `rm`, je me connais avec mes deux mains gauches).
La seconde étape est de simplement tout lancer sur JOSM et laisser la magie opérer. Tout est automatisé à l'aide de l'extension Photo Geotagging qui propose d'apparier des photos sur une trace GPX via horodatage, avec si nécessaire un décalage temporel, et également d'ajouter une donnée EXIF sur l'orientation des photos au cas où l'appareil n'aurait pas cette fonction. Une fois l'appariemment réalisé, ne pas oublier d'écrire ces données sur les fichiers (via le menu contextuel de la couche). Peut-être anecdotique, j'ai désormais complètement désactivé la géolocalisation via OpenCamera, ce qui semblait générer des difficultés d'appariemment. J'en profite également à cette étape d'utiliser l'extension EditGPX pour tronquer la trace GPX pour ne pas être trop proche de mon domicile.
Ne reste plus qu'à téléverser l'ensemble (Le GPX peut être envoyé sur OpenStreetMap, quitte à exister autant partager). Panoramax propose une interface navigateur pour cela, mais je préfère ne pas avoir à me rendre sur le site, et directement le faire via l'outil en ligne de commande[10] — En Python, beurk. C'est aussi simple que de taper `geovisio upload --api-url https://panoramax.openstreetmap.fr/ NomDeDossier`. À noter que le nom de dossier sera le nom donné à la série d'images, pour s'y retrouver ne pas se limiter à « Panoramax » comme j'ai pu le faire, mais utiliser un nom plus explicite comme la date, et un peu de contexte comme les points de départ et arrivée.
[3] Du besoin d'auto hébergement, LeJun 2022
[7] #641 GPS tag precision, mark-h 2019
[8] Record With Screen Off, mark-h 2019