Geolocating photos
Photos taken with GPS-enabled cameras including smartphones store location information in the header of the file in a format called exchangeable image file format (EXIF) tags. These tags are based largely on the same header tags used by the TIFF image standard. In this example, we'll use those tags to create a shapefile with point locations for the photos and file paths to the photos as attributes.
We'll use the Python Imaging Library in this example because it has the ability to extract EXIF data. Most photos taken with smartphones are geotagged images; however, you can download the set used in this example from the following URL:
First, we'll import the libraries we need including PIL for the image metadata and PyShp for the shapefiles:
import glob
import os
try:
import Image
import ImageDraw
except:
from PIL import Image
from PIL.ExifTags import TAGS
import shapefileNow, we'll need three functions. The first extracts the EXIF data...