OpenStreetMap est un projet lancé en 2004 qui propose aujourd'hui une grande quantité de données sur des thématiques très variées : routes, bâtiments, cours d'eau, commerces, équipements publics, bornes incendies, numéros d'adresse, etc. Toutes ces données sont stockées dans un format spécifique qui permet aux contributeurs de participer à la création des données sans avoir à maîtriser les concepts du monde de la géomatique. Voyons un peu le fonctionnement de ce système et comment cela permet à des contributeurs du monde entier avec des compétences très diverses de construire une base de données géographique aussi complète.
Dans OpenStreetMap, la notion de couches thématiques n'existe pas et les informations attributaires ne sont pas décrites par des champs pré-définis mais grâce à un système de balises totalement ouvert. L'avantage est double : cela permet au plus grand nombre de contribuer très facilement et de ne pas limiter les possibilités de description des objets. C'est ce qui fait que les thématiques couvertes par les données OSM soient aussi diversifiées : chacun peut contribuer comme il le souhaite en fonction de ses propres centres d'intérêt.
Pour garder une base de données cohérente qui ne sombre pas dans l'anarchie, il faut bien entendu que les contributeurs se mettent d'accord sur la bonne façon de décrire les mêmes objets. Pour cela, le projet propose un wiki collaboratif sur lequel sont référencées les balises à utiliser pour décrire tel ou tel objet. L'originalité c'est que ce sont les contributeurs eux-mêmes qui participent à ce wiki et donc font le choix ensemble de ces balises descriptives. Bien évidemment, sur les objets les plus courants le choix a déjà été déterminé depuis longtemps. Mais il peut arriver que certains objets portent à discussion quand à la bonne manière de les décrire. Par exemple, certaines communautés nationales peuvent avoir fait des choix différents sur des objets proches. Dans ce cas, un système de vote est mis en place sur le wiki pour choisir une méthode de description plutôt qu'une autre. Une fois un choix entériné par la communauté, les valeurs peuvent ensuite être harmonisées de façon automatique dans la base. L'avantage du système c'est que si on est amené à décrire un objet original qui n'a pas déjà été décrit précédemment, cela reste toujours possible puisque l'on peut ajouter librement les balises que l'on souhaite. L'harmonisation entre les pratiques pourra être décidée plus tard quand cet objet aura été décrit de façon plus fréquente.
Prenons un exemple : il s'agit d'ajouter et de décrire une route dans la base de données. Pour cela, il conviendra de dessiner le linéaire de la route avec les outils d'édition de données. Mais intéressons nous pour le moment à la description attributaire de notre route. Les balises descriptives sont constituées par des paires clé=valeur. Pour schématiser rapidement, on dira que la clé joue le rôle d'une catégorie d'objets et la valeur un objet spécifique dans cette catégorie. Pour notre exemple, on devra décrire une route résidentielle en agglomération. Pour cela, on attribuera la balise highway=residential à notre linéaire. Pour un autre type de route, par exemple une autoroute, on aurait utilisé highway=speedway. Il convient de noter que toutes les balises stockées dans la base sont en anglais car il s'agit d'un projet mondial. Mais les outils d'édition permettent de contribuer à partir d'interfaces traduites en français donc cela ne pose pas de problème même si on a des difficultés en anglais.
Nous avons décrit le type de notre route et l'on pourrait s'en contenter mais ce serait dommage de ne pas aller plus loin. Que diriez-vous d'ajouter son nom ? Aucune difficulté puisque le système permet d'affecter autant de balises que l'on souhaite à un seul objet géographique. Toujours sur notre linéaire, ajoutons la balise name=Rue de l'Église pour nommer notre route. Nous pouvons de cette manière décrire un grand nombre d'informations concernant notre route :
Exemple de tags sur une rue dans OpenStreetMap
Concernant les voies de circulation, on pourra décrire tous les types de routes carrossables, mais également les chemins piétons, escaliers, pistes cyclables et tous les équipements routiers comme les ralentisseurs, passages piétons, feux de signalisation, panneaux stop, etc. Il n'y a réellement aucune limite avec ce système ouvert ! Cela permet d'arriver rapidement à une quantité de détails qui ferait pâlir d'envie beaucoup de bases de données géographiques payantes.
Sur le wiki, les principales balises à utiliser sont décrites en détail sur cette page. Il existe également d'autres pages spécifiques pour certaines thématiques, par exemple celle concernant les routes. De plus, les outils d'édition facilitent le travail en proposant des menus prédéfinis qui permettent de sélectionner les éléments de façon graphique sans avoir à connaître par coeur les balises. C'est réellement très simple de prendre en main la saisie des données et il n'y a vraiment pas besoin d'être un expert en géomatique. Bref, vous n'avez vraiment plus d'excuse pour ne pas commencer à contribuer !