[OSM-talk-fr] Récupérer tous les changements effectués sur une période ?
Philippe Verdy
verdyp at gmail.com
Dim 1 Mar 05:20:27 UTC 2020
Si aucune instance Overpass n'a une telle extension et ne supporte les
historiques, peut-être qu'il y a une API utilisable sur "OSMcha"
(destiné à l'analyse des diffs) qui produirait une telle liste
d'objets (type/id/version) à partir d'une requête cherchant les
changesets dans une zone géographique donnée (OSMcha fonctionne par
zone "quad", comme on le voit en zoomant/dézoomant sur sa carte).
Le dim. 1 mars 2020 à 06:13, Philippe Verdy <verdyp at gmail.com> a écrit :
>
> Note cepêndant que pour que cela fonctionne dans Overpass, il faut une
> instance Overpass disposant de l'historique des objets (et la plupart
> ne l'ont pas, elles n'ont que la dernière version chargée dans leur
> base locale, par laquelle les objets de jeu d'entrée ont une propriété
> "changeset()" retournant un id de changeset.
> Bref on revient à l'API de base.
> Ce qu'il faudrait en fait c'est une instance supportant la syntaxe:
> node(changeset: cid1, cid2, cid3...) ou
> way(changeset: cid1, cid2, cid3...) ou
> relation(changeset: cid1, cid2, cid3...) ou
> area(changeset: id1, id2, id3...) ou
> nwr(changeset: id1, id2,i d3...)
> de même qu'on a pour les autres pseudo-attributs de métadonnées
> (applicables à leur dernière version):
> node(id: nid1, nid2, nid3...) ou
> way(id: wid1, wid2, wid3...) ou
> relation(id: rid1, rid2, rid3...) ou
> area(id: aid1, aid2, aid3...) ou
> nwr(id: oid1, oid2, oid3...)
> et aussi:
> node(uid: uid1, uid2, uid3...) ou
> way(uid: uid1, uid2, uid3...) ou
> relation(uid: uid1, uid2, uid3...) ou
> area(uid: uid1, uid2, uid3...) ou
> nwr(uid: uid1, uid2, uid3...)
> et aussi:
> node(user: user1, user2, user3...) ou
> way(user: user1, user2, user3...) ou
> relation(user: user1, user2, user3...) ou
> area(user: user1, user2, user3...) ou
> nwr(user: user1, user2, user3...) ou
> et aussi:
> node(version: v1, v2, v3...) ou
> way(version: v1, v2, v3...) ou
> relation(version: v1, v2, v3...) ou
> area(version: v1, v2, v3...) ou
> nwr(version: v1, v2, v3...)
> et aussi:
> node(date: v1, v2, v3...) ou
> way(date: v1, v2, v3...) ou
> relation(date: v1, v2, v3...) ou
> area(date: v1, v2, v3...) ou
> nwr(date: v1, v2, v3...) ou
> En pratique il faudra plusieurs requêtes "download" à l'API de base
> pour l'instant pour savoir ce que contient un changeset.
>
> Le dim. 1 mars 2020 à 05:50, Philippe Verdy <verdyp at gmail.com> a écrit :
> >
> > il me semble que les éléments ont tous un pseudo-attribut (pseudo-tag)
> > "::changeset" utilisable dans une requête overpass:
> > node[::changeset=nnn]
> > Toutefois ce serait plus simple avec une récursion en aval (avec ">"
> > sur un objet ou une collection d'objets de type changeset), même si
> > pour cela Overpass doit faire des requêtes multiples à l'API OSM, une
> > par changeset;
> > Je pense que ça peut être lent s'il y a de nombreux changesets et que
> > ceux-ci peuvent inclure de nombreux objets (node, way, relation)
> > créés/modifiés/supprimés.
> > Je n'ai jamasi eu à chercher sur plus d'un changeset à la fois, donc
> > c'était facile d'énumérer ses objets sans Overpass, simplement avec
> > l'API OSM de base "/changeset/(numéro)/download"
> > Une autre récursion possible serait d'avoir la version précédente ou
> > suivante de l'objet, ou la version de l'objet applicable à une date
> > donnée (éventuellement vide si l'objet n'existait pas encore ou avait
> > été supprimé et pas restauré à cette date), mais là je ne vois pas
> > comment faire avec Overpass ou l'API de base.
> >
> > Le sam. 29 févr. 2020 à 21:07, Shohreh <codecomplete at free.fr> a écrit :
> > >
> > > Philippe Verdy wrote
> > > > Tu peux aussi utiliser Overpass API pour combiner les requêtes imbriquées.
> > >
> > > Ça m'intéresse. Un exemple ?
> > >
> > >
> > >
> > > --
> > > Sent from: http://gis.19327.n8.nabble.com/France-f5380434.html
> > >
> > > _______________________________________________
> > > Talk-fr mailing list
> > > Talk-fr at openstreetmap.org
> > > https://lists.openstreetmap.org/listinfo/talk-fr
Plus d'informations sur la liste de diffusion Talk-fr