Bonjour, Depuis quelques temps je developpe un logiciel d analyse de diff OSM. Une des applications qui m a paru interessante etait de suivre les modifications effectuees par d autres contributeurs sur des objets que j ai cree ou modifie. J ai un prototype qui commence a marcher, il n est pas termine et reste assez basic pour le moment mais je me suis dit que cela pourrait peut etre interesser d autres personnes. Je le mets donc a disposition en esperant que certains le testeront et me donneront leur avis.
Vous devriez trouver en piece jointe de ce mail un exemple de rapport genere par l outil. Il s agit d un fichier HTML indiquant quels objets ont ete modifies et donnant des details sur les modifications effectues ( changeset,user): Node : ajout/suppresion/modifications de tags, deplacement, suppression Way : ajout/suppresion/modifications de tags, ajout/suppression de node Relation : ajout/suppresion/modifications de tags, ajout/suppression de membre, changement de role d un membre Chaque objet OSM est accessible via les liens HTML, dans le cas d une suppression le lien pointe sur la dernier version avant suppression. Un parametre permet d indiquer le nom de l utilisateur dont on veut suivre les objets. A chaque fois que l utilisateur cree ou modifie un objet celui sera marque comme "a surveiller" et stocke en cache. ( il est aussi possible d ajouter arbitrairement des objets a surveiller en editant la base de donnee de l outil ) Dans le cas d un way tous les nodes qui le composent sont marques, c est aussi le cas pour les relations ( cela sera certainement parametrable dans le futur ) A chaque fois qu un objet marque "a surveiller" est modifie l outil va comparer la nouvelle version avec la precedente ( si celle-ci n est pas en cache elle sera telechargee) et generer le rapport indiquant les differences qu il est capable de detecter Un fichier de conf XML permet de parametrer l outil ( un exemple est fourni dans le package). library indique l emplacement de la librairie de suivi des objets analyzer permet de creer un instance du module de suivi d objet. son parametre user_name est utilise pour decider des objets a mettre sous suivi les parametres proxy_authentication permettent de se connecter derriere un proxy start_policy et start_sequence_number sont utilises pour analyser les diffs de l exemple. Il est possible de configurer l outil pour qu il reparte de la derniere diff analysee en configurant start_policy a stored iteration_number indique a l outil de s arreter apres l analyse de deux minutes-diff. Si l on ne precise pas de valeur l outil continuera son execution jusqu a ce qu il recoive un signal Control+C auquel cas il s arretera apres avoir fini l analyse en cours et stocke son numero de sequence Pour l instant je n ai fais les tests que sous Linux. A part la gestion du signal Control+C il s agit de C++ standard donc cela peut peut etre marcher sous MinGW sur Windows Pour que la compilation fonctionne il faut avoir installe les libs suivantes : perl sqlite3 expat curl zlib Le package est telechargeable ici : http://thevenon.julien.free.fr/osm_object_watcher/object_watch.tar.gz Il contient deux repertoires et un README: repository qui contient le code source de l outil data qui contient les fichiers de confs et donnees necessaires pour l executer et obtenir le rapport d exemple qui se trouve en piece jointe de ce mail Le README indique la procedure a suivre pour compiler l outil Au niveau des ameliorations a apporter voici quelques idees en vrac des amelioriations que je compte apporter: + ajout d alerte quand on modifie un way contenant un node a surveiller ( idem pour les relations et leur membres) + parametrer si l on souhaite marquer un way avec ses nodes ou pas ( idem pour les relations ) + ajouter des objets a surveiller a partir d un fichier OSM + choisir si un objet continue a etre surveille apres modifications ou pas + ajouter une interface graphique a l outil Si vous avez des questions ou suggestions n hesitez pas, mon framework est concu pour etre modulaire,le suivi d objets n est qu un des modules sur lesquels je developpe JulienTitle: Geogast object report
Geogast object report
node 274262518 has been modified by user wheelmap_visitor in changeset 13720658- Tag "wheelchair" with value "no" has been added
node 293791437 has been modified by user AmiFritz in changeset 13722049
- Coordinates has changed from (48.0880089,7.4123621) to (48.0880013,7.4123702)
node 1860363981 has been deleted by user Blekota in changeset 13723005
way 26784109 has been modified by user AmiFritz in changeset 13722049
- Node 1993724157 has been added to Way 26784109
way 26784110 has been modified by user AmiFritz in changeset 13722049
- Tag "source" with value "Bing" has been added
- Node 1993724166 has been added to Way 26784110
- Node 1993724164 has been added to Way 26784110
- Node 1993724161 has been added to Way 26784110
- Node 1993724160 has been added to Way 26784110
- Node 1993724163 has been added to Way 26784110
- Node 1993724165 has been added to Way 26784110
- Node 1993724167 has been added to Way 26784110
way 187869924 has been modified by user Blekota in changeset 13723005
- Node 1993724134 has been added to Way 187869924
- Node 1993724124 has been added to Way 187869924
- Node 1866866356 has been removed from Way 187869924
- Node 1860363953 has been removed from Way 187869924
relation 337767 has been modified by user Fred_OSM in changeset 13723019
- way 188751380 has been added with role "inner"
- way 188751381 has been added with role "inner"
relation 1923087 has been modified by user poppei82 in changeset 13723009
- way 188751400 has been added with role "inner"
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr