plasio is a project by Uday Verma and Howard Butler that implements point cloud rendering capability in a browser. Specifically, it provides a functional implementation of the ASPRS LAS format, and it can consume LASzip-compressed data using LASzip NaCl module. Plasio is Chrome-only at this time, but it is hoped that other contributors can step forward to bring it to other browsers.
It is expected that most WebGL-capable browers should be able to support plasio, and it contains nothing that is explicitly Chrome-specific beyond the optional NaCL LASzip module. We just haven't tested it beyond Mac and Windows Chrome Canary at this time.
http://plas.io contains a demo of the interface and supports both LAS and LAZ.
What does the name plasio mean?
Nothing.
What are future plans for the software?
We hope that plasio provides a significant enough capability that others start to contribute exploitation and visualization flourishes.
When will it support X, Y, or Z?
The software is its formative stages at this point, and pull requests that provide new capabilities or fix signficant issues are going to be the most persuasive way to impact its future development.
Plasio uses the Gulp build system and requires Node.js 22 or newer (e.g. nvm use 22).
To setup the development environment, you can run:
npm install
This will download all dependencies required to setup the build system.
LAZ decompression is provided by the laz-perf
WASM build, vendored as workers/laz-perf.js and workers/laz-perf.wasm. To update
it, bump the laz-perf package and copy node_modules/laz-perf/lib/laz-perf.js and
node_modules/laz-perf/lib/laz-perf.wasm over those files.
You can then build and stage files under the build directory by running:
npx gulp
While developing, you may run:
npx gulp develop
This will serve built files locally and open your default browser pointing to the index page. Any changes you make to
source files will fire gulp tasks that will keep the build directory up to date. The build system also uses
gulp's live-reload plugin, which works great with Google Chrome's Live Reload extension.
The gulp file includes a task to publish directly to plas.io, however, you need AWS Access for that to work. You may direct plasio
to your own AWS buckets, in which case you will have to edit gulpfile.js to direct it likewise.
The publish task looks for ~/.aws.json which is passed to gulp-awspublish as its
configuration and should include region and a credentials object with
accessKeyId and secretAccessKey.
To publish to AWS simply run:
npx gulp publish
- Blue Marker Icon from Function Icons By Liam McKay
- High precision GPU point picking wouldn't have been possible without the Work done here.
- Carlos Scheidegger for GPU float to bytes conversion.
The software is licensed under the permissive MIT license.