r-lidar-lab / ALSroads

Road corrections and measurements from ALS data
19 stars 4 forks source link

Ajout de fonctions d'analyse de topologie #25

Closed jfbourdon closed 2 years ago

jfbourdon commented 2 years ago

Continuation de #24

Ajout de st_check_junctions() servant à vérifier si le réseau de chemins contient certains segments dont l'une des extrémités est très près d'une autre, laissant alors croire qu'un point d'intersection est manquant. Ces cas peuvent engendrer des problèmes si la couche de chemins est passée à measure_roads() puis ensuite à st_snap_lines2() qui utilise les jonctions d'une couche de référence pour réassembler les segments.

Ajout de st_check_crossings() servant à vérifier si des chemins se croisent sans générer de véritables intersections. Normalement, dans un réseau de chemins topologiquement valide, les entités devraient toujours à joindre à des intersections et non se chevauchées. La fonction peut servir à vérifier, après la combinaison de measure_roads()etst_snap_lines2()`, que des chemins corrigés n'ont pas été superposés à d'autres comme cela peut arriver dans le cas de chemins parallèle rapprochés.

PR contenant aussi deux petites corrections pour st_ends_heading() et st_extend_line() où le cas d'un segment à seulement deux sommets n'était pas bien géré.

Jean-Romain commented 2 years ago

Ca serait bien que tu ajoutes quelques fichiers gpkg ou rds bien choisis dans le package pour pouvoir créer des examples dans la doc des fonctions que tu as créées

jfbourdon commented 2 years ago

Pas sûr de la pertinence des graphiques (ni de la qualité de leur qualité actuelle), mais ça fait un minimum visuel. Le jeu de données ajouté fait le travail, mais éventuellement je préfèrerais utiliser le même pour tous les exemples de toutes les fonctions; ce n'est toutefois certainement pas essentiel.

Jean-Romain commented 2 years ago

On en est où de ce PR ?

jfbourdon commented 2 years ago

Normalement, c'est fonctionnelle et ce serait prêt à être intégré.