I would like to track GPS points while I am photographing with my Canon EOS (5D) camera.
What option do I have track them and what do you recommend?
I've found that the best solution is to buy an inexpensive stand alone GPS device, make sure your camera clock is synced with the GPS time, carry the GPS in your camera bag while on and saving the track log and use RoboGeo to tag your photos after the fact.
Robo Geo does a nice job and has lots of features, plus it will work with any camera out there.
Here's a free software that will take a GPS track log recorded from your standalone GPS device (or perhaps from your phone, if it has a GPS), and applies the geocoding to your images:
http://code.google.com/p/gpicsync/
Along with it, I found a site to convert various types of GPS log format into GPX (what is needed by the above software)
I'm actually going to answer the question with a wider focus than just the 5D or dSLRs, but for interchangeable-lens system cameras in general, to try and get a more useful answer.
When it comes to geotagging your images with a system camera, there are several options, some rely on the camera feature set, and some don't. I'm listing them from least to most effort (and possibly most to least cost, assuming you have a smartphone).
1. Get a camera that geotags.
Some cameras have geotagging and GPS capability built-in. For example, swapping from a 5D to a 6D would gain you this capability, and you'd just have to switch it on in the camera. This is by far the most convenient path to take, with the main caveats of reduced battery life and a more expensive camera.
2. Get an OEM add-on for GPS.
Nikon and Canon both make GPS devices (Nikon GP-1, Canon GP-E2) that can be connected to some of their camera bodies, and relay the GPS information so that geotags can be added to the EXIF as you shoot. They may not be the best GPS receivers on the planet, but they speak directly to the camera so you don't have to do the geotagging in post.
3. Get a camera with wi-fi and a smartphone app that geotags.
A number of system cameras these days come with wi-fi or bluetooth capability and the ability to communicate with an OEM smartphone app. Many of these apps can also use the GPS/location functionality of the phone to add geotagging data to the camera EXIF. You pair the phone with the Wi-Fi network of the camera, turn on locationing, and go shoot--there may be a syncing step to add the tagging. Again, battery life of the camera and the phone are probably your main concerns.
4. Get an external device or a smartphone app to create a GPS log or track file and sync with photos in post via timestamps.
If you don't have a fancy camera that does GPS or Wi-Fi, and can't recognize GPS add-ons directly, then this is probably your only bet. The good news is, you can choose whatever GPS receiver/app you want so long as you can get a track or log file from it. You may have to convert the track to a format your geotagging software understands (e.g., GPX), but the open-source GPSBabel can handle most formats. Your main concerns here are that you'll have to sync the clock on the camera before each shoot, and you will want to discover if the GPS track requires timeshifting to match your camera clock (but again, software can cover most of this).
5. Adding location geotags manually via an application.
Many photo processing software packages (e.g., Lightroom, iPhoto, Picasa) allow you to manually add geotagging into the EXIF of a photo by locating where the image was taken on a map. Obviously, the main drawbacks here are the accuracy of the information, and that it needs to be done on an individual image/location basis.
When released, Lightroom 4 will have the ability to accept a track log to encode photos. (Detailed in the Mapping your Photos preview video.)
I use an external Garmin GPS and Jeffry Friedl's excellent GPS Supportplugin to lightrom which takes the tracks and geo-encodes the files in my library for me from the track data. Oh yeah, and I make sure the clocks are synchronised!
I use a PhotoTrackr. It's a standalone GPS tracker, and comes with Windows & Mac software to automatically geotag your photos.
Good points: cheap, small, robust, straightforward, enough memory to store at least two weeks' worth of data, runs for ~2 days on a single charge, Gisteq customer support are actually helpful if you ever need them, software is reasonably pleasant to use.
Bad points: no display, can take a while to get a position if you haven't used it recently, takes several hours to fully charge battery.
I take the approach of using a standalone GPS device (which happens to be an old Windows Mobile powered phone, running the free OSM Tracker) and then combine the GPX tracks from it with my photographs using Microsoft Pro Photo Tools, which also happens to be free.
Microsoft Pro Photo Tools also allows saving metadata back to RAW files (if you've install the RAW Codec from Canon), and I'm not aware of any other tool that can do this; It can also add other metadata such as photographer contact details in the EXIF data.
There are a number of options for external GPS trackers (Sony makes one, for example) that when you combine with software will use the EXIF data of the image combined with the GPS log to tag your photos.
Now, in my experience, many of these are iffy in their reliability. There are good ones, however, and the key is to make sure that they communicate with many satellites to ensure that you do, in fact, track.
To get you started, this one looks promising: PhotoTrackr Mini
I second the approach of a standalone GPS Tracker and then using some software to sync it into your metadata. I actively used a device called i-gotU. It is cheap and reasonable accurate, but in my experience needs a long time to pick up on the available satellites, which can be annoying.
If you are on a Mac available syncing software is for example GPSPhotoLinker.
Zesty systems Inc.(Japan) has released the ZGR-1 accessory to provide additional capabilities to Nikon DSLR, among other things providing long time exposure time control, shutter release, GPS information and etc.
The question was specifically for Canon, so it would seem that for the moment this solution is not applicable but (as of August 2012) from the official blog it appears that a Canon compatible version is being considered.
EDIT: Currently not available since I cancelled my Store account, may revive it again at some point.
I had the same question, so I decided to write a Mac program (sorry I use Apple at home) to merge geotag information from Google Latitude. (I did not want to pay for the 'gps' Eye-Fi... does not work well)
For this to work, all you need is an Android/iPhone with Google Latitude installed and running while you take photos.
Then the software will retrospectively geotag using time correlation.
Pretty simple and for most people they do not need to buy anything additionally.
It's totally free and has no bloat. Make sure your camera time is accurate however (check your timezone!)... although the software has options to compensate.
The item you've requested is not currently available in the U.S. store.
\$\endgroup\$
Canon's official method is to use a gps unit with their Wireless File Transfer accessories. Not sure I'd actually recommend that solution unless you have lots of money and don't mind the extra weight though.
If you have iOS or Android mobile phone, you can use much cheaper option, that to buy dedicated device. There are apps for it, that works as a GPS datalogger. For example, Geotag Photos Pro is for both Android and iOS and has also free desktop application, that geotags even photos in raw file formats.
There are more apps for both Android & iPhone, you search in AppStore / Android Market.
I think a dedicated GPS device will be the best option but if you wanted to try it out without purchasing one and you already have an iPhone or Android smartphone then you could use something like Geotag (http://www.geotagphotos.net/) and use your phone as the GPS device. I'm sure there are plenty of other similar applications, so this one is just an example that I have used.
Applications like this will allow you to geotag the photos you take with your DSLR. You should first ensure that the clocks on the phone and camera are in-sync (you can fix discrepancies later if necessary), then you simply fire up the app and leave it running while you are out on your photo shoot - this will potentially cause your phone battery to drain a little quicker than normal.
When you return home you download the photos from your DSLR as normal and then run the desktop application or access the application's website to download your location data (as GPX data that can be used in any compatible geotagging or mapping application e.g. GPSvisualizer.com or Google Earth) as well as automatically write the GPS metadata to your photographs.
It's all very simple to do and if you have a smartphone already then you have pretty much everything you need without having to spend a bunch of cash. Just be aware that using GPS does tend to drain your battery faster than normal.
When using a smartphone to log data, make sure that is does two things:
I'm using two apps on my iPhone that fit this description well: gps4cam (fixed intervals, also available for Android) and MotionX GPS. gps4cam generates a barcode for your current track that you can take a photo of and use a win/Mac software to tag the photos automatically.
If you go on longer photo tours I'd recommend a standalone GPS logger because smartphones only last for 3-6 hours when logging GPS data.
For Windows Phone users, I wrote a new app, point4pic.
It does the GPS tracking on your phone, the track gets uploaded to your OneDrive, and then via a simple desktop app you automatically tag all your photos. No time synchronization needed — it's done automatically. As far as I know, it is the only app in the Windows Phone store that does not need time synchronization between the phone and the camera. The biggest limitation (I think) is the missing support for RAW photos; it works only with JPEG.
Note: for now the app supports only JPEG photos.
I have not used them, but there are devices like the Eye-Fi Geo card which are souped-up SD cards that automatically geotag the photos as they are being taken.