Règle générale, la fonction fonctionnait bien, mais il y avait une faille dans la façon dont je calculais la différence d'angle entre les segments qui faisait en sorte que, parfois, la solution optimale (ayant un angle le plus plat possible, soit le plus près de 180°) n'était pas choisie. Je me suis certainement compliqué la vie avec ma nouvelle méthode, mais au moins là ça fonctionne. Ça pourra toujours être revisité.
# Résultat avec code actuel:
ALSroads:::find_best_connexion(ori)
# [1] "A" "B"
# Résultat avec cette PR:
ALSroads:::find_best_connexion(ori)
# [1] "A" "C"
À noter que j'ai aussi apporté des modifications dans check_postprod.R qui affectent seulement l'ordre et le nom de certaines variables pour être plus cohérent avec le restant du code.
Règle générale, la fonction fonctionnait bien, mais il y avait une faille dans la façon dont je calculais la différence d'angle entre les segments qui faisait en sorte que, parfois, la solution optimale (ayant un angle le plus plat possible, soit le plus près de 180°) n'était pas choisie. Je me suis certainement compliqué la vie avec ma nouvelle méthode, mais au moins là ça fonctionne. Ça pourra toujours être revisité.
À noter que j'ai aussi apporté des modifications dans check_postprod.R qui affectent seulement l'ordre et le nom de certaines variables pour être plus cohérent avec le restant du code.