Suite

Rayon de courbure pour les courbes dans les segments de route pour l'ensemble du réseau routier

Rayon de courbure pour les courbes dans les segments de route pour l'ensemble du réseau routier


J'ai un fichier de formes de réseau routier pour un État américain et j'essaie de dériver le rayon de courbure des segments de route dans ce fichier de formes. Je dois être capable d'effectuer cette tâche en quelques fonctions seulement pour des milliers de segments de route.

Les segments de route varient entre 0,2 mille et peut-être 5 milles environ. Chaque segment a plusieurs courbes, mais je ne m'intéresse qu'aux courbes suffisamment petites pour forcer un véhicule à faire un virage raisonnable. Cela devrait réduire le nombre de courbes d'intérêt par segment à un maximum de 1 ou 2, de nombreux segments n'ayant pas du tout de telles courbes. Je n'ai pas déterminé le rayon maximum de la courbe (le seuil) que j'aimerais utiliser.

Pour les segments avec seulement 1 telle courbe, j'aimerais obtenir les valeurs de ces courbes pour ces segments, et pour ceux avec plus de 1, une moyenne fera l'affaire.


La courbure (κ) d'une courbe bidimensionnelle est définie comme κ=dϕ/ds, où est l'angle tangentiel et s est la longueur de l'arc (la source). Pour éviter le calcul, cette dérivée peut être approchée comme la changement total d'angle divisé par la longueur totale de la courbe. Le rayon de courbure (r) est simplement l'inverse de la courbure : r = 1/κ

Ce calcul peut être utilisé pour calculer le rayon d'une courbe dans une polyligne de route numérisée qui est approximée avec plusieurs segments de ligne. La procédure ressemble à ceci :

  • Déterminez les points de début et de fin de la courbe.
  • Mesurez le changement total d'angle et la longueur totale de la courbe du début à la fin.
  • Faites le calcul et enregistrez le rayon de courbure.

Une fois, j'ai écrit un script qui parcourt les sommets des polylignes, calculant le relèvement de la ligne et le changement d'angle. En fonction du changement d'angle (tourne-t-il à droite ? à gauche ? ne tourne pas ?), il décide si chaque point est un point d'inflexion (où la direction change). Entre le début et la fin, il additionne le changement d'angle total et la longueur totale des segments de ligne, puis calcule r.

Il existe des étapes de filtrage supplémentaires pour ignorer les très petits changements d'angle et d'autres problèmes dus aux artefacts de numérisation plutôt qu'à la courbure réelle de la route. Si le rayon se situe dans une certaine plage d'intérêt (pour nos besoins, nous ne nous soucions que de r moins de 100'), il le sort dans un nouveau fichier de formes. Même avec tout cela, il est assez rapide et capable de parcourir des milliers de routes. Les résultats semblent raisonnablement fiables, même si je ne les ai pas soumis à une analyse d'erreur complète.


Voir la vidéo: Implantation dune courbe rayon connu