Geospatial Mobile Apps
Using an
Open Source Toolkit
Steve Gifford
mousebird consulting inc
Overview
Introduction
WhirlyGlobe-Maply Toolkit
Geospatial on the web
Geospatial with native tools for mobile
App examples
WhirlyGlobe-Maply
An open source, mobile first
geospatial display toolkit.
Apache 2.0 License
OpenGL ES 3.0
Fast: 60, 30fps
Vectors, base maps,
labels, shapes and more
iOS
Android
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
Oct 2015 2.4
Atmosphere, Night/Day shading, Particles, Stars Sun & Moon,
Cesium Elevation, 3D models, Shader Motion
Users
Weather
Maps
Aerospace
Education
Dark Sky: Weather
Gaia GPS: Mapping
World Atlas: Education
FlyQ EFB: Aviation
Simple Geospatial Apps
Bike Share
NASA Browser
Tremor Tracker
Web Tools for Geospatial
Torque
Mapbox GL
Web Geospatial for Mobile
You can, but keep it simple
Not as interactive
Not very well integrated
Example
Google Maps for Web (vs)
Google Maps App
Native Dev for Mobile
Pros
Apps more interactive
Better integrated into system
Cons
Development tools unfamiliar
One version of app per platform
Android Dev Tools
Eclipse
Android Studio
Free
Eclipse Android Studio
iOS Dev Tools
Xcode
iOS Tutorials
Apple’s Own Tutorials
developer.apple.com
Apple’s Xcode Templates
Ray Wenderlich’s site
www.raywenderlich.com/tutorials
Many others (search: ‘iOS tutorial’)
WhirlyGlobe-Maply Tutorials
App Examples
Data Source
Basemap or reference data
iOS Tutorial and/or Template
User Interface Elements
WhirlyGlobe-Maply Tutorial(s)
Tremor Tracker: Demo
Data Source
Basemap
iOS Tutorial: SeismicXML
developer.apple.com/library/ios/samplecode/SeismicXML
iOS UI Components
Segment Control Buttons
Images & Labels
WhirlyGlobe View Controller
WhirlyGlobe-Maply Tutorials
Bike Share: Demo
Data Source
      {
         "id":13,
         "stationName":"Wilton Ave & Diversey Pkwy",
         "availableDocks":7,
         "totalDocks":19,
         "latitude":41.93250008,
         "longitude":-87.65268082,
         "statusValue":"In Service",
         "statusKey":1,
         "availableBikes":12,
         "stAddress1":"Wilton Ave & Diversey Pkwy",
         "stAddress2":"",
         "city":"Chicago",
         "postalCode":"",
         "location":"2790 N.Wilton Ave",
         "altitude":"",
         "testStation":false,
         "lastCommunicationTime":null,
         "landMark":"066"
      },
www.divvybikes.com/stations/json
Chicago
bike
share
JSON
Basemap
iOS Tutorial
www.appcoda.com/fetch-parse-json-ios-programming-tutorial/
iOS UI Components
Labels
Maply View Controller
WhirlyGlobe-Maply Tutorials
NASA GIBS
NASA WorldView
NASA Data Display: Demo
GetCapabilities XML
ResourceURL
Title
iOS UI Components
Label
WhirlyGlobe View Controller
Table View
UITableView
Search for: UITableView
WhirlyGlobe-Maply Tutorials
Summary
Introduced WhirlyGlobe-Maply
Discussed Geospatial on web vs native
Overview of Native Dev Tools, mostly iOS
App Breakdowns
Tremor Tracker
Bike Share Availability
NASA Data Browser
Links & Contacts
Contact
sjg@mousebirdconsulting.com
@mousebirdc
mousebirdconsulting.com
Slides www.slideshare.net/mousebird/eclipsecon-2015
WhirlyGlobe-Maply mousebird.github.io/WhirlyGlobe

Eclipse unconference nov_2_2015