Je remarque que souvent le tout premier et tout dernier traits d'un segment n'est pas tout a fait dans le bon angle avec la route. La situation survient particulièrement lorsque l'intersection se trouve dans une courbe. L'effet est somme toute mineur, surtout une fois la route snappée avec ses voisines, mais a quand même pour effet de ne pas mettre le noeud de l'intersection à l'endroit optimal.
Ci-dessous un exemple typique avec
orange => segments originaux
vert => segments corrigés
violet => segments corrigés et snappés
On remarque que le nœud de l'intersection original (orange) est mieux placée que celui issu du snapping (violet), mais si ce n'est pas de beaucoup (différence de 3 m dans ce cas).
Je crois l'exactitude de la position des segments à leurs extrémités pourrait être améliorée en ne faisant pas l'analyse de least-cost path non pas entre le premier et dernier vertex strictement, mais plutôt entre un point un peu plus en amont et un autre un peu plus en aval. La distance du prolongement pourrait être par exemple 3 * alsroads_default_parameters$extraction$section_length Le segment final serait quand même découpé approximativement à la position du premier et du dernier sommet (si on ajoute 30 m en amont du segment original, on retire à la fin 30 m en amont du segment corrigé).
Dans quel axe effectuer ce prolongement? Je vois deux options:
Utiliser le même axe que les deux premiers ou deux derniers sommets du segments analysé. Solution la plus simple.
Identifier le segment voisin le plus susceptible d'être le prolongement du segment analysé et prolonger ce dernier le long du segment voisin. Solution plus complexe... mais dont le code est déjà tout écrit car ces principes sont déjà utilisés dans advanced_snap(). S'il y a aucun voisin crédible, simplement prolonger selon la méthode 1 mais d'une distance de 1 * alsroads_default_parameters$extraction$section_length ou carrément ne pas prolonger.
Comme je le mentionnais au début, c'est plutôt mineur comme problème. Je le décris ici pour me souvenir de ma réflexion si jamais je veux tenter quelque chose plus tard.
Je remarque que souvent le tout premier et tout dernier traits d'un segment n'est pas tout a fait dans le bon angle avec la route. La situation survient particulièrement lorsque l'intersection se trouve dans une courbe. L'effet est somme toute mineur, surtout une fois la route snappée avec ses voisines, mais a quand même pour effet de ne pas mettre le noeud de l'intersection à l'endroit optimal.
Ci-dessous un exemple typique avec
On remarque que le nœud de l'intersection original (orange) est mieux placée que celui issu du snapping (violet), mais si ce n'est pas de beaucoup (différence de 3 m dans ce cas).
Je crois l'exactitude de la position des segments à leurs extrémités pourrait être améliorée en ne faisant pas l'analyse de least-cost path non pas entre le premier et dernier vertex strictement, mais plutôt entre un point un peu plus en amont et un autre un peu plus en aval. La distance du prolongement pourrait être par exemple
3 * alsroads_default_parameters$extraction$section_length
Le segment final serait quand même découpé approximativement à la position du premier et du dernier sommet (si on ajoute 30 m en amont du segment original, on retire à la fin 30 m en amont du segment corrigé).Dans quel axe effectuer ce prolongement? Je vois deux options:
advanced_snap()
. S'il y a aucun voisin crédible, simplement prolonger selon la méthode 1 mais d'une distance de1 * alsroads_default_parameters$extraction$section_length
ou carrément ne pas prolonger.Comme je le mentionnais au début, c'est plutôt mineur comme problème. Je le décris ici pour me souvenir de ma réflexion si jamais je veux tenter quelque chose plus tard.