Process and Visualize Point Cloud Data
There are PLY files hosted on the CyVerse Data Store: https://data.cyverse.org/dav-anon/iplant/projects/phytooracle
We want to convert these files to a cloud native data type, called Entwine Point Tiles (EPT), https://entwine.io/
EPT are ‘pyramids’ of folders and small files which break up a large single point cloud file into many smaller files. These are more easily ingested by the browser and streamed over the internet.
These can then be visualized over WebGL in the browser: https://potree.entwine.io/about.html
Visualization can be accomplished through the browser using Potree.org with .html
and .js
-- remember, these .html
and .js
can be included as 'frames' in a dashboard.
Data Conversion
Entwine & PDAL
PDAL is the Point Cloud Data Abstraction Library (pronounced “poo-duhl” or “pee-dawl”).
Entwine is a web based visualization format developed by the same group who create PDAL.
To convert the PLY to EPT – this may require an intermediate step, converting PLY → LAZ → EPT with https://pdal.io
PDAL can be run in Python (Jupyter) or on the command line as an executable application.
It can also be run from Docker containers or from a Conda installation.
PDAL uses .json
configuration files to run ‘pipelines’ which convert data, filter and then write files all in one step: https://pdal.io/pipeline.html https://pdal.io/workshop/exercises/translation/entwine.html
PDAL can also use .geojson
files for ‘boundary boxes’ which can be used to further segment EPT or LAZ datasets. https://geojson.io/#map=2/20.0/0.0
Visualization
Potree
Potree can convert LAZ files into its own format, independent of Entwine EPT – we’re asking for EPT because they’re also re-usable in GIS software.
Pure Potree visualization can be accomplished using the PotreeConverter https://github.com/potree/PotreeConverter
Potree 2.0 runs much faster on a local machine or a virtual machine (like Atmosphere) – but it won’t be sharable in the same way as EPT from the DataStore. (If you figure out how to run this from https://data.cyverse.org Tyson will give you a job).
Entwine
Once the data are converted to EPT format and have been uploaded to CyVerse they are available for visualization in Potree / Entwine / Cesium - you can view them by pointing at an existing Potree.Entwine viewer, or by running your own as a Docker container on a virtual machine.
Example of potree.entwine online via a URL (pointed to the view.html
):
https://potree.entwine.io/data/view.html?r=%22https://data.cyverse.org/dav-anon/iplant/home/tswetnam/pauli/lettuce/lettuce_season_10/%22
Cesium
Cesium https://cesium.com/ is a separate visualization platform that runs 3D maps. Cesium has been integrated with Potree http://potree.org/potree/examples/cesium_retz.html and with Entwine http://cesium.entwine.io/
IMPORTANT: Cesium ≠ Potree ≠ Entwine – but they do all play nicely together