[OSM-talk-fr] Un petit challenge pour un codeur-motard (ou l'inverse)
Christophe Merlet
redfox at redfoxcenter.org
Mer 3 Sep 07:49:03 UTC 2014
Le 03/09/2014 06:29, Art Penteur a écrit :
> Dans le cas que tu présentes, tu as bien trois points : les lignes que
> tu traces et qui partent loin sont bien accrochées à un point, quelque
> part.
> Donc à chaque angle que tu vois, tu peux bien définir le point "du
> virage", le point avant, le point après.
>
> Reste la question du calcul du rayon de courbure.
> La méthode de base consiste à trouver le centre du cercle passant par
> les trois points. On le trouve à l'intersection des médiatrices des
> deux segments avant/après. Puis il suffit de calculer la distance
> entre ce centre et le point.
> Sur des points très irrégulièrement espacés, je ne sais pas ce que
> cette méthode peut donner.
>
> Il est aussi possible de calculer la parabole qui passe par les trois
> points, puis d'appliquer des formules analytique (en dérivée seconde,
> ...) sur cette parabole. Il est possible que ça donne de meilleurs
> résultats.
>
> Bon courage. Je relève les copies dans une heure. D'ici là, je
> surveille que vous ne copiez pas sur le voisin, ni sur Internet.
D'après moi, il suffit de charger la trace GPX.
De la simplifier à 1m
Ensuite on calcule l'angle de tous les 3 points consécutifs de la trace
On fait la somme des angles positifs consécutifs et des angles négatifs
consécutifs et si la somme dépasse un certain seuil (par ex 30°) alors
on a un virage.
Le total donnerait une bonne approximation du nb de virage total.
> Art.
>
>
>
> Le 3 septembre 2014 01:05, Vincent Pottier <vpottier at gmail.com> a écrit :
>> Le 03/09/2014 00:13, Christian Quest a écrit :
>>
>>> Un petit outil pour analyser un GPX, et le compléter par des POI sur les
>>> virages...
>>>
>>> C'est ici: http://forum.openstreetmap.fr/viewtopic.php?f=3&t=1443
>>
>> Hum... Intéressant mais contrairement à ce qui est dit sur le forum, je ne
>> crois pas que ça soit si simple.
>> Je ne suis pas matheux, mais...
>> Compter les virages, ça va. Calculer les rayons de courbure, ça va dépendre
>> de la qualité du tracé.
>>
>> Un exemple :
>>
>> .
>> .
>> .
>> |
>> |
>> x-------.....
>> Il y a un virage. Mais quelle courbure ?
>> Autre exemple (la route qui croise la voie ferrée)
>>
>> ...-----x
>> \
>> x-----...
>> Il y a deux virages repérables, mais quelle courbure ?
>> Il faut au moins trois points pour marquer un virage dont on pourra calculer
>> le rayon de courbure. Avec deux points (angle cassé) il me semble que ça ne
>> suffit pas.
>> Voir aussi le cas de deux virages successifs du même côté : il faut repérer
>> deux minima de rayon de courbure distincts.
>>
>> Je crois aussi que la variation d'azimut entre l'entrée et la sortie du
>> virage est un critère important pour sa "force" : une épingle à cheveux,
>> c'est un rayon court mais aussi 180° de variation d'azimut.
>>
>> Intéressant à suivre...
>> sur dev, peut-être...
>> --
>> FrViPofm
>> FrViPofm
>>
>> _______________________________________________
>> Talk-fr mailing list
>> 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
>
--
Christophe Merlet (RedFox)
Plus d'informations sur la liste de diffusion Talk-fr