<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Le 29/06/2016 à 23:20, François Lacombe
a écrit :<br>
</div>
<blockquote
cite="mid:CAG0ygLeUVWZ7bR4sBCvRyqWVwBF_5g9XGTwyFV1odScpXDFYZg@mail.gmail.com"
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 moz-do-not-send="true"
href="https://fr.wikipedia.org/wiki/Loxodromie">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>
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)<br>
<br>
<br>
<br>
<br>
<blockquote
cite="mid:CAG0ygLeUVWZ7bR4sBCvRyqWVwBF_5g9XGTwyFV1odScpXDFYZg@mail.gmail.com"
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 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 29 juin 2016 à 20:46, adrien <span
dir="ltr"><<a moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:Talk-fr@openstreetmap.org">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.org/listinfo/talk-fr</a><br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<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>
<p><br>
</p>
</body>
</html>