[OSM-talk-fr] Outil de suivi des objets qu on a edite
THEVENON Julien
julien_thevenon at yahoo.fr
Lun 5 Nov 19:23:11 UTC 2012
> De : Jean-Claude Repetto <jrepetto at free.fr>
> Bonsoir,
Salut Jean Claude,
> Ton outil est très intéressant.
Merci !
> Si j'ai bien compris, il analyse les fichiers "minute diff" (qui sont
> disponibles à partir du 12/9/2012), et :
En gros c est ca mais a quelques details pres.
Il y a deux parties : l executable qui est charge de recuperer et gerer les minutes diffs
les modules de sorties ( dont l outil de suivi des objets ) qui
effectuent des traitements sur les minutes diffs fournies par l exe
L executable peut etre configure de differentes facons pour lire les minutes diff:
_ Soit il part de la derniere minute diff dispo sur www.openstreetmap.org ( start_policy avec valeur current)
_ Soit il part de la derniere minute diff qu il a analyse ( start_policy avec valeur stored )
_ Soit il part d une minute diff specifiee par l utilisateur (
start_policy avec valeur user_defined , numero de minute diff defini par start_sequence_number )
> Pourquoi les "minute diff" ne sont-elles pas disponibles avant le 12/9 ?
> Est-ce lié au changement de licence ?
Les minutes diff sont recuperees par defaut sur http://planet.openstreetmap.org/replication/minute/ qui contient les minutes diffs a partir du 12/09 ( date du changement de licence ).
Avec l option de configuration replication_domain tu peux indiquer une autre URL de ton choix:
_ par exemple http://planet.openstreetmap.org/replication/minute/ pour utiliser les minutes diff francaises.
_ Si tu veux utiliser les minutes diff de la periode de redaction il faut utiliser http://planet.openstreetmap.org/redaction-period/minute-replicate/
_ Pour la periode avant redaction il faut utiliser http://planet.openstreetmap.org/cc-by-sa/minute-replicate/
Pour l instant l outil n est pas capable de passer automatiquement de l un a l autre sur les minutes diffs de transition mais je pense le rajouter.
> - repère dans ces fichiers tous les objets créés ou modifiés par un
> utilisateur
> - les stocke dans une base de données
> - recherche dans les mêmes fichiers les modifications concernant les
> objets stockés dans la base de données, et les écrit dans un fichier log
> au format HTML.
L outil de suivi surveille tous les objets dont l ID se trouve dans sa base donnee.
Il insere effectivement dans sa base de donnee tous les IDs des obets crees et modifies par l utilisateur donne en parametre
Lorsqu il detecte une action sur ces objets il recupere la version precedente ( dans le cache local si elle existe sinon sur le site d OSM ) et genere
un diff HTML simplifie detaillant seulement la modification effectuees ( l interet se voit surtout sur les gros objets : ways avec beaucoup de nodes, grosses relations )
> C'est déjà très utile pour surveiller les objets qu'on a ajoutés
> récemment, mais pas les plus anciens.
Pour les objets plus anciens la solution est de rajouter leur ID dans la base de donnee.
Je suis en train de preparer une option pour rajouter les IDs a partir d un fichier OSM ( genere par une requete Overpass API par exemple ) sinon pour l instant c est possible directement par une commande SQL ( il ne faut pas le faire si l outil d analyse de diff est en train de s executer !! ):
sqlite3 user_object.sqlite3
INSERT INTO node_ids (Id) VALUES (123);
INSERT INTO way_ids (Id) VALUES (123);
INSERT INTO relation_ids (Id) VALUES (123);
Globalement l outil est capable de suivre les modifs de n importe quel objet. Il ne faut que quelques minutes pour faire un module qui ne tiendrait pas compte de l utilisateur et se focaliserait uniquement sur les objets
Si mes explications ne sont pas claires dis le moi je reformulerai
Julien
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20121105/5217d6a7/attachment.htm>
Plus d'informations sur la liste de diffusion Talk-fr