Geotagged photograph

A geotagged photograph is a photograph which is associated with a geographic position by geotagging. Usually this is done by assigning at least a latitude and longitude to the image, and optionally elevation, compass bearing and other fields may also be included.

In theory, every part of a picture can be tied to a geographic location, but in the most typical application, only the position of the photographer is associated with the entire digital image. This has implications for search and retrieval. For example, photos of a mountain summit can be taken from different positions miles apart. To find all images of a particular summit in an image database, all photos taken within a reasonable distance must be considered. The point position of the photographer can in some cases include the bearing, the direction the camera was pointing, as well as the elevation and the dilution of precision (DOP).

Methods
There are a few methods of geotagging photographs, either automatic or manual. Automatic methods provide the easiest and most precise method of geotagging an image, providing that a good signal has been acquired at the time of taking the photo.

Automatic using a built-in GPS
Several manufacturers offer cameras with a built-in GPS receiver, but most cameras with this capability are camera phones, as camera manufacturers after initial experience in the market came to treat GPS cameras as a niche market. The 2008 Nikon P6000, for example, an early geotagging camera, was replaced in 2010 by the P7000 which lacked that feature. Some models also include a compass to indicate the direction the camera was facing when the picture was taken.


 * Canon EOS 6D
 * Canon PowerShot SX280HS
 * Canon PowerShot S100
 * Fujifilm FinePix F550EXR
 * Fujifilm FinePix F770EXR
 * Nikon COOLPIX P330
 * Nikon COOLPIX P6000
 * Panasonic Lumix DMC-TZ10
 * Panasonic Lumix DMC-TZ40
 * Sony Alpha 55V (DSLR)
 * Some mobile phones with assisted GPS use the cell phone network to speed GPS acquisition times.

Automatic using a connected GPS
The D1X and D1H that Nikon introduced in 2002 included a GPS interface. In 2006 the first special GPS receiver for Nikon was produced by Dawntech. Since 2009 Nikon has sold its own Geotagger GP-1. Canon uses the USB socket on the wireless file transmitter unit (WFT) as the GPS interface.

Some digital cameras and camera phones support an external GPS receiver connected by cable, or inserted into the memory card slot or flash shoe. The Samsung SH100 can connect using Wi-Fi to get position data from a GPS-enabled smartphone. Generally the relevant GPS data is automatically stored in the photo's Exif information when the photo is taken. A connected GPS will generally remain switched on continuously, requiring power, and will then have location information available immediately when the camera is switched on.

Many GPS-ready cameras are currently available, made by manufacturers such as Nikon, Fujifilm, Sony and Panasonic. Automatic geotagging combined with real-time transfer and publishing results in real-time tagging.

Synchronizing with a separate GPS
Most cameras sold today do not contain a built-in GPS receiver; however, an external location-aware device, such as a hand-held GPS logger, can still be used with a non-GPS digital camera for geotagging. The photo is taken without geographical information and is processed later using software in conjunction with the GPS data. Timestamps made by the camera can be compared with timestamps in the recorded GPS information, provided that the clocks in the separate devices can be synchronized. The resulting coordinates can then be added to the Exif information of the photo.

Manual geotagging
Location information can also be added to photos, for example via its Exif specification that has fields for longitude/latitude, even if no GPS device was present when the photo was taken.

The information can be entered by directly giving the coordinates or by selecting a location from a map using software tools. Some tools allow entry of tags such as city, postal code or a street address. Geocoding and reverse geocoding can be used to convert between locations and addresses.

Manual geotagging also introduces possibilities of error, where a photograph's location is incorrectly represented by wrong coordinates. An advanced comparative analysis of such photos with the total collection set of all photos available from the surrounding coordinates, needs to be done to single out and flag such photos, but such a software's value, need and purpose could be limited in today's environment where almost every smartphone and camera have geotagging built-in and users do not need to manually enter this information.

Remote standoff capture
Some manufacturers of military and professional mapping-grade GPS instruments have integrated a GPS receiver with a laser rangefinder and digital camera. These multi-functional tools are able to determine a remote subject's GPS position by calculating the subject's geographic location relative to the camera's GPS position. These instruments are commonly used in military applications when an aircraft or operator is targeting an area, the position is inaccessible (for example over a valley or wetland), there are personal health & safety concerns (motorway traffic), or the user wants to quickly capture multiple targets from a single, safe position (trees, street signage and furniture).

Civilian integrated GPS cameras with rangefinders and remote standoff capability are currently available made by manufacturers such as Ricoh and Surveylab.

Uses
When geotagged photos are uploaded to online sharing communities such as Flickr, Panoramio or Moblog, the photo can be placed onto a map to view the location the photo was taken. In this way, users can browse photos from a map, search for photos from a given area, and find related photos of the same place from other users.

Many smartphones automatically geotag their photos by default. Photographers who prefer not to reveal their location can turn this feature off. Additionally smartphones can use their GPS to geotag photos taken with an external camera.

Geotagged photos may be visually stamped with their GPS location information using software tools. A stamped photo affords universal and cross-platform viewing of the photo's location, and offers the security of retaining that location information in the event of metadata corruption, or if file metadata is stripped from a photo, e.g. when uploading to various online photo sharing communities.

Geotagging is also being used to determine social patterns. For example, Now app uses geotagged Instagram photos to find nearby events happening now.

Formats
With photos stored in JPEG, TIFF and many other file formats, the geotag information, storing camera location and sometimes heading, is typically embedded in the metadata, stored in Exchangeable image file format (Exif) or Extensible Metadata Platform (XMP) format. These data are not visible in the picture itself but are read and written by special programs and most digital cameras and modern scanners. Latitude and longitude are stored in units of degrees with decimals. This geotag information can be read by many programs, such as the cross-platform open source ExifTool. An example readout for a photo might look like:

GPS Latitude                   : 57 deg 38' 56.83" N GPS Longitude                   : 10 deg 24' 26.79" E GPS Position                    : 57 deg 38' 56.83" N, 10 deg 24' 26.79" E

or the same coordinates could also be presented as decimal degrees:

GPS Latitude                   : 57.64911 GPS Longitude                  : 10.40744 GPS Position                   : 57.64911 10.40744

When stored in Exif, the coordinates are represented as a series of rational numbers in the GPS sub-IFD. Here is a hexadecimal dump of the relevant section of the Exif metadata (with big-endian byte order):

+ [GPS directory with 5 entries] | 0) GPSVersionID = 2 2 0 0 |     - Tag 0x0000 (4 bytes, int8u[4]): |         dump: 02 02 00 00 | 1)  GPSLatitudeRef = N |     - Tag 0x0001 (2 bytes, string[2]): |        dump: 4e 00  [ASCII "N\0"] | 2) GPSLatitude = 57 38 56.83 (57/1 38/1 5683/100) |     - Tag 0x0002 (24 bytes, rational64u[3]): |         dump: 00 00 00 39 00 00 00 01 00 00 00 26 00 00 00 01 |         dump: 00 00 16 33 00 00 00 64 | 3)  GPSLongitudeRef = W |     - Tag 0x0003 (2 bytes, string[2]): |        dump: 57 00  [ASCII "W\0"] | 4) GPS Longitude = 10 24 26.79 (10/1 24/1 2679/100) |     - Tag 0x0004 (24 bytes, rational64u[3]): |         dump: 00 00 00 0a 00 00 00 01 00 00 00 18 00 00 00 01 |         dump: 00 00 0a 77 00 00 00 64