serving and rendering huge point cloud on mobile devices and web pages

18
Glob3 Mobile: Serving and rendering huge point clouds on mobile devices and web pages (aka: Feature Streaming server & Client) Manuel de la Calle FOSS4G 2015 @mdelacalle [email protected]

Upload: manuel-de-la-calle

Post on 22-Jan-2018

101 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Serving and rendering huge point cloud on mobile devices and web pages

Glob3 Mobile: Serving and rendering huge point clouds on mobile devices and web

pages

(aka: Feature Streaming server & Client)

Manuel de la CalleFOSS4G 2015

@mdelacalle [email protected]

Page 2: Serving and rendering huge point cloud on mobile devices and web pages

Glob3 Mobile (G3M) is:an open source* API to build native maps applications thatruns on any device

(*) github.com/glob3mobile/g3m

Page 3: Serving and rendering huge point cloud on mobile devices and web pages

Multiplatformnative performance everywhere

Page 4: Serving and rendering huge point cloud on mobile devices and web pages

2D/3D Maps

Page 5: Serving and rendering huge point cloud on mobile devices and web pages

Any kind

of data

Page 6: Serving and rendering huge point cloud on mobile devices and web pages

Offline / OnlineCamera and Models

animations

Utilities

Page 7: Serving and rendering huge point cloud on mobile devices and web pages
Page 8: Serving and rendering huge point cloud on mobile devices and web pages
Page 9: Serving and rendering huge point cloud on mobile devices and web pages

Streaming

Page 10: Serving and rendering huge point cloud on mobile devices and web pages

Rendering and interaction with huge datasets

Smooth experience

Looking for the best Performance● Optimize network usage, download only the data

relevant to the current visible area of the map

● Minimize the waiting time to view/interact

○ download the “most significative” features first

○ show the incoming data as soon as it’s available

○ when more detailed data arrives, update the view

with more data

Why streaming geo features?

Page 11: Serving and rendering huge point cloud on mobile devices and web pages

Architecture bird view

Data importation

LOD Preprocessing

Rendering

Page 12: Serving and rendering huge point cloud on mobile devices and web pages

Data importation

- Import huge unsorted data into a Quadtree on disk

- No size limit (ok, not really, the disk space is the limit)

- Key/Value storage: Started with BerkeleyDB, switched to MapDB

- The resulting Quadtree gives the first categorization of the data into “Tiles”

- Produces useful metadata like Bounding Box, Features Count, Density, etc

Page 13: Serving and rendering huge point cloud on mobile devices and web pages

LOD (Level of Detail) Preprocessing

- produces the intermediate LOD levels

- sort the data in a “stream” friendly format

- most-significative features go first, least-significative go last

- LOD Strategies

- Shape preserving → for LiDAR point-clouds

- Sorting → for point-vector datasets with a clear sorting criteria

- Clustering → for point-vector datasets with all the features are “equals”

Page 14: Serving and rendering huge point cloud on mobile devices and web pages

LOD Strategies

Shape preserving

- Selection of points where the most-significative are the ones that describe

the general shape of the point-cloud. The shape of the cloud is always

preserved (inclusive in the less-resolution levels).

Sorting

- The sorting criteria defines which features are the most and least

significative.

Clustering

- The intermediate levels are filled with Clustering information that describes

the structure of the full-detailed-levels

Page 15: Serving and rendering huge point cloud on mobile devices and web pages

LOD 0

LOD 1

LOD 2

Page 16: Serving and rendering huge point cloud on mobile devices and web pages

Rendering

- download of 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 next to the current loaded level

- cancel current download in case it's not more needed

Streaming 7

Page 17: Serving and rendering huge point cloud on mobile devices and web pages

Demo time!

http://www.mapboo.comhttp://point-cloud.glob3mobile.com

Google play

Apple Store

Page 18: Serving and rendering huge point cloud on mobile devices and web pages

Glob3 Mobile: Serving and rendering huge point clouds on mobile devices and web

pages

(aka: Feature Streaming server & Client)

Manuel de la CalleFOSS4G 2015

@mdelacalle [email protected]