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 mdelacalle@glob3mobile.com
Glob3 Mobile (G3M) is: an open source * API to build native maps applications that runs on any device (*) github.com/glob3mobile/g3m
Multiplatform native performance everywhere
2D/3D Maps
Any kind of data
Offline / Online Camera and Models animations Utilities
Streaming
Why streaming geo features? 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
Architecture bird view Data importation LOD Preprocessing Rendering
Data importation - Import huge unsorted data into a Quadtree on disk - No size limit (ok, not really, the disk space is the limit) - The resulting Quadtree gives the first categorization of the data into “Tiles” - Produces useful metadata like Bounding Box, Features Count, Density, etc
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”
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
LOD 0 LOD 1 LOD 2
Streaming 7 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
Demo time! http://www.mapboo.com http://point-cloud.glob3mobile.com Google play Apple Store
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 mdelacalle@glob3mobile.com
Recommend
More recommend