Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
New Features
in
WhirlyGlobe-Maply
Version 2.4 & Beyond!
Steve Gifford
mousebird consulting inc
Overview
Introduction
History & people
Interesting Features
Boring Features
Future Directions
Wrap-up
WhirlyGlobe-Maply
An open source, mobile first
geospatial display toolkit.
Apache 2.0 License
OpenGL ES 3.0
Fast: 60, 30fps...
Users
Weather
Maps
Aerospace
Education
WhirlyGlobe-Maply Timeline
Date Version Major Features
Feb 2011 0.0 --
Jun 2011 1.0 Single Res Globe, Vectors, Labels
Aug ...
WhirlyGlobe-Maply Size
Module Number of Lines
Core Library 55,389
iOS Interface 46,378
Android Interface 32,489
Total 134,...
Who’s Working on it
José Navarro
Ranen Ghosh
Hiring soon(ish)?
mousebird consulting inc
Consulting
OEM Deals
Support Contract
iOS & Android
Questions
Bug fixes
Training
Feature Breakdown
How the feature used to work
How it works now
Does it work on Android?
Where are we going with it?
And so on….
Image Basemaps
Animated Basemaps
Ramp
Shader
Future: Bicubic Interpolation
Bilinear Bicubic
Images Courtesy of Wikipedia
Future: Edge Stitching
Breaks caused
by tiling
Fixable with
smart tile lookup
in shader
Devices fast
enough now
3D Models
Model Builder & Extruder
Moving Models
Android Model Support
Future: Model Support
glTF Support
Khronos Model Interchange Standard
Better Shading & Transforms
More model builder funct...
Local Terrain DB
sqlite format
custom tools
Cesium Terrain
terrain mesh
open source(ish)
incomplete
Terrain Support
TMS Style Sources
(0,0)
Normal Tiling Cesium Terrain Tiling
(0,0) (1,0)
Android Terrain Support
Cesium Terrain
Resample/chop images
Fix edges between tiles
Surface materials (e.g. water)
Other sources
Mapzen?
Future: T...
Existing Vector Map Support
Labels
Markers
Lines
Areal Features
Formats
GeoJSON
Shapefiles
Custom
Wide Vectors
Vector Tiles
What do we mean?
Could be GeoJSON
Probably means Mapbox Vector Tiles
Data vs. Style
Data is in Mapbox Vector ...
Vector Tiles
with
Mapnik XML
Mapbox GL Style Support
Parses and builds
Missing features
Sprite sheets
Transitions
Shader support
Lacking subtlety
Vector Tiles
with
Custom Style
GeoPackage & SLD Support
GeoPackage
SQLite database
Holds geometry & images
Allows searching
Styled Layer Descriptor Forma...
Android Support
Vector Tiles
Coming Soon
Image & Vector Support
GeoPackage
Not Yet
Styled Layer Descriptor
Not Yet
Web Mercator
Web Mercator +
British National Grid Source
British National Grid +
Web Mercator Source
British National Grid
on Globe
Android Support
Future: Projection Support
A few bugs to sort out
Better Feedback on Proj.4 setup failures
Detection of missing grid files
Atmosphere +
Night/Day Shader
Sun & Moon
Moving
Screen Objects
Android: Moving Objects
Screen Object Builder
Add objects one at a time
Text, Images, Vectors
Control as a single object
Partly there for Billboar...
Marker Clustering
Marker Clustering
Android: Marker Clustering
Particle Systems
Point Clouds
Android: Point Clouds
AutoTester
Future: Build & Testing
Continuous Integration
On change & nightly builds
Binary Distribution
Automated Device Testing
Tes...
Toolkit Architecture
WhirlyGlobe
Core Lib
C++
Objective C
Swift
OpenGL ES
WhirlyGlobe
Core Lib
C++
OpenGL ES
Java
iOS Andr...
Porting The Toolkit
Mobile Operating Systems
iOS & Android (core systems)
Windows Phone
Desktop Operating Systems
Windows ...
Resources
Tutorials
Reference docs
github repo
github Issues
Active community
Wrap up
contact@mousebirdconsulting.com
@mousebirdc
mousebird.github.io/WhirlyGlobe/
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Upcoming SlideShare
Loading in …5
×

New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

720 views

Published on

A roundup of new features in the WhirlyGlobe-Maply toolkit for versions 2.4 and 2.5. WhirlyGlobe-Maply is a mobile first geospatial display toolkit for iOS and Android.

Published in: Software
  • Be the first to comment

  • Be the first to like this

New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

  1. 1. New Features in WhirlyGlobe-Maply Version 2.4 & Beyond! Steve Gifford mousebird consulting inc
  2. 2. Overview Introduction History & people Interesting Features Boring Features Future Directions Wrap-up
  3. 3. WhirlyGlobe-Maply An open source, mobile first geospatial display toolkit. Apache 2.0 License OpenGL ES 3.0 Fast: 60, 30fps Globe & Map iOS & Android
  4. 4. Users Weather Maps Aerospace Education
  5. 5. WhirlyGlobe-Maply Timeline Date Version Major Features Feb 2011 0.0 -- Jun 2011 1.0 Single Res Globe, Vectors, Labels Aug 2011 1.1 Selection, Binary Distro Jan 2012 1.2 Markers, Lofted Polys Sep 2012 2.0 Overlays, Vector Styles, Multi Res Globe 2D Labels and Markers, Maply Apr 2013 2.1 Shapes, Text Layout OpenGL ES 2.0, Component Distro Oct 2013 2.2 Performance, Shaders, Elevation Maply Features Mar 2014 2.3 Animation, Tiled Vector Maps, 2D Map Features, Android Feb 2016 2.4 Atmosphere, Night/Day shading, Particles, Stars Sun & Moon, Cesium Elevation, 3D models, Shader Motion Summer 2016 2.5 Swift, Android, Point Clouds, 3D Models, Terrain, Vector Tiles, Custom Projections, Automated Testing
  6. 6. WhirlyGlobe-Maply Size Module Number of Lines Core Library 55,389 iOS Interface 46,378 Android Interface 32,489 Total 134,256
  7. 7. Who’s Working on it José Navarro Ranen Ghosh Hiring soon(ish)?
  8. 8. mousebird consulting inc Consulting OEM Deals Support Contract iOS & Android Questions Bug fixes Training
  9. 9. Feature Breakdown How the feature used to work How it works now Does it work on Android? Where are we going with it?
  10. 10. And so on….
  11. 11. Image Basemaps
  12. 12. Animated Basemaps
  13. 13. Ramp Shader
  14. 14. Future: Bicubic Interpolation Bilinear Bicubic Images Courtesy of Wikipedia
  15. 15. Future: Edge Stitching Breaks caused by tiling Fixable with smart tile lookup in shader Devices fast enough now
  16. 16. 3D Models
  17. 17. Model Builder & Extruder
  18. 18. Moving Models
  19. 19. Android Model Support
  20. 20. Future: Model Support glTF Support Khronos Model Interchange Standard Better Shading & Transforms More model builder functionality
  21. 21. Local Terrain DB sqlite format custom tools Cesium Terrain terrain mesh open source(ish) incomplete Terrain Support
  22. 22. TMS Style Sources (0,0) Normal Tiling Cesium Terrain Tiling (0,0) (1,0)
  23. 23. Android Terrain Support
  24. 24. Cesium Terrain Resample/chop images Fix edges between tiles Surface materials (e.g. water) Other sources Mapzen? Future: Terrain Support
  25. 25. Existing Vector Map Support Labels Markers Lines Areal Features Formats GeoJSON Shapefiles Custom
  26. 26. Wide Vectors
  27. 27. Vector Tiles What do we mean? Could be GeoJSON Probably means Mapbox Vector Tiles Data vs. Style Data is in Mapbox Vector Tile Format Style is… elsewhere Supported Styles Mapnik XML Mapbox GL Style Format Roll your own
  28. 28. Vector Tiles with Mapnik XML
  29. 29. Mapbox GL Style Support Parses and builds Missing features Sprite sheets Transitions Shader support Lacking subtlety
  30. 30. Vector Tiles with Custom Style
  31. 31. GeoPackage & SLD Support GeoPackage SQLite database Holds geometry & images Allows searching Styled Layer Descriptor Format Vector styling standard Supported by a range of tools
  32. 32. Android Support Vector Tiles Coming Soon Image & Vector Support GeoPackage Not Yet Styled Layer Descriptor Not Yet
  33. 33. Web Mercator
  34. 34. Web Mercator + British National Grid Source
  35. 35. British National Grid + Web Mercator Source
  36. 36. British National Grid on Globe
  37. 37. Android Support
  38. 38. Future: Projection Support A few bugs to sort out Better Feedback on Proj.4 setup failures Detection of missing grid files
  39. 39. Atmosphere + Night/Day Shader
  40. 40. Sun & Moon
  41. 41. Moving Screen Objects
  42. 42. Android: Moving Objects
  43. 43. Screen Object Builder Add objects one at a time Text, Images, Vectors Control as a single object Partly there for Billboards Coming for 2D Objects Custom Text More Text
  44. 44. Marker Clustering
  45. 45. Marker Clustering
  46. 46. Android: Marker Clustering
  47. 47. Particle Systems
  48. 48. Point Clouds
  49. 49. Android: Point Clouds
  50. 50. AutoTester
  51. 51. Future: Build & Testing Continuous Integration On change & nightly builds Binary Distribution Automated Device Testing Tests run on-device Results sent to developers
  52. 52. Toolkit Architecture WhirlyGlobe Core Lib C++ Objective C Swift OpenGL ES WhirlyGlobe Core Lib C++ OpenGL ES Java iOS Android Java Native Interface
  53. 53. Porting The Toolkit Mobile Operating Systems iOS & Android (core systems) Windows Phone Desktop Operating Systems Windows (C#) Mac/OS X (Obj-C/Swift) Linux (C++) Web Browser Javascript & WebGL
  54. 54. Resources Tutorials Reference docs github repo github Issues Active community
  55. 55. Wrap up contact@mousebirdconsulting.com @mousebirdc mousebird.github.io/WhirlyGlobe/

×