r-lidar-lab / ALSroads

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

Internal error with a multilinestring returned #64

Open jfbourdon opened 11 months ago

jfbourdon commented 11 months ago

Une erreur dans le traitement du tronçon fait en sorte que l'analyse est incomplète sans pour autant faire crasher measure_road(). Même en utilisant keep_class = 4, le segment retourné est identique à celui d'origine. Les attributs PERCABOVEROAD, SINUOSITY et CONDUCTIVITY sont calculés, mais ROADWIDTH, DRIVABLEWIDTH, SHOULDERS, SCORE et CLASS demeurent NULL.

Data: https://transfert.mern.gouv.qc.ca/?ShareToken=A0CEB0687AE4D98A7F3FE0D1A3F92EBAE6FAA8DD Tested with ALSroads cab4c2b

library(ALSroads)

ctg <- lidR::readLAScatalog("point_cloud.laz")
dtm <- raster::raster("dtm.tif")
road <- sf::st_read("line.gpkg")

corrected_road <- measure_road(road, ctg = ctg, dtm = dtm, keep_class = 4)

#Warning message:
#In value[[3L]](cond) : Error in road 1: NULL returned.
#The error was: Error: Internal error. A MULTILINESTRING has been returned. Please report
#Error in road 2: NULL returned.
#The error was: Error: Internal error. A MULTILINESTRING has been returned. Please report