<div dir="ltr">D'ailleurs dans la formule Python les fonctions abs() pour les trois composantes distParallele, distMeridien, et distVertical sont inutiles, puisqu'on ne va utiliser que leur carré respectif. Il suffit juste de les voir comme des composantes d'un vecteur 3D orienté et non comme des distances positives.</div><div class="gmail_extra"><br><div class="gmail_quote">Le 30 juin 2016 à 07:52, <a href="mailto:pepilepioux@ovh.fr">pepilepioux@ovh.fr</a> <span dir="ltr"><<a href="mailto:pepilepioux@ovh.fr" target="_blank">pepilepioux@ovh.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"><span class="">
    <div>Le 29/06/2016 à 23:20, François Lacombe
      a écrit :<br>
    </div>
    </span><span class=""><blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>Bonjour Adrien,<br>
                  <br>
                </div>
                A mon sens c'est un calcul de distance loxodromique
                entre chaque nœud, de chaque portion de véloroute qui
                composent le chemin à parcourir.<br>
                <a href="https://fr.wikipedia.org/wiki/Loxodromie" target="_blank">https://fr.wikipedia.org/wiki/Loxodromie</a><br>
                <br>
              </div>
              Concrètement, voici un bout de PHP qui te donne la
              distance entre deux points dont tu connais le lat/lon<br>
            </div>
            Tu n'as plus qu'à faire la somme de tous tes segments pour
            avoir la distance totale<br>
            <br>
            $l = 6366 * 2 * asin(<br>
                                    sqrt(<br>
                                        pow(
            sin((deg2rad($lat)-deg2rad($ll[1]))/2) , 2) +
            cos(deg2rad($lat))*cos(deg2rad($ll[1]))* pow(
            sin((deg2rad($lng)-deg2rad($ll[0]))/2) , 2)<br>
                                    )<br>
                                );<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    <br></span>
    Pour ceux que ça peut intéresser la même chose en Python :<br>
    <br>
    <font face="Lucida Console">import    math<br>
      <br>
      def    distance    ( lat1 , lon1 , lat2 , lon2 , alt1 , alt2 )   
      :<br>
          rEquat    = 6378137<br>
          rPole    = 6356752<br>
          rLat    = rEquat - ( ( rEquat - rPole ) * abs( lat1 / 90 ) ) +
      alt1<br>
      <br>
          distParallele    = abs ( rLat * math.cos( (( lat1 + lat2 ) / 2
      ) * math.pi / 180 ) * ( ( lon2 - lon1 ) * math.pi / 180 ) )<br>
          distMeridien    = abs ( rLat * ( lat2 - lat1 )  * math.pi /
      180  )<br>
          distVerticale    = abs ( alt2 - alt1 )<br>
          distTotale        = math.sqrt ( ( distParallele *
      distParallele ) + ( distMeridien * distMeridien ) + (
      distVerticale * distVerticale ) )<br>
          <br>
          return    distTotale<br>
      <br>
    </font>(distance en mètres)<div><div class="h5"><br>
    <br>
    <br>
    <br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div><br>
          </div>
          Où $lat et $lng sont les coordonnées de ton point B et $ll[0]
          et $ll[1] celles de ton point A.<br>
        </div>
        Cette formule a un défaut : elle ne tient pas compte de
        l'altitude des points, réputée négligeable ici.<br>
        <div>
          <div><br>
            <br>
          </div>
          <div>A+<br>
          </div>
        </div>
      </div>
      <div class="gmail_extra"><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>
        <div class="gmail_quote">Le 29 juin 2016 à 20:46, adrien <span dir="ltr"><<a href="mailto:perso@adrieng.fr" target="_blank">perso@adrieng.fr</a>></span>
          a écrit :<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Bonjour,<br>
            <br>
            J'aimerais connaître la distance entre deux points sur une
            relation<br>
            route=bicycle,en l'occurence la distance entre Nantes et
            Blain sur la<br>
            Vélodyssée.<br>
            <br>
            Je suppose que c'est facilement faisable, mais je sèche
            complètement sur<br>
            comment faire, et quel outils utiliser…<br>
            <br>
            Si vous avez des pistes, je vous en serait reconnaissant.<br>
            <br>
            Bonne soirée<br>
            <br>
            Adrien<br>
            <br>
            <br>
            _______________________________________________<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.org/listinfo/talk-fr</a><br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
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.org/listinfo/talk-fr</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </div></div></div>

<br>_______________________________________________<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.org/listinfo/talk-fr</a><br>
<br></blockquote></div><br></div>