OsmUserStats : générateur de statistiques pour l'utilisateur
Posted by Stéphane Péchard on 30 November 2009 in French (Français).Bonjour,
Dans son message précédent ( osm.org/user/le%20sanglier/diary/8765 ), le sanglier parlait du script 'osm_users_stats' dont Gilles Lamiral nous donnait les résultats sur la mailing-liste en septembre dernier. Bien qu'intéressants, les résultats obtenus restent inter-utilisateurs, et je n'ai pas trouvé d'outils s'intéressant au niveau intra-utilisateur. Vous allez me dire que le travail individuel ne compte pas devant l'accomplissement de la fourmilière :-) Néanmoins, j'avais envie de savoir quelle avait été mon activité ces derniers temps, sans avoir à parcourir les (longues) pages edits/ du site. Bien sûr, il existe la page osm.org/stats/data_stats.html mais elle ne recense que les plus grands contributeurs en terme de nombre de node et fournit des résultats bruts uniquement.
C'est là qu'intervient OsmUserStats (notez le 's' en moins). J'ai écrit ce script pour combler mon manque de statistiques (et accessoirement d'activitié salariée). Contrairement à 'osm_user_stats', il ne descend pas au niveau nodes/ways/relations, mais s'arrête aux changesets (groupe de modification). Il se compose simplement d'un fichier Python qui, à partir du nom de l'utilisateur, génère une page html contenant les informations suivantes :
- nombre de changesets effectués, dates du premier et du dernier ;
- nombre de changesets effectués par jour depuis l'inscription de l'utilisateur ;
- nombre de changesets effectués par jour de la semaine ;
- nombre de changesets effectués par heure ;
- nombre de changesets effectués par logiciel utilisé ;
Il est aussi capable de générer une carte OSM indiquant où se situe chacun des changesets effectué, et plaçant un point au barycentre de ces points. Bien sûr, le placement est approximatif étant donné qu'un changeset est caractérisé par un rectangle dans lequel sont réalisées toutes les modifications. Le point retenu pour l'affichage est le centre du rectangle. Cette carte pouvant facilement contenir beaucoup de points et ralentir les navigateurs, elle n'est pas générée par défaut.
À titre d'exemple, j'ai généré trois pages :
- la mienne (avec la carte) : http://spechard.dgplug.org/OsmUserStats/St%C3%A9phane%20P%C3%A9chard/
- celle d'un contributeur (pris au hasard...) : http://spechard.dgplug.org/OsmUserStats/Pieren/
- celle d'un robot américain (le plus gros contributeur ces temps-ci) : http://spechard.dgplug.org/OsmUserStats/woodpeck_fixbot/
Bien sûr, attendez-vous à des bugs. N'hésitez pas à me les signaler. Vous aurez besoin de python et de matplotlib pour faire tourner l'engin. Si vous n'y arrivez pas, demandez-moi, je pourrais vous le faire. Enfin, toute remarque est la bienvenue, que ce soit pour me dire que ça existe déjà (ouch!) ou pour me demander d'élargir la gamme de statistiques générées (miam!). Plus d'infos et le script sont ici : http://spechard.dgplug.org/OsmUserStats/
Stéphane
Discussion
Comment from Pieren on 30 November 2009 at 15:37
Salut Stéphane,
merci de me donner en exemple comme ça je n'ai pas besoin de lancer le script moi-même ;-)
Plusieurs remarques:
si mes changesets explosent à partir de avril/mai, c'est parce que OSM n'avait pas de changeset avant cette date (c'est l'époque où l'API est passée en version 0.6). Lorsque la base de donnée a migré vers la nouvelle API, les anciennes contributions ont été intégrées à des changesets "virtuels" automatiquement et qui n'ont aucune valeur statistique puisqu'ils n'existaient pas;
- le robot woodpeck_fixbot tourne effectivement sur les données aux USA mais il s'exécute depuis l'Allemagne puisque son auteur est allemand (Frederik Ramm).
- il faudrait que tu t'inscrives sur la mailing-list francophone (osm-talk-fr) pour informer d'avantage de monde que sur ce "diary"
Bon mapping,
Pieren
Comment from Pieren on 30 November 2009 at 15:42
Oops, je viens de voir le message sur la liste ;-)
Comment from Stéphane Péchard on 30 November 2009 at 15:50
Je sais que les changesets ne sont apparus qu'avec la 0.6, mais j'ai préféré laisser ce qu'il apparait dans l'api pour les versions ultérieures. Tu penses que je devrais commencer les stats qu'à partir d'avril/mai ? (plus qu'à trouver la date précise)
Et sinon, je ne sais pas s'il y a plus de gens inscrits à la mailing-list ou de gens à lire ce journal, donc j'ai fait doublon avec lien jusqu'ici. Ça donnera un peu d'activité au journal français :-)