serving and rendering huge point cloud on mobile devices and web pages
TRANSCRIPT
![Page 1: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/3.jpg)
Multiplatformnative performance everywhere
![Page 4: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/4.jpg)
2D/3D Maps
![Page 5: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/5.jpg)
Any kind
of data
![Page 6: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/6.jpg)
Offline / OnlineCamera and Models
animations
Utilities
![Page 7: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/7.jpg)
![Page 8: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/8.jpg)
![Page 9: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/9.jpg)
Streaming
![Page 10: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/11.jpg)
Architecture bird view
Data importation
LOD Preprocessing
Rendering
![Page 12: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/15.jpg)
LOD 0
LOD 1
LOD 2
![Page 16: Serving and rendering huge point cloud on mobile devices and web pages](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022030401/58adcc6b1a28ab33798b4713/html5/thumbnails/18.jpg)
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]