Upload Point Cloud into WebODM

I’ve created a point cloud using another software. How do I go about uploading a .las, .ply, or .obj file into WebODM for viewing and measurements?

Hey @broyang :hand: currently WebODM does not support the upload of existing point clouds. This is an interesting feature however. Perhaps you could open a feature request on https://github.com/OpenDroneMap/WebODM/issues and/or help fund its development?

Hey @pierotofy, how can I reach you privately? Let’s talk about funding this development.

https://www.masseranolabs.com/contact/ :+1:

I’d love to be able to upload las files at the very least, to be able to view the data in Potree using WebODM. What ever came of this idea, or what needs to be done? I’d be happy to look into this if pointed in the right direction.

1 Like

Welcome! I’m not sure what transpired (or didn’t, it seems).

As for where to look, the best I can offer is here:

Hopefully someone comes along who knows better :slight_smile:

1 Like

Not sure if this is a supported feature in Potree. If it’s not available in Potree, it’s not available in WebODM.

One could write the code to: upload a LAS/LAZ file, run entwine/untwine to generate an EPT dataset, load the EPT dataset in Potree. But it’s a substantial effort.


Am I correct in thinking PotreeConvertor does exactly that?

Usage documentation says more-or-less: ./PotreeConverter /pointclouds/data.las -o /pointclouds/data_converted

If this is indeed doing everything that needs to be done, would a plugin be able to detect a .las file upload, process it using PotreeConvertor, then place the output where it needs to be? I believe their viewer just needs the data in data_converted.

1 Like

PotreeConverter works similarly to Entwine, but version 1 is no longer maintained and version 2 is proprietary, so we cannot include it in WebODM.


Thank you for your replies, I feel like I’m on the right track.

Entwine seems to support .las out of the box, and works similarly to PotreeConvertor. I base this conclusion on a few things. Here entwine specifies it supports anything that’s PDAL-readable. If you look at this tutorial or this doc, it appears that .las is indeed supported. Furthermore there’s an example here which is where I finalise my conclusion that it works similarly to PotreeConvertor: entwine build -i ~/data/chicago.laz -o ~/entwine/chicago (laz is just compressed las).

So I wonder if this is a suitable replacement for PotreeConvertor, and if it could be done via plugin.

1 Like

To add a little context here: WebODM does this specifically with ODM outputs already: it takes the LAZ output from the dense point cloud step and runs it through entwine. If there are memory issues, it runs it through untwine.

So: some of the piping is already there. The tricky bits would be building in the handlers for the upload process, having that upload trigger the processing, and then having hooks to bring that processed version back to the client in WebODM. It’s all eminently doable as a plugin. But it would need a champion and (whether the same person or a different one) a developer who could execute and contribute back.


I’m happy to develop a plugin and contribute back, my understanding with the license WebODM uses, is plugins are expected to be open-source, no? I work for a company, but we’re using WebODM under the understanding that anything we build onto it, will be open-source with the goal of PRing it back to upstream.

That sounds delightfully straight-forward if I’m being honest. I’m not intimately familiar with WebODM to fully understand what’s involved, but the general idea sounds 1:1 what we were going to do before we discovered WebODM. Do you have documentation you think I’d need to tackle this plugin?


Not a whole lot unfortunately: GitHub - OpenDroneMap/WebODM: User-friendly, commercial-grade software for processing aerial imagery. 🛩

The best way is to look at existing plugins (not ideal, but it’s something). Hopefully in the near future we’ll have better docs for it.

We’d much appreciate a PR if you build one. :+1: and feel free to ask questions in the “Developers Chat” channel if you get stuck.