It’s not every day that you get the opportunity to ride a fast boat in capable hands, as we did recently during the Sarasota Poker Run. To share our good fortune, we wanted to live cast our position and webcam photos during the run and then create a nice multimedia map afterwords. Based on this experience and others, we wanted to pass along basic considerations for how to create similar content using the EarthNC Google Earth Tracker and other low-cost tools.
Software and Hardware Components
Here’s a quick list of the hardware involved:
- Laptop computer
- USB GPS
- USB Web Cam
- Smart Phone with ‘Tether’ data plan and USB Cable
- Garmin GPSMAP 76CSX for backup Track logging in GPX format
Now here’s the remote user software to generate real-time tracks:
Finally, here are some additional tools we used to display tracks via the web and generate the post run track map with geotagged photos:
- TakitWithMe.com Google Map and Google Earth API embedded map tools for easily creating an embeddable map with automatic loading of the tracking KML or final track map
- gPicSync, a free Google utility for geocoding photos with a GPX track file
- GPS Visualizer, a website which offers free GPX to KML conversion with nice options such as coloration by speed
- The Exif Header Manipulation Tool, a free utility to add basic EXIF header information to the webcam images for use in geocoding
Continued Below …
Some Background on the EarthNC Tracker
The EarthNC Tracker obtains remote user positions via simple HTTP GET messages which contain the userid and latitude/longitude position information. This provides for very low bandwidth requirements (sending a few dozen characters at each update) and doesn’t require a persistent connection to the EarthNC Track server (a common problem when using cell air cards on moving platforms).
Since our retail product focus is on Google Earth, it was natural that we would build our 1st remote track utility using the Google Earth platform. Network links are one of the more powerful features of Google Earth. A network link is simply a small text file which tells Google Earth to fetch map content from a remote server on the web and can be set to update based on time or change in the map view. Network links can be configured to automatically add the current user viewpoint to the remote server at each update. If Google Earth’s view is being actively set to the user’s current position, the network link is an easy way to get track information from a user.
At EarthNC, we recommend GooPs Pro for windows-based GPS positioning in Google Earth. Many other low-cost and free solutions are available for Windows and OS X, but the key requirement is that the GPS software support active control of the Google Earth viewpoint to provide our Tracking network link a valid position.
It’d be more reliable to get position information directly from the GPS software, rather than the Google Earth viewpoint, but given the wide range of available GPS software for both PC and Mac operating systems, the Google Earth network link method gives us immediate ‘cross-platform’ capability without needing to write multiple programs to cover all our users. If you write GPS software (or iPhone or other mobile location software) and would like to add our HTTP message format to your output options, we’d love to talk to you.
Outdoor Remote Tracking in Practice
Immediate concerns for outdoor remote tracking are power, environment, and connectivity. If you’re riding on a vehicle, 12V power is likely available and a $20 12V to 110V AC inverter will usually handle most laptops. Be sure to consider where in the vehicle you’ll be placing the equipment vs the power plugs and obviously let someone else do the driving. We didn’t have access to 12V power on the Sarasota Poker run due to our position in the boat and the lack of opportunity to pre-run (and secure) a power line. This limited us to the laptop battery which died about 2.5 hours into the trip. We’re currently looking to build a small ‘power box’ with a 12V car starter battery pack to give us 6+ hour capability without external power.
Environment also plays a big role. Most laptop screens are not readable in direct sunlight. Some are poor in anything brighter than indoor lighting. We’ve found the Lenovo X Series tablets to have some of the best screens for outdoor use without the premium of a true ‘rugged’ computer such as the Dell ATG (that’s not to say the X series tablets aren’t above average cost wise themselves). In truth, a bargain laptop will be marginal outdoors in most situations. Since we do a lot of testing in open-cockpit boats, the additional advantage of the X series tablet is the ability to lock the screen down in tablet mode – which reduces stress on the hinges when riding in rough water. If there’s risk of rain, don’t forget to bring a neoprene or other waterproof case that you can stash things in if it gets wet.
Lastly, connectivity is a definite requirement (this is about remote tracking after all). Cell air cards are the main option at present. Purchase prices run $50-$100 with data plans in the same range monthly. Air cards are available in various PC Card formats (for direct use by laptops), USB, and via Smart Phone ‘tether’. Deciding on the form factor depends on how you intend to use the air card. PC Cards are the best if you will use the card frequently and don’t need to use the card on desktop machines. If you already have a Smart Phone and data capability and don’t need full-time dedicated use (particularly while using your phone for voice calls), then you can often add a ‘tether’ option to your smart phone data plan for a small extra fee ($10 per month in my case). Tether is generally via Bluetooth or USB to your laptop or other computer.
Before signing up for a service, check with other ‘power-users’ who travel in the same area to find out which coverages are best. Most air cards use either the 3G network (such as AT&T) or the EVDO network (Verizon). EarthNC’s aircard service is with Alltel via the EVDO network and we’ve had great data coverage throughout the US so far.
Given that no connection is 100%, we always carry a battery powered, handheld GPS as a backup. We like the Garmin GPSMAP series which provide automatic logging in GPX format whenever they are powered on. The X series GPSMAPs feature micro-SD card slots and with a 2GB micro-SD card, the Garmin can store months of normal track data. The GPX files come in handy later when geotagging photos.
Working with Webcams and Photos
Live casting of photos is easiest with a webcam. Don’t plan on streaming video over your air card link, but sending a snapshot every few minutes is doable. Webcam’s don’t have the resolution or quality of a standard digital camera, so you’ll probably want one of those with you as well and you can geotag those photos later for use in your final map. Most webcams ship with software to support FTP file transfer of snapshots and a simple search on webcam software with provide a long list of free and low-cost 3rd party options.
For our purposes, the key features we needed for webcam software was configurable snapshot FTP to the EarthNC server and local disk capture of the same photos for user later in the final map. For the Sarasota Poker Run, we used YawCam to send snapshots once per minute to the EarthNC server and save the same photos locally.
After the Event – Creating the Historic View with Geotagged Photos
After the Poker Run, we wanted to create a nice summary map which showed the entire boating track with geotagged photos along the way from the webcam. You can see it HERE in Google Earth.
Google Earth (all versions) can import GPX format track files directly (via the File-Open menu) – but the simple, single-color track doesn’t do justice to a boat trip in excess of 90mph in places. Fortunately, GPSVisualizer provides an online application which will create a speed colored track in KML format.
Geotagging the webcam photos was a 2 step process. Most geotagging software relies on the EXIF header – this is standard information that digital cameras store into a jpg image file when a photo was taken. Unfortunately, it’s quite common that webcam applications don’t create EXIF headers when they generate snapshots. A quick internet search turned up the Exif Jpeg Header Manupuliation Tool to solve this problem. This tools is a command line utility which can add an EXIF header to JPG images. For our purposes, we just needed to have the tool create a valid header and use the file creation time/date to generate a photo time in the header. This was done very easily on the entire directly of webcam images with a single command.
Once we had EXIF headers with timestamps in all of our images, we used gpicsync from Google to geocode the photos against our GPX track log. gpicsync is easy to use – just point it at an image directory and a track file (and provide the correct time offset between the camera time zone and universal (UTC/Z) time which is what the GPX track log contains. gpicsync has 2 output options – KML for Google Maps and KML for Google Earth. The Google Earth KML creates local links to your photos and is fancier while the KML for Google Maps assumes you will put your photos online (and requires the base URL location for such) and is simpler for Google Maps display.
We did some after-the-fact modifications on the Google Earth gpicsync output to create our online map. This included adding a custom style to suppress image labels except on mouse hover, providing the correct base URL to our online images, and using the full images rather than thumbnails in the pop-up windows.
That wraps up our case study. Hopefully you’ve found it helpful. We hope to eliminate many of these steps as we improve the EarthNC Tracker Application over time and add additional features for both realtime and after event mapping.