Monday, September 26, 2011

WhirlyGlobe 1.1

Version 1.1 was released around August 27th.  I'm still catching up, obviously.

Mainly, this was a bug fix release.  There was a bit of new functionality like so:

  • Support for label selection.  Not actual label selection, mind you, just support for getting size and location info projected in to 2D.
  • Added pre, post frame and lighting callbacks.  You can now override how WhirlyGlobe does the lighting, if you so desire.
  • WhirlyGraph was integrated in to the Contributed tree.  That's one of the prettier demos.
There was a bit of stuff under the hood not worth discussing.

Framework & Starter Pack

The most useful pieces were these.  I hacked together a framework building shell script from a useful blog post and started distributing a framework.  Now you can just drag and drop WhirlyGlobe into your project.

Of course you still need all the dependencies and that was causing people problems.  To that end I put together a distribution with all the various dependencies.  You can get the download off the WhirlyGlobe project page.

Tuesday, September 20, 2011

WhirlyGlobe

So I didn't keep the blog up, but oddly enough I did finish the project: WhirlyGlobe.



What WhirlyGlobe does is handle the 3D interaction and rendering for a globe with vector data.  The vectors can be from a remote source or Shape files that you bring along with your app.

There are a couple of apps available on iTunes to look at.

  • The WhirlyGlobe demo app lets you tap around countries and states as well as oceans (my personal favorite).
  • WhirlyGraph shows comparative statistics for countries around the world.  And it's candy colored.


Earth Data

WhirlyGlobe is meant to display a set of earth imagery with vector data overlaid.  Basically, that means it takes a collection of images in the proper format with an index file.  It comes with a utility to prepare that data from a regular image file if you want to use your own.

Vector data can come from a couple of different sources.  The first is you.  Just create points, linears, or areal features and, optionally, labels.  The second source is Shape files.  These are a standard for geographic data and can be found on the web, often for free, or created with standard industry tools.

Audience

As you might have guessed, this is for app developers.  You need to know Objective-C, Cocoa Touch, and a smattering of C++ to use it effectively.  There are a couple of decent examples, including the source code for the WhirlyGlobe app.

Source Code

WhirlyGlobe is an open source toolkit distributed under the Apache License (2.0).  That should allow you to use it in just about any configuration for free, commercial, or any sort of app.  mousebird consulting owns the source code entirely so if you need some other license, we can discuss it.

Motivation

Obviously no one does this sort of work for free.  Unless they do.  If they do, they probably have a reason.  Here are our reasons.

  • The WhirlyGlobe toolkit is free to use in most ways, as constrained by the Apache License (2.0).  If you would like additional functionality, you can hire us to add it.
  • I've benefited from quite a few open source toolkits for ios.  WhirlyGlobe is a way of giving something back.
  • Data visualization on mobile devices is interesting and difficult.  I like those sorts of problems.
0r maybe I just like showing off.

In any case, if you need a 3D interactive globe component for ios, give WhirlyGlobe a look.