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 shapefile
Now, we'll need three functions. The first extracts the EXIF data...