r-lidar-lab / ALSroads

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

Option pour conserver la nouvelle géométrie peu importe la classe #38

Closed jfbourdon closed 2 years ago

jfbourdon commented 2 years ago

Je commence à utiliser le code en production, je me rends compte qu'il y aurait bien des occasions où j'aimerais obtenir les nouvelles lignes centrales, même si CLASS est 3 ou 4. Ça me permettrait de moi-même décider, à partir d'autres critères, si je remplace ou non la nouvelle géométrie par l'originale. Ça pourrait être un paramètre caché (du genre force_geometry = TRUE) passé par ... pour modifier la condition de remplacement à: https://github.com/Jean-Romain/ALSroads/blob/390d95b8cc585f602b9fb012c733561add92331f/R/als_road.R#L263-L266

Jean-Romain commented 2 years ago

On peut avoir deux colonnes sfc dans un sf,data.frame. Une est inactive par default et ne peut surement pas être sauvegardée dans un shapefile mais permet de jouer dans R. C'est une ligne de code à ajouter à la fin si tu veux

jfbourdon commented 2 years ago

Intéressant comme proposition, ça répondrait au besoin, mais je me demande si cette façon de faire implicite ne serait pas mêlante. Il faudrait que j'essaie. Est-ce qu'avoir un paramètre supplémentaire serait correct ou bien tu trouves qu'il y en a déjà suffisamment comme ça.

Jean-Romain commented 2 years ago

Je penses pas que ce ca mérite un nouveau parametre. C'est une ligne de code. Tu peux faire

new_road = measure_roads(old_road)
new_road$old_geom = st_geometry(old_road)
jfbourdon commented 2 years ago

Ça m'irai comme proposition que la fonction ajoute toujours une deuxième colonne de géométrie qui contiendrait systématiquement celle qui a été trouvée.

Ceci dit, je préfèrerais même qu'il n'y ait qu'une seule colonne geom contenant toujours la nouvelle géométrie. Comme ça, c'est l'utilisateur qui décide en fonction de ses propres critères quelle géométrie conserver entre l'originale (qu'il a déjà forcément dans un autre objet) et la nouvelle. L'attribut CLASS devient finalement juste un indicateur supplémentaire avec SCORE de la qualité du tracé trouvé.

Jean-Romain commented 2 years ago

44 merged