Adding GPS positional data to DataTurbine feeds

So I'm thinking about how to add GPS positioning to my hacked-up Apple accelerometer code, and vaguely remember gpsd from freshmeat. (Aside: Surf the RSS feeds from freshmeat now and then; there's always something interesting to see.)

My idea was something like this: If I add a stream of positional data to the application, then we can run it through the KML plugin and visualize that data in google earth. (As I understand it, your source just needs to have three channels named X, Y and Z, which use WGS84 reference frame, and that's all the plugin needs. )That'd be cool. For that, I need a GPS that my code can talk to. The pieces are as follows:

  1. GPS hardware, with USB interface so no batteries required
  2. There's also this fake GPS driver that works with gpsd, so you can test code
  3. gpsd server, running locally
  4. Computer, running my driver code
  5. Data turbine server
  6. KML plugin for same
  7. Google Earth

Here's the amazing part: You can get a USB2 GPS from Amazon now for twenty-eight bucks!

Mine's on order, personal gadget budget. If it works I can get reimbursed, but for that cost I can manage.

The only issue is how to talk to gpsd from Java, either via the socket interface or build a JNI layer. Sounds do-able either way, really.

As a postscript, the book "GPS: Theory, Algorithms and Applications" by Guochang Xu is quite good if you want to learn more GPS details.