<div dir="ltr">le "bruit" est subjectif selon ce que tu définis. Dans OSM les données sont précises. Les relations peuvent contenir des enclaves: veux-tu les inclure ou pas ? tu peux essayer d'exclure le rôle "inner", mais il y a certains pièges avec parfois des "outer" à l'intérieur d'une zone "inner".<div><br></div><div>Overpass API ne fait pas de traitement de géométrie, il retourne les données telles qu'elles sont dans la base, point barre.</div><div>Les simplifications géométriques sont faites côté client (et c'est le cas avec le javascript émis par Overpass Turbo qui réduit les points non nécessaires selon le niveau de zoom à l'affichage quand cela ne fait pas de différences significatives en termes de pixels rendus, d'autant plus que les lignes tracées ont aussi une épaisseur qui peut masquer des points).</div><div><br></div><div>Si on veut faire ça côté serveur, il faut une requête plus compliquée non prise en charge par l'Overpass API, utilisant les transformations prises en charge en PostgreSQL, mais ce n'est pas disponible publiquement (il te faut un accès administrateur ou utiliser ta propre base de données, comme le fait Osmose par exemple).</div><div><br></div><div>Mais les Javascripts fournis par Overpass Turbo fonctionnent bien (côté client) et font pas mal de chose pour faire ces transformations ou simplifications et afficher correctement ce qu'on cherche sur un fond de carte.</div><div><br></div><div>Enfin, pour certains objets, il n'y a pas que des lignes mais aussi des noeuds individuels (qui ne sont pas toujours inclus dans la surface: exemple les chef-lieux d'arrondissements départementaux ne sont pas nécessairement dans l'arrondissement): c'est à toi de juger de la pertinence de les inclure ou pas (et de la façon de les représenter: icône centrée sur le noeud, ou cercle autour, à toi de décider le rayon), ou de les attacher à la surface par des traits (assez arbitraires) supplémentaires</div><div><br></div><div>Comme toujours ce sont des décisions propres à chaque rendu, et OSM ne tague pas pour le rendu, chacun des rendus ayant ses préférences éditoriales pour déterminer ce qui est pertinent. Selon chaque choix, il y aura donc autant de méthodes à définir, il n'y a pas de méthode générale pour tout.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">Le 23 août 2016 à 16:59, François Lacombe <span dir="ltr"><<a href="mailto:fl.infosreseaux@gmail.com" target="_blank">fl.infosreseaux@gmail.com</a>></span> a écrit :<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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"><span class=""><br clear="all"><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 href="http://www.infos-reseaux.com" target="_blank">www.infos-reseaux.com</a><br><a href="http://www.twitter.com/InfosReseaux" target="_blank">@InfosReseaux</a></div></div></div>
<br></span><div class="gmail_quote"><span class="">Le 22 août 2016 à 16:45, Christian Quest <span dir="ltr"><<a href="mailto:cquest@openstreetmap.fr" target="_blank">cquest@openstreetmap.fr</a>></span> a écrit :<br></span><div><div class="h5"><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 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>
    <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 href="http://www.openstreetmap.org/relation/5430194" target="_blank">http://www.openstreetmap.org/r<wbr>elation/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 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 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 href="http://www.infos-reseaux.com" target="_blank">www.infos-reseaux.com</a><br>
                                                          <a 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 href="mailto:Talk-fr@openstreetmap.org" target="_blank">Talk-fr@openstreetmap.org</a><br>
                                  <a 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 href="mailto:Talk-fr@openstreetmap.org" target="_blank">Talk-fr@openstreetmap.org</a><br>
                          <a 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 href="mailto:Talk-fr@openstreetmap.org" target="_blank">Talk-fr@openstreetmap.org</a>
<a href="https://lists.openstreetmap.org/listinfo/talk-fr" target="_blank">https://lists.openstreetmap.or<wbr>g/listinfo/talk-fr</a>
</pre>
    </blockquote>
    <br>
    <br>
    </div></div><span><font color="#888888"><pre cols="72">-- 
Christian Quest - OpenStreetMap France</pre>
  </font></span></div>

<br>______________________________<wbr>_________________<br>
Talk-fr mailing list<br>
<a href="mailto:Talk-fr@openstreetmap.org" target="_blank">Talk-fr@openstreetmap.org</a><br>
<a 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></div></div><br></div>
<br>______________________________<wbr>_________________<br>
Talk-fr mailing list<br>
<a href="mailto:Talk-fr@openstreetmap.org">Talk-fr@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/talk-fr" rel="noreferrer" target="_blank">https://lists.openstreetmap.<wbr>org/listinfo/talk-fr</a><br>
<br></blockquote></div><br></div>