new features in whirlyglobe-maply version 2.4 and beyond!
Post on 16-Apr-2017
329 Views
Preview:
TRANSCRIPT
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-MaplyAn open source, mobile first geospatial display toolkit.
Apache 2.0 License
OpenGL ES 3.0
Fast: 60, 30fps
Globe & Map
iOS & Android
UsersWeather
Maps
AerospaceEducation
WhirlyGlobe-Maply TimelineDate 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
WhirlyGlobe-Maply Size
Module Number of Lines
Core Library 55,389
iOS Interface 46,378
Android Interface 32,489
Total 134,256
Who’s Working on it
José Navarro
Ranen Ghosh
Hiring soon(ish)?
mousebird consulting incConsulting
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 BicubicImages 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 functionality
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: Terrain Support
Existing Vector Map SupportLabels
Markers
Lines
Areal Features
Formats
GeoJSON
Shapefiles
Custom
Wide Vectors
Vector TilesWhat 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
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 SupportGeoPackage
SQLite database
Holds geometry & images
Allows searching
Styled Layer Descriptor Format
Vector styling standard
Supported by a range of tools
Android SupportVector 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 Billboards Coming for 2D Objects
Custom Text
More Text
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
Tests run on-device Results sent to developers
Toolkit Architecture
WhirlyGlobe Core Lib
C++
Objective C
Swift
OpenGL ES
WhirlyGlobe Core Lib
C++ OpenGL ES
Java
iOS Android
Java Native Interface
Porting The ToolkitMobile 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
ResourcesTutorials Reference docs github repo github Issues Active community
Wrap up
contact@mousebirdconsulting.com
@mousebirdc
mousebird.github.io/WhirlyGlobe/
top related