Point cloud to Raster workflow

What is the best way to convert Point Cloud to DEM?

I have tried PDAL but it leaves big gaps in between. Las2Dem or Blast2Dem process upto 5 million points and they leave black diagonals in the DEMs.

1 Like
4 Likes

You can use CloudCompare. There you can separate non-ground object from ground, perform smart sampling, smoothing and of course make DEM/DSM/Ortophoto.

Edit:
CC can also fill gaps in the raster according to your wishes and you can choose max/min/average value to put on a pixel if that pixel covers more than one pixe.

4 Likes

I guess CC requires GPU for processing. I had trouble in running CC in the past too.

1 Like

Can we use it through pyodm?

I have pulled up GitHub - OpenDroneMap/WebODM: User-friendly, commercial-grade software for processing aerial imagery. 🛩. Then I use pyodm library to process the dataset.

After getting the results, I want to post process Point Cloud and then generate a DEM. So if I can get python wrappers of pc2dem, it would be more useful.

I am also little less acquainted with docker stuff. I tried running the following command
sudo docker run -ti --rm -v /home/ubuntu/lasfile:/input --entrypoint /home/ubuntu/ODM/contrib/pc2dem/pc2dem.py opendronemap/odm /input/pc.las and got the following error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/home/ubuntu/ODM/contrib/pc2dem/pc2dem.py": stat /home/ubuntu/ODM/contrib/pc2dem/pc2dem.py: no such file or directory: unknown.

1 Like

Mm, you cannot use it through pyodm. Are you processing the same point cloud generated by ODM? Then just pass the --dsm option when processing a task. You will get a DSM as output automatically without needing to invoke another program.

Don’t change the --entrypoint parameter (leave it as indicated in the pc2dem README).

1 Like

Yes I am using the same point cloud generated by ODM. But, I want to generate different DTM (not the one generated through WebODM). Therefore, I want to post-process the same point cloud. Then, I would get the ground point-cloud. I have achieved this much. But I am stuck after this. Basically, now I want to convert ground point-cloud to DTM.
I just want to automate this whole process.

I have aleady automated in python script with the help of pyODM.
So, how could I use pc2dem tool with my existing workflow?

1 Like

Finally after studying about Docker stuff for few days, I finally got to know how to run this tool. I was making very noobs mistakes. I am extremely delighted with pc2dem tool.

A big shout out to the whole team for making this open source and properly documenting each and everything. :grinning:

3 Likes