glob3 mobile. point cloud streaming
TRANSCRIPT
Glob3 Mobile:
Point Clouds Streaming
visualization of huge point-clouds
on mobile devices
Manuel de la Calle
FOSS4G Europe 2015
@mdelacalle
- Glob3 Mobile (G3M)
- Point Clouds Visualization- Importing
- LOD preprocessing
- Streaming and Rendering
Overview
Glob3 Mobile (G3M) is:
an open source* API to
build native maps applications that
runs on any device
Introduction
(*) github.com/glob3mobile/g3m
Features I
Multiplatformone API to rule them all!
- native performance everywhere
- today, it runs natively on
- iOS (iPhone, iPad, iPod)
- Android (you know, zillions of devices)
- Google Glass!
- HTML5
- medium/large term
- Windows 8
- desktop version
Features II
2D/3D Mapsbecause the world is not flat!
- whole world, 2D or 3D views
- scenario (aka just a piece of the world)
Features III
Any kind of data
- raster
- terrain elevation
- vectorial
- vector tiles
- symbology (rasterization, labels,
markers, 3d shapes, etc)
- points clouds (LiDAR, laser scanner, etc)
- 3d models
Features IV
Offline / Online- any good mobile solution is composed of a mix of server/mobile parts
- realtime
- cache subsystem
Camera and Models animations- have to wait the demo to see it
Utilities- periodical tasks, 2d rendering API, HUD
Assorted examples I
Assorted examples II
- Glob3 Mobile (G3M)
- Point Clouds Visualization- Importing
- LOD preprocessing
- Streaming and Rendering
Overview
Point Cloud: Importing
Divide & Conquer
- Planetary level virtual QuadTree (scales to Octree)
- Key/Value store (BerkeleyDB)
- Store only leaf-nodes
- Quadkeys: 01012
- Traversal sorted by key → depth first tree traversal
Point Cloud: Importing - test results
~2.8 billions (2.776.406.166) points in ~19hs
- My notebook, using a slow external USB hard disk for
storage
- Nodes: 90219
- Depth Levels: 13/19, Average=18.160543
- Points/Node: Average=30774.074, Min=1, Max=65533
Point Cloud: LOD preprocessing
kd-tree to sort tiles produced on “Importing”
- Split my max axis on median
- The split point is a good representation of the children
substructure
- Each level of the tree is a LOD Level
Point Cloud: LOD preprocessing - test results
Sorted the ~2.8 billions points in ~19hs
- Same hardware
- LOD Levels: 1328303 (for 90219 nodes)
Levels/Node=14.723096
- Points/Level: Average=2090.1904
Point Cloud: Streaming and Rendering
- download of point-cloud metadata
- Size, covered sector, min/max height, etc
- Description of Quadtree nodes
- Bounding box
- Average point
- LOD Levels
- Based on the projected size of the BB, estimate how many
LOD levels are needed
- Download the the next to the current loaded level
- Cancel current download in case it's not more needed
Demo
Demo time!
http://point-cloud.glob3mobile.com
Glob3 Mobile:
Point Clouds Streaming
visualization of huge point-clouds
on mobile devices
Manuel de la Calle
FOSS4G Europe 2015
@mdelacalle