new features in whirlyglobe-maply version 2.4 and beyond!

Post on 16-Apr-2017

329 Views

Category:

Software

10 Downloads

Preview:

Click to see full reader

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