Categories
Hardware Idle Photography Software Tech

Where’d I take that picture?

Pick a trip you took from, say, two years ago.  Take a look at the pictures.  Do you remember where each picture was taken?  Exactly where?  Great, do you think you’ll remember that 10 years from now?  Don’t worry, there’s a soution (provided you don’t loose all your digital pictures in both hard drive failures you’re statistically likely to have between now and then).


smugMap_sm.jpg
My picture location on a satellite map?  How cool is that?


One of the nifty bits of data that can be embedded in a pcture’s EXIF data is the longitude and latitude of where the picture was taken.  Adding this data to your pictures is called “geotagging” or “geocoding”. While it’s not hard to manually add this data to your pictures, you can also automatically add it if you have a GPS or an expensive camera.



EXIF: Exchangeable Image Format – descriptive data embedded in an image. This data is typically inserted into a JPEG image by a digital camera and contains information about the type of camera which took the picture, the shutter speed and date the picture was taken. A variety of free and commercial tools are available to allow you to view and edit EXIF data.


Okay, that sounds cool and all that… but so what?  Why can’t you just write down the information?  Imagine a slide show that walks along the path of your vacation, showing the pictures overlaid on a satellite picture of the area.   When we went hiking in Switzerland I took a GPS along and here’s an example of what Geotagging can get you: http://maps.smugmug.com/?feedType=geoAlbum&Data=859458 (look for a link to “play” in the right-hand column).  It is a large gallery (around 370 pictures) so it takes time to both load and play, be patient.  Tip: you can zoom in and out while the slideshow plays.


Manually adding a location stamp


When you add location stamps automatically (which I’ll discuss later) you’ll likely still need to adjust some of them manually, so let’s start with the process of manually adding or adjusting the geotag of a picture.  First, got get some software (don’t worry, it’s free and easy to use).  Microsoft Research, as part of their cool World Wide Media Exchange project, created a set of free tools for adding and reading tags.
First thing you need: Location StamperLocation Stamper requires you have the Microsoft .NET Framework 1.1 installed, so I suppose that is really the first thing you need… but I digress.  Go to the WWMX download page and follow the instructions to install the .NET Framework (step 1) and WWMX Location Stamper (from step 3).  Don’t worry about any of the other software on that page at this time.
Now, let’s stamp a picture.  Launch WWMX Location Stamper and select a picture from your collection by choosing “Add Photos…” from the “Photos” menu.  You can select one or more pictures at a time, but let’s start with just one.  The picture will show in the right-hand column of the Location Stamper interface.  At the bottom of the interface is a box to perform a “Location Search”; type in the address where the picture was taken.  Since Location Stamper will search the whole world, try to be as specific as possible, separating the information with commas (for example: Street, City, State, zip or City, country).  To get the location more exact, use the plus/minus icons to zoom in and out and use the white arrows at the edge of the map to pan the map.


To add the geotag, simply drag the picture from the photo area onto the correct location in the map and drop.  A small dot will appear on the map showing you the location stamped into the picture.


locationStamper_sm.gif 
Location stamper, with images ready to be stamped.


Automatically adding stamps


I mentioned before that you could buy a camera with a built-in GPS, but I don’t recommend them unless you have a distinct business need (e.g. you’re an insurance adjuster).  The cameras with built-in GPS are expensive and likely to become out of date very quickly.  The best route to go is to buy a GPS with a computer interface.  If you have a GPS it will work with any camera you have.  In our case we take two cameras on every trip, a large digital SLR for nice artistic shots and a little, pocket camera for convenience.  Having an external GPS allows us to stamp pictures from both cameras.


Step one: get a compatible GPS.  There are likely a number of GPS units which will work, but I can tell you for sure that the Garmin Geko 201, 301 and Foretrex 201 all work for this purpose.  The keys are: a) a GPS that can connect to your computer and b) a GPS that allows track data to be downloaded in GPX format.  If you’re going out on your own to pick a GSP unit, look for a unit that advertises the things above as well as good battery life and quick satellite acquisition (my two-year old Geko 301 eats batteries and can take forever to get a fix on its location).  The Garmin Geko 201 will run you about $120 new, the Forerunner 201 about $115.  You’ll also need a cable to connect your GPS to your computer (it’s not a standard item with most GPS units).


Step two: turn on your GPS and allow it to get its bearings.  If you’re sitting inside, next to your computer, you may have trouble getting a good signal.  Stop reading this and go outside. 😉


Step three: set your camera’s clock to be as close to the time displayed on the GPS as possible.  This is important because the location of the picture will be based on correlating the picture time to the GPS time.  Another thing to keep in mind: if you travel out of your home time zone you will need to perform some added time zone magic to get the pictures to line up correctly with the GPS data (I’ll discuss that later).


Step four: take some pictures.  With the Garmin GPS units (and with many other types as well, I suspect) you don’t really need to do anything other than turn them on.  The GPS will automatically start keeping a “breadcrumb” trail of your path over time.  This trail will stay in memory even if you turn off the GPS and take out the batteries.  You don’t need to save a track log unless you are running out of memory (in fact, it’s best if you can avoid saving track logs as the breadcrumb trail tends to be more detailed).


After you get your new (or break out your old) GPS and spend some time running around and taking pictures you’ll need to get the GPS data off the receiver and onto your computer.  The easiest way to do this with the Garmin units is to use the free GPS Track Download software from Microsoft Research (there are commercial applications, but once again, I’m cheap).  Follow the instructions on the WWMX download page to install the GPS Track Download software.


The Track Download interface is very minimal.  From the window select the type of data you want to download (I download track log and routes each time).  Next choose “download from device” from the action menu and select a location on your hard disk to save the GPX data.  You’re done with your GPS and Track Download for this session.


trackDownload_sm.gif 
Ready to download tracks from your GPS device.


If you haven’t already, download all your new pictures from your first location-tracked photo shoot (put them in a new folder for simplicity).  Launch Location Stamper and add all the new pictures (do this by browsing to the new folder, clicking a single picture, typing ctrl-a on the keyboard to select all and then hit the “Open” button).  Next, add tracks to Location Stamper by selecting “add tracks” from the “Tracks” menu.  You’ll see lines appear on the map pane as the GPX data is read in.  Finally, click the “Apply tracks…” button at the bottom of the picture pane.


About the apply tracks options: I find the best options to use are the options to set the location but put in a tricky cases bin, always prefer existing location information and save a backup copy.
Those are the basics.  Now that you have locations coded into your pictures here are a couple of cool things to do:



  • Upload your pictures to Smugmug, you’ll get a “Map this” button automatically for any gallery with geotagged pictures (Flickr also supports Geotags).
  • If you have a web site you can use the WWMX Travelogue Builder program to make a cool travel diary with maps attached.
  • Add your pictures to the WWMX web application (the client app appears to have been hidden for some reason, but if you dig into the source of the WWMX download page you’ll find it).

Some final notes


There are a couple places where things will get out of sorts when geotagging pictures:



  • Starting picture taking before starting the GPS – The location stamper software will attempt to place the pictures along the route based on time and location stamps.  On one of my trips the software placed some of my pictures in the middle of the ocean because the only GPS data it had was my home in California and a location after the picture was taken… the software just guessed the picture was somewhere in between.
  • Taking pictures in multiple time zones – EXIF data doesn’t contain a time zone stamp, but the GPS data does.  The Location Stamper will assume the time zone of the computer is the timezone for the pictures.  If you do what I do and set the time on the camera to local time for your trip you’ll need to adjust the time back to your local time before stamping the pictures (you can do this in Location Stamper by right-clicking a picture or group of pictures and choosing “adjust timestamp”).  After you geotag the picture you can set the time back again using the same method. 


Update: WWMX Location Stamper is now downloadable directly from MSR, a lot easier than digging into the source of the WWMX page for the hidden link.

4 replies on “Where’d I take that picture?”

One thing to watch out for especially if you’re fussy about the quality of your digital images is that some of these geotagging software packages recompress the image data as part of updating the lat/lon in the EXIF data. So if you’re using a lossy compression like JPEG you’ll have some image degradation when you geocode your photos.

In particular the wwx location stamper via .Net makes use of GDI+’s support for writing EXIF properties and it recompresses the image data.

If you have a Media Center PC you may be interested in this Virtual Earth Media Center add-in I created which allows you to see the location of a photo you took on a Virtual Earth map by quickly toggling from the slideshow.

http://www.codeproject.com/useritems/VirtualEarthMCE.asp

Cheers

Leave a Reply

Your email address will not be published. Required fields are marked *