[OSM-talk-fr] distance entre deux points sur une route

pepilepioux at ovh.fr pepilepioux at ovh.fr
Jeu 30 Juin 05:52:41 UTC 2016


Le 29/06/2016 à 23:20, François Lacombe a écrit :
> Bonjour Adrien,
>
> 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.
> https://fr.wikipedia.org/wiki/Loxodromie
>
> Concrètement, voici un bout de PHP qui te donne la distance entre deux
> points dont tu connais le lat/lon
> Tu n'as plus qu'à faire la somme de tous tes segments pour avoir la
> distance totale
>
> $l = 6366 * 2 * asin(
>                         sqrt(
>                             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)
>                         )
>                     );


Pour ceux que ça peut intéresser la même chose en Python :

import    math

def    distance    ( lat1 , lon1 , lat2 , lon2 , alt1 , alt2 )    :
    rEquat    = 6378137
    rPole    = 6356752
    rLat    = rEquat - ( ( rEquat - rPole ) * abs( lat1 / 90 ) ) + alt1

    distParallele    = abs ( rLat * math.cos( (( lat1 + lat2 ) / 2 ) *
math.pi / 180 ) * ( ( lon2 - lon1 ) * math.pi / 180 ) )
    distMeridien    = abs ( rLat * ( lat2 - lat1 )  * math.pi / 180  )
    distVerticale    = abs ( alt2 - alt1 )
    distTotale        = math.sqrt ( ( distParallele * distParallele ) +
( distMeridien * distMeridien ) + ( distVerticale * distVerticale ) )
   
    return    distTotale

(distance en mètres)




>
> Où $lat et $lng sont les coordonnées de ton point B et $ll[0] et
> $ll[1] celles de ton point A.
> Cette formule a un défaut : elle ne tient pas compte de l'altitude des
> points, réputée négligeable ici.
>
>
> A+
>
> *François Lacombe*
>
> fl dot infosreseaux At gmail dot com
> www.infos-reseaux.com <http://www.infos-reseaux.com>
> @InfosReseaux <http://www.twitter.com/InfosReseaux>
>
> Le 29 juin 2016 à 20:46, adrien <perso at adrieng.fr
> <mailto:perso at adrieng.fr>> a écrit :
>
>     Bonjour,
>
>     J'aimerais connaître la distance entre deux points sur une relation
>     route=bicycle,en l'occurence la distance entre Nantes et Blain sur la
>     Vélodyssée.
>
>     Je suppose que c'est facilement faisable, mais je sèche
>     complètement sur
>     comment faire, et quel outils utiliser…
>
>     Si vous avez des pistes, je vous en serait reconnaissant.
>
>     Bonne soirée
>
>     Adrien
>
>
>     _______________________________________________
>     Talk-fr mailing list
>     Talk-fr at openstreetmap.org <mailto:Talk-fr at openstreetmap.org>
>     https://lists.openstreetmap.org/listinfo/talk-fr
>
>
>
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr


-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20160630/0744394e/attachment.htm>


Plus d'informations sur la liste de diffusion Talk-fr