umr-amap / aRchi

R package aRchi. Tree architecture from terrestrial laser scanning (TLS) data
21 stars 6 forks source link

How to generate a QSM from a pointcloud #10

Closed Micbut closed 1 year ago

Micbut commented 1 year ago

Hi, I understood that it should be possible to generate a QSM from a point cloud using the new version of the package aRchi.

I have a point cloud in the format (.pcd) - is that accepted?

From one example provided in the manual, I should start defining tls - however I don't understand what is the first entry in system.file

tls=system.file("extdata","Tree_2_point_cloud.las",package = "aRchi") tls = lidR::readLAS(tls)

Any advices?

This tool is amazing btw

Micbut commented 1 year ago

I also tried to use a (.las) file and I still cannot manage. Probably I am doing something else wrong.

oliviermartin7 commented 1 year ago

Hi,

"tls" is the path to your pointcloud.

".pcd" is not accepted but ".las" is accepted

Best,

Olivier

Micbut commented 1 year ago

Dear Olivier, thank you for your answer I am still trying to access correctly the file I want to upload.

Let's assume I want to access the example Tree_2_point_cloud.las file

I located the file in C:/Users/buttu001/ I am using the following comand but it generates an empty tls tls=system.file("C:/Users/buttu001/","Tree_2_point_cloud.las",package = "aRchi")

What am I doing wrong?

oliviermartin7 commented 1 year ago

Hi,

If you want to load the example file you just have to do:

tls=system.file("extdata","Tree_2_point_cloud.las",package = "aRchi") tls = lidR::readLAS(tls)

and then to generate a QSM:

aRchi = aRchi::build_aRchi() aRchi = aRchi::add_pointcloud(aRchi,point_cloud = tls)

aRchi = skeletonize_pc(aRchi)

aRchi = smooth_skeleton(aRchi)

plot your skeleton: plot(aRchi,show_point_cloud = TRUE)

If you want to add radius:

aRchi = aRchi::add_radius(aRchi)

to plot your final QSM:

plot(aRchi,skeleton = FALSE,show_point_cloud = FALSE)

you basically just copy/paste the lines that are described in the help file....

If you want to to it with your own point cloud (las file):

tls = lidR::readLAS("path_to_your_pointcloud")

if your point cloud is in "C:/Users/buttu001/your_point_cloud.las" the :

tls = lidR::readLAS("C:/Users/buttu001/your_point_cloud.las")

and then same lines as above to generate a QSM

system.file() is just the path to your R library where the example point cloud. It finds the full file names of files in packages

Olivier