Visualizing live shipping data in OpenSim (Isle of Wight Ferries)

A couple of months back i spent some time writing a module for OpenSim, the purpose of this module being to allow you to connect directly to an MQTT messaging server from within the OpenSim scripting language. Thereby enabling real-time Publish Subscribe messaging in a 3d environment.

Adding messaging capability to the scripting language opens up a raft of possibilities for integrating other live systems with in world objects, for previous demonstrations I have implemented chat between virtual worlds and also
synchronous presentations across words and opensim regions amongst other things.

For this one I heard of some live data available from one of our local master inventors Andy Stanford-Clark on the positions of Ferries around the Southampton, Portsmouth and the Isle of Wight. He was publishing these message onto his MQTT microbroker which meant with my module for OpenSim i could show the positions of all the local shipping in near real-time along with the name of the ship and other information like course speed and cargo type.

In order to show this data i first terraformed an island within the IBM opensim grid to look like the Isle of Wight and surrounding sea. I did this by creating an image in photoshop and then using OpenSims terrain import feature. The image was based on a satellite photo of the area.

This is the resulting opensim island

aerial shot of opensim model of the isle of wight, uk

The next step was to write a script for the ships, this script took the description of the object(ferry) it was assigned to and used it to subscribe to the information for that ship. Each description is the pubsub topic for the ship e.g. ferries/Isle Of Wight/Red Cat 1

The script listens for incoming messages then moves the ship object to the correct location on the simulated region by converting latitude and longnitude into an X Y position. It also takes the bearing and makes the ship face in the correct direction.

here’s a couple more shots of the ferries in action

ferries from afar

ferries close up

The Ferries currently live on the IBM internal opensim grid (sorry only accessible to folks inside the IBM firewall :( )

10 Comments

  1. Chris Sparshott

    nice!! I will have to go check this out. I grew up in Portsmouth so find this very interesting! Cheers Chris

  2. Mark

    Hi Rob! Is that module you´ve written part of the current OpenSim release (0.6.2)?

  3. Julius Sowu (Kwame Oh)

    Hi Rob
    That goes straight to a project I was thinking of running, to do with mirroring an event in VW/RL any help in technical details and or hardware needed would be much appreciated.

    I am also willing to collaborate as test bed for using this technology in any future project I can be reached either:

    “RLGoogle maps” http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=The+Greyhound+1+Kensington+Square+W85EP&sll=37.0625,-95.677068&sspn=25.484783,77.695313&ie=UTF8&ll=51.501109,-0.189208&spn=0.002067,0.004828&t=h&z=18

    The Greyhound 1 Kensington Square, London, W85EP, UK (Julius Sowu)

    SL http://slurl.com/secondlife/Kensington%20W8%20London/126/62/143 “roughly same hight as google map”
    The Greyhound 1 Kensington Square, London,

    Have a look and let me know Best wishes Julius Sowu

    julius@virtually-london.com

  4. Rob (Post author)

    @Mark I’m afraid at the moment it has some proprietary code in to connect to the message broker which can’t be released into the main OpenSim code base, I am however looking for a c# XMPP library that i could implement the same function with, so far though my search for a BSD or similar non GPL licensed XMPP library has been without much success.

  5. Pingback: People Meet People Meet Big Data: ScienceSim Explores Collaborative High Performance Computing | UgoTrade

  6. rightasrain

    Rob–you a big tease then! open = share 😉

  7. infinity linden

    this is the coolest thing i’ve seen in a while. i’ve got to work faster so stuff like this is easier to do with our next generation systems.

  8. Pingback: Corey Leong (coreyleong) 's status on Tuesday, 06-Oct-09 14:39:53 UTC - Identi.ca

  9. Pingback: Community-Chest » Bookmarks for novembre 12th through novembre 13th

  10. Merrill

    Thanks Rob. This is very cool stuff indeed.

Comments are closed.