r-lidar-lab / ALSroads

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

In max(sdZ, na.rm = T) : no non-missing arguments to max; returning -Inf #5

Closed jfbourdon closed 2 years ago

jfbourdon commented 2 years ago

L'avertissement In max(sdZ, na.rm = T) : no non-missing arguments to max; returning -Inf est parfois soulevé. Mon impression est que certaines statistiques liées au nuage de points sont incomplètes en raison d'une trop faible densité de points dans certains profiles. Dans ce cas-ci, la proximité de la route avec un lac y est certainement pour quelque chose.

Ma suggestion serait de conserver un avertissement, mais de le spécifier un peu plus si la cause est trouvée (ex: Extraction precision may suffer due to low point density relative to profile resolution.) Le message pourrait aussi n'être retourné qu'une seule fois par entité.

Données: https://transfert.mffp.gouv.qc.ca/?ShareToken=D12166D6606730B0807096B7A1B8CE354F2BDA8A

library(MFFProads)
library(lidR)
library(sf)
library(raster)

path_laz <- "point_cloud.laz"
path_roads <- "lines.gpkg"
path_dtm <- "dtm.tif"

roads <- st_read(path_roads)
ctg  <- readLAScatalog(path_laz)
dtm  <- raster(path_dtm)
crs(dtm) <- crs(roads)

measure_road(ctg, road[1,], dtm)  # Normal, no warnings
measure_road(ctg, road[2,], dtm)  # In max(sdZ, na.rm = T) : no non-missing arguments to max; returning -Inf
Jean-Romain commented 2 years ago

Normalement c'est corrigé. Une histoire de NA et d'interpolation de NA

Jean-Romain commented 2 years ago

Notes que cette route est mal trouvé a cause du lac. Comme je l'ai expliqué sans la couche hydro et sans classification water le meilleur chemin c'est souvent les lac et les rivière. Avec la couche hydro je suis presqie sûr que ca passe. Je vais essayer.

Jean-Romain commented 2 years ago

Je confirme

Avec la couche hydro Rplot

Sans la couche hydro Rplot01