open street maps base de données

Quelle est la base de données d’OpenStreetMap ?

À la différence de Google Maps qui ne donne pas beaucoup de détails sur son fonctionnement, le site Openstreetmap.org joue la transparence et communique aussi bien sur leurs processus de gouvernance que sur leurs outils techniques.

OpenStreetMap, c’est le Google Maps en version OpenSource. L’objectif est de constituer une base de données géographiques de notre planète en version libre. Le projet date de 2004 et est mis à jour quotidiennement par des bénévoles du monde entier (plus de 10 millions de participants). Les cartes sont utilisables gratuitement et la fondation qui pilote le projet recueille des données des 4 coins de la planète. Comme le modèle est collaboratif, on retrouve les mêmes problèmes qu’avec Wikipédia avec des actes de vandalisme ou des actions coordonnées (dans le cadre de conflits territoriaux) auxquels répond une modération par l’ensemble de la communauté.

En frontal, l’outil dispose d’outils d’édition de carte et de rendu ainsi qu’une API qui permet d’accéder aux données.

Les différentes couches de données, qui caractérisent les SIG, sont organisés dans une base PostgreSQL. Jusqu’en 2009, c’était MySQL qui était utilisé. D’autres bases de données pour des fonctions annexes existent.

Le schéma de la base est accessible, de même que les scripts SQL et les données. Les données s’organisent autour de différents groupes de tables :

  • Les Nodes et les Ways : ce sont les tables qui stockent les points d’intérêts géographiques et les chemins les reliant. Ces données sont présentes en version courante (la version actuelle – les tables préfixées par current_) et en version archivées ;
  • Les données GPS
  • Les modifications
  • Les utilisateurs, leurs actions et interactions, leurs droits et la sécurité

Le volume de données est considérable. Par exemple, la table Node courante contient 332Go de données et l’index de la clé primaire de cette base dépasse les 200Go. Pour accéder aux données, les cartes sont découpées en rectangles afin de récupérer plus facilement les données adjacentes à une adresse. La surveillance des serveurs est réalisée par Prometheus (anciennement Munin). L’outil Chef est utilisé pour coordonner et harmoniser les rôles des différents serveurs.