new features in whirlyglobe-maply version 2.4 and beyond!

65
New Features in WhirlyGlobe-Maply Version 2.4 & Beyond ! Steve Gifford mousebird consulting inc

Upload: mousebird

Post on 16-Apr-2017

329 views

Category:

Software


10 download

TRANSCRIPT

Page 1: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

New Features in

WhirlyGlobe-Maply Version 2.4 & Beyond!

Steve Gifford mousebird consulting inc

Page 2: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Overview

Introduction History & people Interesting Features Boring Features Future Directions Wrap-up

Page 3: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

WhirlyGlobe-MaplyAn open source, mobile first geospatial display toolkit.

Apache 2.0 License

OpenGL ES 3.0

Fast: 60, 30fps

Globe & Map

iOS & Android

Page 4: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

UsersWeather

Maps

AerospaceEducation

Page 5: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

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

Page 6: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

WhirlyGlobe-Maply Size

Module Number of Lines

Core Library 55,389

iOS Interface 46,378

Android Interface 32,489

Total 134,256

Page 7: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Who’s Working on it

José Navarro

Ranen Ghosh

Hiring soon(ish)?

Page 8: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

mousebird consulting incConsulting

OEM Deals

Support Contract

iOS & Android

Questions

Bug fixes

Training

Page 9: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Feature Breakdown

How the feature used to work How it works now Does it work on Android? Where are we going with it?

Page 10: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 11: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

And so on….

Page 12: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 13: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 14: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 15: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Image Basemaps

Page 16: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Animated Basemaps

Page 17: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Ramp Shader

Page 18: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 19: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Future: Bicubic Interpolation

Bilinear BicubicImages Courtesy of Wikipedia

Page 20: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Future: Edge Stitching

Breaks caused by tiling Fixable with smart tile lookup in shader Devices fast enough now

Page 21: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

3D Models

Page 22: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Model Builder & Extruder

Page 23: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Moving Models

Page 24: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Android Model Support

Page 25: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Future: Model Support

glTF Support Khronos Model Interchange Standard Better Shading & Transforms More model builder functionality

Page 26: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Local Terrain DB

sqlite format

custom tools

Cesium Terrain

terrain mesh

open source(ish)

incomplete

Terrain Support

Page 27: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 28: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

TMS Style Sources

(0,0)

Normal Tiling Cesium Terrain Tiling

(0,0) (1,0)

Page 29: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Android Terrain Support

Page 30: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Cesium Terrain Resample/chop images Fix edges between tiles Surface materials (e.g. water)

Other sources Mapzen?

Future: Terrain Support

Page 31: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Existing Vector Map SupportLabels

Markers

Lines

Areal Features

Formats

GeoJSON

Shapefiles

Custom

Page 32: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Wide Vectors

Page 33: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

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

Page 34: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Vector Tiles with Mapnik XML

Page 35: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Mapbox GL Style Support

Parses and builds

Missing features

Sprite sheets

Transitions

Shader support

Lacking subtlety

Page 36: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Vector Tiles with Custom Style

Page 37: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

GeoPackage & SLD SupportGeoPackage

SQLite database

Holds geometry & images

Allows searching

Styled Layer Descriptor Format

Vector styling standard

Supported by a range of tools

Page 38: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Android SupportVector Tiles

Coming Soon

Image & Vector Support

GeoPackage

Not Yet

Styled Layer Descriptor

Not Yet

Page 39: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Web Mercator

Page 40: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Web Mercator + British National Grid Source

Page 41: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

British National Grid + Web Mercator Source

Page 42: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

British National Grid on Globe

Page 43: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Android Support

Page 44: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Future: Projection Support

A few bugs to sort out Better Feedback on Proj.4 setup failures Detection of missing grid files

Page 45: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Atmosphere + Night/Day Shader

Page 46: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Sun & Moon

Page 47: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 48: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 49: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Moving Screen Objects

Page 50: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Android: Moving Objects

Page 51: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

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

Page 52: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Marker Clustering

Page 53: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Marker Clustering

Page 54: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Android: Marker Clustering

Page 55: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Particle Systems

Page 56: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 57: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Point Clouds

Page 58: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Android: Point Clouds

Page 59: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

AutoTester

Page 60: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!
Page 61: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Future: Build & Testing

Continuous Integration On change & nightly builds

Binary Distribution Automated Device Testing

Tests run on-device Results sent to developers

Page 62: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Toolkit Architecture

WhirlyGlobe Core Lib

C++

Objective C

Swift

OpenGL ES

WhirlyGlobe Core Lib

C++ OpenGL ES

Java

iOS Android

Java Native Interface

Page 63: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

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

Page 64: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

ResourcesTutorials Reference docs github repo github Issues Active community

Page 65: New features in WhirlyGlobe-Maply Version 2.4 and Beyond!

Wrap up

[email protected]

@mousebirdc

mousebird.github.io/WhirlyGlobe/