Re: [OSM-talk-fr] Le service sur api.openstreetmap.fr s'agrandi luiaussi
Le mardi 27 mars 2012 23:22:16, sly (sylvain letuffe) a écrit : > > Mais plusieurs facteurs peuvent intervenir. Et > > même si nous cochons l'option Télécharger les membres de la relation en > > téléchargeant une méga-relaation, cela ne veut pas dire que tous les > > membres des sous-relations seront également téléchargés. > > D'après la documentation de l'api, c'est même normalement pas le cas. > Les membres d'une relation enfant ne devraient pas être renvoyés, c'est la > documentation de l'appel /full Je crois que je me suis trompé là, je parlais d'un autre menu (bouton droit sur une relation -> télécharger les membres) qui n'a pas le même effet que fichier -> télécharger un objet -> n° de relation + télécharger les membres Alors que justement on pourrait s'attendre au même résultat -- sly (sylvain letuffe) ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] Le service sur api.openstreetmap.fr s'agrandi luiaussi
Le mardi 27 mars 2012 22:41:15, Pierre Béland a écrit : > J'ai comparé le téléchargement dans JOSM à partir de l'Api officielle et le > site .fr. J'y ai aussi constaté des différences en téléchargeant la > mega-relation n°1857038. Tu pourrais m'indiquer lesquels ? > Mais plusieurs facteurs peuvent intervenir. Et > même si nous cochons l'option Télécharger les membres de la relation en > téléchargeant une méga-relaation, cela ne veut pas dire que tous les > membres des sous-relations seront également téléchargés. D'après la documentation de l'api, c'est même normalement pas le cas. Les membres d'une relation enfant ne devraient pas être renvoyés, c'est la documentation de l'appel /full : http://wiki.openstreetmap.org/wiki/API_0.6 : For a relation, it will return the following: * The relation itself * All nodes, ways, and relations that are members of the relation * Plus all nodes used by ways from the previous step * The same recursive logic is not applied to relations. This means: If relation r1 contains way w1 and relation r2, and w1 contains nodes n1 and n2, and r2 contains node n3, then a "full" request for r1 will give you r1, r2, w1, n1, and n2. Not n3. Pour l'instant l'api fr est compatible avec ça (je peux le comprendre, car sur des maxi grosses relations ça pourrait vraiment faire beaucoup) > La comparaison des deux fichiers OSM ainsi obtenus a montré un comportement > différent lors du chargement à partir des deux API. Tandis que sur le > site français, tous les chemins étaient téléchargés, sur le site > openstreetmap.org plusieurs chemins membres de sous-relations n'étaient > pas téléchargés. Pourtant rien ne devrait être oublié , ni sur l'une ou l'autre API Peut-être as-tu eu un problème à un moment du téléchargement ? (il faut dire que cette relation est vraiment énorme et les tests sont dur à faire) Mais si on regarde ce que fait JOSM (dans la console) on voit qu'il commence par : GET http://api.openstreetmap.fr/api/0.6/relations?relations=1857038 et ensuite il fait des : GET http://api.openstreetmap.fr/api/0.6/relation/1982670/full GET http://api.openstreetmap.fr/api/0.6/relation/1905320/full pour chaqu'une des relations membres, ce qui devrait, sauf s'il y a un nouveau niveau de relation, récupérer tous les ways. Si l'option "télécharger les membres" n'est pas cochée, alors l'appel ne contient pas le /full et les noeuds des ways ne sont pas récupérés, mais la liste des ways l'est (ce qui me semble d'ailleurs en contradiction avec le titre de l'option qui est donc soit mal traduite, soit mal décrite) -- sly (sylvain letuffe) ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] Le service sur api.openstreetmap.fr s'agrandi luiaussi
J'ai comparé le téléchargement dans JOSM à partir de l'Api officielle et le site .fr. J'y ai aussi constaté des différences en téléchargeant la mega-relation n°1857038. Mais plusieurs facteurs peuvent intervenir. Et même si nous cochons l'option Télécharger les membres de la relation en téléchargeant une méga-relaation, cela ne veut pas dire que tous les membres des sous-relations seront également téléchargés. C'est pourquoi, lors du téléchargement d'une méga-relation, il faut ensuite s'assurer que pour chaque sous-relation, on télécharge tous les membres. Pour ce faire, Il s'agit simplement de sélectionner dans la fenêtre Relations toutes les relations, de cliquer avec le bouton droit de la souris et de sélectionner Télécharger les membres. Moi, j'ai pu reproduire le problème. À titre d'exemple, j'ai téléchargé la mega-relation n°1857038. Dans une première instance de JOSM à partir de l'API officielle http://api.openstreetmap.org/ et dans la deuxième à partir de http://api.openstreetmap.fr/.. La comparaison des deux fichiers OSM ainsi obtenus a montré un comportement différent lors du chargement à partir des deux API. Tandis que sur le site français, tous les chemins étaient téléchargés, sur le site openstreetmap.org plusieurs chemins membres de sous-relations n'étaient pas téléchargés. Par exemple, les chemins faisant parti de la relation 2045769 n'étaient pas présents. Dans une nouvelle instance de JOSM et toujours à partir de l'Api officielle, j'ai ensuite téléchargé la relation 2045769. Cette fois-ci, tous les chemins compris dans cette relation ont été chargés. Pierre > >On dimanche 25 mars 2012, PhQ wrote: (...) > avec l'api fr > Relation : RD N°1 (1850206) seulement > et avec l'api officiel > la relation précédente ET > Relation : Routes Départementales du Puy-de-Dôme (1857038). > Ca ne serait pas une bogue de l'api fr par hasard ? Je ne parviens pas à > reproduire le comportement que tu cites avec l'api officielle. Dans JOSM, si je fais : télécharger objet, chemin, n° : 121831733 JOSM lance ces appels (visibles en console) : GET http://api.openstreetmap.org/api/0.6/ways?ways=121831733 Le chemin 121 831 733 avec 27 nœuds a des nœuds incomplets car au moins un nœud était manquant dans les données chargées. GET http://api.openstreetmap.org/api/0.6/nodes?nodes=1362890197,425187227,425187226,1506128829,1506128831,281161202,1362890420,281161203,281161201,281161204,281161205,1362890189,281161038,1362890441,541423318,281161028,281161029,281161030,281161031,281161108,281161109,1506128832,281161116,281161117,281161118,281161043,281161119 GET http://api.openstreetmap.org/api/0.6/way/121831733/relations Et je me retrouve au final avec mon way, ses noeuds et la relation donc il est membre (la 1850206) mais pas la "mega relation qui contient tout" : n°1857038 Tu peux me détailler dans JOSM les opérations que tu fais pour arriver à avoir la relation 1857038 ? >-- >sly >qui suis-je : http://sly.letuffe.org >email perso : sylvain chez letuffe un point org > >___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr