<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Je ne suis pas sûr que ça donne un résultat pertinent et surtout
      en ne définissant pas clairement ce que tu veux en sortie je pense
      qu'on peut sortir plein de choses bien variées. Si tu veux
      précisément la géométrie de la ligne sans les autres objets de la
      relation (même cas pour une ligne de bus) il faut filtrer sur le
      rôle et éventuellement le type de géométrie (linestring ou
      polygon).<br>
    </p>
    <p>Avec postgis, un ST_Buffer négatif, permet de virer ces
      excroissances...  mais ça marchera sur ce type de géométrie pas
      forcément sur d'autres.</p>
    <p>Il y a aussi une fonction "squelette" dans postgis, elle permet
      par exemple d'avoir une ligne médiane d'un polygone.</p>
    <p>Pour le placement de textes, c'est utile, ça permet d'avoir des
      textes qui suivent la forme globale plutôt que d'être placé à
      l'horizontal, mais je n'ai pas encore essayé d'utiliser ça pour
      les rendus.</p>
    <p>Bref, vaste sujet ;)<br>
    </p>
    <br>
    <div class="moz-cite-prefix">Le 23/08/2016 à 16:59, François Lacombe
      a écrit :<br>
    </div>
    <blockquote
cite="mid:CAG0ygLepOfOpz+UOL_ELSqheDrBrgxuBYkhiT+W=-HYr_XzW8w@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>En fait, je donnais un exemple et le but est de
                  trouver une méthode pour toutes les relations.<br>
                </div>
                Toutes n'ont pas de membre avec le role line.<br>
                <br>
              </div>
              On peut se demander ce qu'est une géométrie représentative
              (je raisonne tout haut)<br>
            </div>
            Le périmètre qui encadre tous les membres par exemple, mais
            trop "grossier".<br>
          </div>
          Ou alors la concaténation des plus gros membres de la relation<br>
        </div>
        <div>Il doit surement y avoir d'autres moyens de l'exprimer<br>
        </div>
        <div><br>
          Dans mon exemple, on devrait être capable de retrouver la
          forme de la ligne qui constitue le plus gros de la relation en
          éliminant le "bruit" aux extrémités provoqué par des objets
          proches les uns des autres au regarde de l'étendue de la
          relation.<br>
        </div>
        <div>Mais surtout il ne faut travailler que sur la géométrie des
          membres, dès qu'on passe aux attributs, ca revient à définir
          des règles spécifiques dont je ne veux pas.<br>
          <br>
        </div>
        <div>Pas sur que ce soit plus clair :)<br>
        </div>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>
          <div class="gmail_signature" data-smartmail="gmail_signature">
            <div dir="ltr"><b>François Lacombe</b><br>
              <br>
              fl dot infosreseaux At gmail dot com<br>
              <a moz-do-not-send="true"
                href="http://www.infos-reseaux.com" target="_blank">www.infos-reseaux.com</a><br>
              <a moz-do-not-send="true"
                href="http://www.twitter.com/InfosReseaux"
                target="_blank">@InfosReseaux</a></div>
          </div>
        </div>
        <br>
        <div class="gmail_quote">Le 22 août 2016 à 16:45, Christian
          Quest <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:cquest@openstreetmap.fr" target="_blank">cquest@openstreetmap.fr</a>></span>
          a écrit :<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <p>Dans overpass une requête permet de ne sélectionner que
                les membres portant un certain rôle dans la relation:</p>
              <p>rel(<a moz-do-not-send="true"
                  href="http://www.openstreetmap.org/relation/5430194"
                  target="_blank">5430194</a>);<br>
                way(r:"line");<br>
                (._;>;);out skel;<br>
              </p>
              <p>Après il faut en récupérer la version geojson...<br>
              </p>
              <div>
                <div class="h5"> <br>
                  <div>Le 22/08/2016 à 15:25, François Lacombe a écrit :<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">
                      <div>
                        <div>
                          <div>
                            <div>Bonjour Philippe, Guillaume,<br>
                              <br>
                            </div>
                            Personne n'est a coté de la plaque ;)<br>
                            <br>
                          </div>
                          Cependant, seule la méthode m’intéresse.<br>
                        </div>
                        En effet il y a déjà quelques outils qui
                        parviennent à présenter graphiquement une
                        relation mais j'ai besoin de l'implémenter de
                        mon côté.<br>
                        <br>
                      </div>
                      Relativement à l'exemple du résultat d'OSM.org. Il
                      n'emploie pas une géométrie unique. Il affiche
                      tous les objets de la relation et c'est vite le
                      fouillis, en plus de devoir être découpé pour être
                      intégré dans du geojson.<br>
                      <div>
                        <div>
                          <div>
                            <div>
                              <div>Voir ici : <a moz-do-not-send="true"
href="http://www.openstreetmap.org/relation/5430194" target="_blank">http://www.openstreetmap.org/<wbr>relation/5430194</a><br>
                              </div>
                              <div>Je m'attends à récupérer une ligne
                                toute simple sans les deux polygones aux
                                extrémités. C'est la seule géométrie
                                "simple" et représentative qu'on puisse
                                exploiter sans faire appel à des
                                FeatureCollections ou autre.<br>
                              </div>
                              <div>
                                <div>
                                  <div class="gmail_extra"><br>
                                  </div>
                                  <div class="gmail_extra">Et ça me
                                    semble très dur de trouver une
                                    méthode générique qui puisse faire
                                    cette synthèse parce qu'il semble
                                    qu'il y ait autant de possibilités
                                    que de cas :'(<br>
                                  </div>
                                  <div class="gmail_extra"><br>
                                  </div>
                                  <div class="gmail_extra">François<br>
                                    <br>
                                  </div>
                                  <div class="gmail_extra">
                                    <div class="gmail_quote">Le 22 août
                                      2016 à 14:45, Philippe Verdy <span
                                        dir="ltr"><<a
                                          moz-do-not-send="true"
                                          href="mailto:verdy_p@wanadoo.fr"
                                          target="_blank">verdy_p@wanadoo.fr</a>></span>
                                      a écrit :<br>
                                      <blockquote class="gmail_quote"
                                        style="margin:0px 0px 0px
                                        0.8ex;border-left:1px solid
                                        rgb(204,204,204);padding-left:1ex">
                                        <div dir="ltr">Le site web OSM
                                          le fait déjà quand on
                                          "explore" une relation: ça
                                          télécharge un jeu de données
                                          JSON permettant le rendu
                                          vectoriel de l'objet
                                          sélectionné par dessus le fond
                                          de carte. La Wikipédie
                                          francophone le fait aussi sur
                                          ses cartes (mais elle requête
                                          son propre serveur pour
                                          obtenir aussi des POIs
                                          géolocalisés sur Wikipédia ou
                                          des photos géolocalisées sur
                                          Commons)
                                          <div>Attention en cas
                                            d'inclusion dans un script
                                            web : l'API ne doit pas
                                            surcharger le serveur
                                            interrogé (on a vu le
                                            problème ces jours-ci sur
                                            Overpass API avec des
                                            centaines de milliers de
                                            requêtes par heure au lieu
                                            de quelques dizaines
                                            habituellement, deux
                                            serveurs Overpass API sont
                                            tombés plusieurs fois de
                                            suite, peut-être à cause
                                            d'un script d'un réseau
                                            publicitaire abusif ou d'une
                                            appli non-officielle type
                                            Pokemon).</div>
                                          <div>Bref gérer des caches sur
                                            votre serveur et éviter de
                                            faire des requêtes
                                            automatiques en boucle par
                                            le client sur chaque page
                                            web du site ou chaque page
                                            de l'appli mobile, respecter
                                            les protocoles !<br>
                                            <div><br>
                                            </div>
                                          </div>
                                        </div>
                                        <div class="gmail_extra"><br>
                                          <div class="gmail_quote">
                                            <div>
                                              <div>Le 22 août 2016 à
                                                14:30, François Lacombe
                                                <span dir="ltr"><<a
                                                    moz-do-not-send="true"
href="mailto:fl.infosreseaux@gmail.com" target="_blank">fl.infosreseaux@gmail.com</a>></span>
                                                a écrit :<br>
                                              </div>
                                            </div>
                                            <blockquote
                                              class="gmail_quote"
                                              style="margin:0px 0px 0px
                                              0.8ex;border-left:1px
                                              solid
                                              rgb(204,204,204);padding-left:1ex">
                                              <div>
                                                <div>
                                                  <div dir="ltr">
                                                    <div>
                                                      <div>
                                                        <div>
                                                          <div>
                                                          <div>
                                                          <div>Bonjour à
                                                          tous,<br>
                                                          <br>
                                                          </div>
                                                          Avec la
                                                          récente mise
                                                          en place et
                                                          adoption
                                                          croissante
                                                          d'open event
                                                          database, je
                                                          me pose une
                                                          question que
                                                          certains ont
                                                          déjà du
                                                          résoudre.<br>
                                                          <br>
                                                          </div>
                                                          Existe-t-il
                                                          une méthode
                                                          générique pour
                                                          convertir une
                                                          relation OSM
                                                          en geojson ?<br>
                                                          </div>
                                                          Cela
                                                          reviendrait à
                                                          convertir la
                                                          relation en
                                                          géométrie
                                                          simple (points
                                                          / polyline).<br>
                                                          <br>
                                                        </div>
                                                        Le besoin est
                                                        d'attribuer une
                                                        géométrie
                                                        représentative à
                                                        des événements
                                                        dégagés par des
                                                        ouvrages décrit
                                                        avec une
                                                        relation.<br>
                                                      </div>
                                                      Après on peut les
                                                      envoyer sur open
                                                      event db.<br>
                                                      <br>
                                                    </div>
                                                    Mais il peut y avoir
                                                    des tonnes d'autres
                                                    usages à cela, sans
                                                    se limiter à cet
                                                    exemple.<br>
                                                    <div>
                                                      <div>
                                                        <div>
                                                          <div>
                                                          <div>
                                                          <div><br>
                                                          </div>
                                                          <div>J'aimerais
                                                          éviter les
                                                          scripts avec
                                                          des if/else à
                                                          rallonge pour
                                                          cibler tel ou
                                                          tel type de
                                                          relation, à la
                                                          recherche de
                                                          tel ou tel
                                                          objet qui au
                                                          final n'est
                                                          pas forcé de
                                                          se trouver là
                                                          où on
                                                          l'attend,
                                                          etc...<br>
                                                          </div>
                                                          <div><br>
                                                          <br>
                                                          </div>
                                                          <div>Merci par
                                                          avance pour
                                                          vos retours<br>
                                                          <br>
                                                          </div>
                                                          <div>François<br>
                                                          </div>
                                                          <div>
                                                          <div><br>
                                                          <br>
                                                          --<br
                                                          clear="all">
                                                          <div>
                                                          <div>
                                                          <div
                                                          data-smartmail="gmail_signature">
                                                          <div dir="ltr"><b>François
                                                          Lacombe</b><br>
                                                          <br>
                                                          fl dot
                                                          infosreseaux
                                                          At gmail dot
                                                          com<br>
                                                          <a
                                                          moz-do-not-send="true"
href="http://www.infos-reseaux.com" target="_blank">www.infos-reseaux.com</a><br>
                                                          <a
                                                          moz-do-not-send="true"
href="http://www.twitter.com/InfosReseaux" target="_blank">@InfosReseaux</a></div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                        </div>
                                                      </div>
                                                    </div>
                                                  </div>
                                                  <br>
                                                </div>
                                              </div>
                                              <span>______________________________<wbr>_________________<br>
                                                Talk-fr mailing list<br>
                                                <a
                                                  moz-do-not-send="true"
href="mailto:Talk-fr@openstreetmap.org" target="_blank">Talk-fr@openstreetmap.org</a><br>
                                                <a
                                                  moz-do-not-send="true"
href="https://lists.openstreetmap.org/listinfo/talk-fr" rel="noreferrer"
                                                  target="_blank">https://lists.openstreetmap.or<wbr>g/listinfo/talk-fr</a><br>
                                                <br>
                                              </span></blockquote>
                                          </div>
                                          <br>
                                        </div>
                                        <br>
                                        ______________________________<wbr>_________________<br>
                                        Talk-fr mailing list<br>
                                        <a moz-do-not-send="true"
                                          href="mailto:Talk-fr@openstreetmap.org"
                                          target="_blank">Talk-fr@openstreetmap.org</a><br>
                                        <a moz-do-not-send="true"
                                          href="https://lists.openstreetmap.org/listinfo/talk-fr"
                                          rel="noreferrer"
                                          target="_blank">https://lists.openstreetmap.or<wbr>g/listinfo/talk-fr</a><br>
                                        <br>
                                      </blockquote>
                                    </div>
                                    <br>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                    <br>
                    <fieldset></fieldset>
                    <br>
                    <pre>______________________________<wbr>_________________
Talk-fr mailing list
<a moz-do-not-send="true" href="mailto:Talk-fr@openstreetmap.org" target="_blank">Talk-fr@openstreetmap.org</a>
<a moz-do-not-send="true" href="https://lists.openstreetmap.org/listinfo/talk-fr" target="_blank">https://lists.openstreetmap.<wbr>org/listinfo/talk-fr</a>
</pre>
    </blockquote>
    

    

    </div></div><span class="HOEnZb"><font color="#888888"><pre cols="72">-- 
Christian Quest - OpenStreetMap France</pre>
  </font></span></div>


______________________________<wbr>_________________

Talk-fr mailing list

<a moz-do-not-send="true" href="mailto:Talk-fr@openstreetmap.org">Talk-fr@openstreetmap.org</a>

<a moz-do-not-send="true" href="https://lists.openstreetmap.org/listinfo/talk-fr" rel="noreferrer" target="_blank">https://lists.openstreetmap.<wbr>org/listinfo/talk-fr</a>


</blockquote></div>
</div>


<fieldset class="mimeAttachmentHeader"></fieldset>
<pre wrap="">_______________________________________________
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>

<pre class="moz-signature" cols="72">-- 
Christian Quest - OpenStreetMap France</pre></body></html>