Potree Point Clouds in the Browser with WebGL Daniel Kastl - FOSS4G 2015
About me Geographer, Mapper, Software Developer Maintainer of the pgRouting Project Founder of Georepublic Living in Germany and Japan Enjoy Open Source FOSS4G Recently involved in Point Clouds 2
What do we do with Point Clouds? 3
4
5
6
You can create your own Point Cloud? 7
8
9
10
11
1.2 GB LAS file ~45 Mio. points 12
How do we show mBillions of Points? 13
Potree A WebGL point cloud viewer for large datasets. ● An Open Source project developed by Markus Schütz (and ● growing number of contributors) Financially supported by Rapidlasso, Georepublic and ● others 14
How does Potree work? Only a small part of ● data is essential for a given point of view A multi-resolution ● Octree allows to quickly cull away unnecessary data and only load what is needed. 15
How does Potree work? Low-level nodes contain ● low resolution models of large areas Resolution increases ● while coverage decreases at higher levels Works similar to map ● tiling 16
How does Potree work? Each Octree node stored ● in a separate file Server is only necessary ● as file store No server side ● application required 17
Potree Javascript Library Data conversion with the PotreeConverter ● Uses Three.js rendering engine and inherits its ● capabilities Client-side LAS and LAZ support from Plas.io ● API for (measurement) tools ● Open Source license (FreeBSD) ● 18
Data format (PotreeConverter) Input : ● las, laz and ply files ○ Output : ● Cloud.js file for metadata ○ (BBOX, spacing, storage format) Octree nodes (las, laz or bin format) ○ with position, color, intensity and classification information hrc files for the Octree hierarchy ○ 19
Storage Format Octree nodes stored in a directory hierarchy ● Each directory contains: ● a subset of the Octree with 4-6 levels ○ a “hrc” file with the hierarchy, that is stored in the current ○ directory 20
“Beautiful Point Clouds” Interpolation and high- ● quality splats Increase readability of ○ fine details Avoid overlapping points ○ through nearest-neighbor like interpolation or by blending overlapping points together 21
“Beautiful Point Clouds” Eye-Dome-Lighting (EDL) ● Illumination without ○ normals Outlines enhance depth- ○ perception Especially useful to render ○ elevation, classification or single-color 22
Features at a Glance Support for very large point clouds ● Adaptive point size - adjust point size to reduce holes ● Eye-Dome-Lighting (EDL) - illumination without normals ● Renders RGB, elevation, intensity, classification, etc. ● High-quality rendering modes (interpolation & splats) ● Distance and area measurements, height profiles ● Clipping volumes ● 23
Limitations Browser security policies require to run Potree from a ● web-server. Requires WebGL. ● Some systems (Nvidia with Optimus) choose slow onboard graphics card for WebGL apps, even if a faster one is available. Fast one has to be chosen manually in NVIDIA settings. Only for viewing and analyzing, not manipulation of data. ● 24
Challenges Processing of large datasets ● Data streaming to the browser ● 3D-Tiles specification? ○ User-friendly navigation ● 25
Who is using Potree? Various Companies and Institutions ● As well as researchers, students, digital heritage, ... ● 26
Examples http://potree.org/wp/demo 27
Version 1.3 released - What comes next? Projecting maps onto point clouds in real time ● Combine with the Cesium Globe renderer ● Load and display point cloud formats without conversion ● Further improve performance and push the boundaries ● Improve support for mobile devices ● Additional tools and rendering modes ● 28
A lot more is possible and funding will help to make it happen! 29
Interested in Potree? Project: http://www.potree.org Email: daniel@georepublic.de Twitter: @dkastl Thank you! 30
More recommend