<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="transparent" text="#000000">
    <p>Certains t'expliquent que si tu vois des majuscules, c'est qu'il
      faut que tu changes de lunettes.<br>
      Certains t'expliquent que si tu veux trier, c'est que tu te
      trompes.</p>
    <p>C'est dommage car leurs raisons, souvent bonnes, sont parasitées
      par la volonté d'avoir raison quitte à falsifier la réalité pour
      retomber sur leurs pieds.<br>
    </p>
    <p>Je préfère t'expliquer comment obtenir un résultat, pas forcément
      correspondant à tes besoins mais t'aidant à répondre à ton besoin.</p>
    <p>Je vois que tu a mis :</p>
    <p><tt>out meta asc;</tt><tt><br>
      </tt><tt>>;out meta qt;</tt></p>
    <p>Donc tu tries les objets highway dans l'ordre des ID puis les
      descendants par quadtile.</p>
    <p>C'est sans doute ton problème. Il vaut mieux sortir les nœuds,
      puis les chemins puis les relations.</p>
    <p>Certes comme dit Philippe, ce n'est pas forcément encore bon,
      pour les relations mais par exemple tu pourras ajouter des filtres
      pour sortir les associatedStreet avant ou après si ce n'est pas
      exactement ce que tu cherches.</p>
    <p>Comme dit pas Philippe, moins tu mets de contraintes côté
      serveur, mieux c'est.<br>
      Par exemple :<br>
    </p>
    <p><tt>out meta;</tt></p>
    <p>(tri par défaut par id croissant)<br>
    </p>
    <p>plutôt que :<br>
    </p>
    <p><tt>out meta qt;</tt><br>
      (tri géographique par quadtile).</p>
    <p>Si l'emprise est raisonnable, ça va bien côté client.<br>
    </p>
    <p>Ne récupères que ce qui te sera utile, ici tu récupères 40 Mo de
      données.</p>
    <p>Tu peux regrouper les objet par type pour éviter les doublons.</p>
    <p>Je ne sais ce qui est moins coûteux : l'opérateur union () ou le
      renvoi de trop de données.</p>
    <p>Avec la requête brute j'obtiens 40 Mo (pas d'union, out meta
      après chaque instruction (lignes 13, 15, 17, 23 et 26)), avec
      l'union 30 Mo.</p>
    <p>Peut-être que seuls certains nœuds t'intéressent.<br>
      Il est possible aussi que <a
href="http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example#QA_on_Streets.2C_Addresses_and_House_Numbers">Overpass_API_by_Example#QA_on_Streets.2C_Addresses_and_House_Numbers</a></p>
    <p>soit proche de ton bonheur !<br>
    </p>
    <p><a href="http://overpass-turbo.eu/s/gXi">http://overpass-turbo.eu/s/gXi</a><br>
    </p>
    <p><tt>[out:json][timeout:65];</tt><tt><br>
      </tt><tt>// zone réduite pour les tests</tt><tt><br>
      </tt><tt>//(43.98,4.70,44.27,4.99)</tt><tt><br>
      </tt><tt>// zone complète </tt><tt><br>
      </tt><tt>//(43.98,4.70,43.99,4.79)</tt><tt><br>
      </tt><tt>node["highway"](43.98,4.70,44.27,4.99)->.nodes;</tt><tt><br>
      </tt><tt>// les chemins</tt><tt><br>
      </tt><tt>way["highway"](43.98,4.70,44.27,4.99)->.ways;</tt><tt><br>
      </tt><tt>// les relations</tt><tt><br>
      </tt><tt>relation["highway"](43.98,4.70,44.27,4.99)->.relations;</tt><tt><br>
      </tt><tt>// d'abord les noeuds</tt><tt><br>
      </tt><tt>(</tt><tt><br>
      </tt><tt>  .nodes;</tt><tt><br>
      </tt><tt>// les noeuds des voies</tt><tt><br>
      </tt><tt>  node(w.ways);</tt><tt><br>
      </tt><tt>// les noeuds des relations</tt><tt><br>
      </tt><tt>  node(r.relations);</tt><tt><br>
      </tt><tt>);</tt><tt><br>
      </tt><tt> out meta;</tt><tt><br>
      </tt><tt>       </tt><tt><br>
      </tt><tt>// les chemins</tt><tt><br>
      </tt><tt>(</tt><tt><br>
      </tt><tt>  .way;</tt><tt><br>
      </tt><tt>  // les chemins des relations</tt><tt><br>
      </tt><tt>  // attention de pas de récursivité, des relations
        peuvent manquer, je ne vois pas trop quoi mais vérifie</tt><tt><br>
      </tt><tt>  way(r.relations);</tt><tt><br>
      </tt><tt>);</tt><tt><br>
      </tt><tt> out meta;</tt><tt><br>
      </tt><tt>// requête initiale</tt><tt><br>
      </tt><tt>/*<a class="moz-txt-link-freetext" href="http://overpass-api.de/api/interpreter">http://overpass-api.de/api/interpreter</a>?[out:xml][timeout:65];(node["highway"](43.98,4.70,44.27,4.99);way["highway"](43.98,4.70,44.27,4.99);relation["highway"](43.98,4.70,44.27,4.99););out</tt><tt><br>
      </tt><tt>meta asc;>;out meta qt;*/</tt><br>
    </p>
    <br>
    <div class="moz-cite-prefix">Le 22/06/2016 à 08:48, Tony Emery -
      <a class="moz-txt-link-abbreviated" href="mailto:tony.emery@yahoo.fr">tony.emery@yahoo.fr</a> a écrit :<br>
    </div>
    <blockquote cite="mid:1466578134198-5876134.post@n5.nabble.com"
      type="cite">
      <pre wrap="">Je déterre un peu le sujet car il y a un petit truc dans le script que j'ai
réalisé qui me chiffonne.

Quand la requête est lancée (par exemple, pour importer les voies), le
fichier Planet généré contient bien les objets demandé mais il ne sont pas
forcément classés (ou alors, je ne sais pas avec quelle ordre de tri).

Le fait d'ouvrir le fichier avec JOSM et d'enregistrer à nouveau le fichier
fait que les données sont triées. Cela veut dire que JOSM lit le fichier et
remet de l'ordre dans tout ça.

Or, FME ne sait pas faire ça et, du coup, n'arrive pas a interpréter le
fichier Planet brut.

Du coup, je me demandais s'il n'y avait pas une option a indiquer dans la
requête pour trier les objets (d'abord les nodes, puis les ways et enfin les
relations) ?



-----
Tony EMERY
Administrateur OpenStreetMap.fr
Mandataire Grand Sud-Est
Géomaticien & chef de projets
--
View this message in context: <a class="moz-txt-link-freetext" href="http://gis.19327.n5.nabble.com/Requete-overpass-api-python-tp5863030p5876134.html">http://gis.19327.n5.nabble.com/Requete-overpass-api-python-tp5863030p5876134.html</a>
Sent from the France mailing list archive at Nabble.com.

_______________________________________________
Talk-fr mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Talk-fr@openstreetmap.org">Talk-fr@openstreetmap.org</a>
<a class="moz-txt-link-freetext" href="https://lists.openstreetmap.org/listinfo/talk-fr">https://lists.openstreetmap.org/listinfo/talk-fr</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>