Panoramax sur data.gouv.fr

Les données Panoramax sont désormais sur data.gouv.fr

Afin de faciliter les réutilisations, toutes les données de la fédération Panoramax peuvent maintenant être téléchargées dans deux formats différents :
:white_check_mark: Un export brut de la base de données Postgres;
:white_check_mark: Un fichier Parquet.

:red_exclamation_mark:Avec pratiquement :glowing_star: 80 millions :glowing_star: de photos sur Panoramax, les fichiers exportés sont assez volumineux (~20 Go).

Ces exports sont réalisés toutes les semaines pour le moment.

Export brut de la base de données Postgres

C’est un fichier généré via l’outil pg_dump. Il permet de charger les données dans une base de données Postgres facilement (la commande est détaillée dans la doc) et de profiter de toutes les fonctionnalités de Postgres/Postgis.

:red_exclamation_mark:Il est à noter que l’import des données peut prendre plusieurs heures et prévoyez un peu de place pour la base de données, la taille à date est de plus de 300 Go (et ca ne va faire qu’augmenter :tada: ).

Export GeoParquet

Un fichier Geoparquet est aussi à disposition.

Apache Parquet est un format de données puissant, orienté colonnes, conçu comme une alternative moderne aux fichiers CSV et Geoparquet lui rajoute des types géospatiaux (Point, Ligne, Polygone).

Vous pouvez consulter la documentation (en anglais pour le moment) pour avoir la description des données à disposition.

Le fichier Parquet peut êtré téléchargé pour une utilisation en local, mais il peut aussi être interrogé à distance, pour ne récupérer que les bouts intéressants et ne pas télécharger les 20G de données.

:building_construction: le format encore en version bêta.

Le format de fichier est encore en développement et doit être considéré comme étant en version bêta.
Si vous avez besoin de davantage de données ou si vous pensez que le format devrait être différent, n’hésitez pas à nous le dire.

Il n’y a notamment pas pour le moment les données exif des photos, car ça alourdirait trop l’export.

Utilisation

Parquet est un format très puissant, mais un peu plus compliqué à utiliser qu’un fichier CSV.

Pour vous aider, on a fait un tutoriel sur l’utilisation du fichier avec l’excellent outil duckdb.

DuckDB n’est pas du tout le seul outil qui permet de lire des fichiers parquet, mais c’est un outil qui permet de lire pleins de formats de fichier comme si c’était du SQL. C’est utilisé par plein d’autres outils, il y a par exemple des plugins QGIS qui l’utilisent.

Avec ce tutoriel, vous apprendrez comment :

  • récupérer des données sur une zone géographique (avec une bounding box ou un contour administratif précis) ;
  • récupérer toutes les données d’un utilisateur ou d’une utilisatrice ;
  • faire des stats sur les tags sémantiques utilisés,
  • convertir les données en CSV/GeoJSON, …

Démo avec Kepler

KeplerGL est un outil en ligne pour faire des cartes, qui utilise entre autre duckdb. Voici une mini démo pour afficher les données sur Paris. Ce qui se passe dans Kepler est fait uniquement dans le navigateur, les données ne sont pas envoyées sur un serveur.

En cliquant sur ce lien, vous allez ouvrir Kepler avec une requete Duckdb préremplie qui filtre les données sur une enveloppe géographique autour de Paris.

Vous pouvez cliquer sur la flèche verte pour lancer la requête.

:hot_beverage: Soyez patient, duckdb récupère les données qu’il faut dans le fichier (mais ne lit pas les 20G du fichier, il peut en sauter des gros bouts, vu que les photos sont rangées par proximité géographique). Sur mon ordinateur, avec une connexion en 4G, la requête prend ~4mn et ~500M sont transférés.

Une fois la requête terminée, vous pouvez l’ajouter à la carte

Puis centrer la carte sur les données.

Et tada :sparkles:

Vous pouvez ensuite jouer avec les styles si vous en avez envie :nail_polish: , refiltrer les données, ou rajouter d’autres données…

Conclusion

On est preneurs de vos retours, et nous avons hâte de voir les nouveaux usages qui vont émerger grâce à ces exports :dizzy:.

4 Likes

bonjour

j’avais vu ça dans la newsletter et j’ai testé hier :smiling_face_with_three_hearts: MERCI
Vu que mes tests pour utiliser l’API (via FME) n’avaient pas été concluants (peut-être que c’est moi qui m’y prends mal), j’avais hâte de pouvoir enfin accéder aux données. C’est vraiment chouette de proposer ces exports.

J’ai testé le format parquet avec DuckDB :duck:.
Je ne connaissais ni Parquet, ni DuckDB. Je pensais pouvoir utiliser mon BDeaver community mais apparemment il faut la version payante pour le format Parquet.
Donc j’ai suivi votre doc, téléchargé DuckDB, ajusté la BBOX pour avoir Bayonne à la place de Paris. J’ai récupéré mon bayonne.parquet sans problème.

A partir de là, j’ai donné le fichier parquet à FME et j’ai retrouvé mon environnement habituel pour faire les manips de recherche, filtrage, etc.

J’ai réussi à filtrer par transport, à rechercher les panneaux, tout fonctionne bien ! Cela ouvre plein de perspectives surtout si le fichier est actualisé régulièrement.

(après j’ai des questions, mais peut-être que ce n’est pas le bon endroit, sur la remonté des types de panneaux, sur l’ajout de tags sur les séquences déjà envoyées… je vais chercher le meilleur endroit où les poster)

1 Like

Trop bien que l’import dans FME fonctionne bien !

Si ce sont des questions génériques, ici c’est peut-être pas si mal pour donner plus de billes sur l’utilisation du fichier parquet.
Sinon tu peux ouvrir un autre poste sur le forum ?

C’est encore un peu obscur pour moi, ça se passe comment pour chercher les panneaux ? C’est via la partie sémantique associée à chaque image ?

Oui, c’est là que ces infos sur la présence de panneaux détectés est republiée, comme tags sémantiques associé aux photos.

On peut soit faire ces recherches via l’API, soit le faire dans les exports globaux qu’on publie désormais ce qui permet d’être indépendant de l’API (et de ne pas trop tirer dessus).

oui, c’est sur la partie sémantique, il y a une requête d’exemple dans la doc.
Après, il y a ~15 millions de panneaux détectés pour le moment, en fonction de l’usage, ca peut être plus pratique d’aussi filtrer sur une zone donnée (il y a aussi un exemple pour ca).

ce que je n’ai pas trouvé dans le fichier parquet, c’est l’instance d’origine de la photo.

Est-ce que cette info est présente ?

Merci pour ces données et ce tuto, c’est vraiment impressionnant ce qu’on peut faire ! J’avais découvert la puissance du format parquet avec duckdb lors du dernier Sotm-FR à Tours grâce à cette excellente présentation, je la recommande : Histoire d'amour entre un canard et du parquet - peertube.openstreetmap.fr

2 Likes

oups non, je pensais que c’était dans les liens, je corrige ca pour le prochain export

Un autre truc à corriger, c’est d’avoir systématiquement des liens complets plutôt que parfois des liens relatifs.

Dans l’export de cette semaine, il y a l’instance associée (avec un champ name et url) et les données sont mieux rangées (la récupération des données de paris scanne maintenant 300 Mo au lieu de 500 Mo).

Un autre truc à corriger, c’est d’avoir systématiquement des liens complets plutôt que parfois des liens relatifs.

J’ai filtré des liens inutiles, mais t’as raison, j’ai oublié de les rendre absolus, ca sera pour le prochain export :+1:

3 Likes

Lorsqu’un panneau est détecté (osm|traffic_sign), l’identification probable de ce panneau est-elle disponible ?
Je recherche à rapprocher les panneaux de stop panoramax versus osm.

Je commence à essayer d’exploiter les photos extraites et la première ne comporte pas de vrai panneau de signalisation: https://panoramax.openstreetmap.fr/?pic=47520d81-18ec-45eb-ae13-c3c0abb4c59b juste des avertissements sur un poste de livraison gaz.

C’est en cours.

On a ajouté des tags sur certaines photos où des panneaux avaient été détectés ET classés (identification du type de panneau), mais sans préciser l’emplacement sur la photo car à l’époque on ne l’avait pas enregistré.

Donc pour le moment on a :

  • des photos avec les zones de détection sans classification donc juste osm|traffic_sign=yes
  • des photos avec l’info qu’un panneau est détecté avec son type, mais sans la zone dans la photo

Ce qu’on va ajouter prochainement :

  • la remontée au fil du passage par le floutage de la classification lors des détections dans les futures photos
  • l’ajout de tags sur le stock ds détections de ces derniers mois pour avoir le type de panneau détecté et pas just osm|traffic_sign=yes