Georeferencing Photos

8
Geocoding Photos with RoboGEO by Ethan Welty, 01.22.2008 Unit: Garmin GPSmap 60CS Route calculation, tracks, waypoints, electronic compass, barometric altimeter. manual | drivers Software: RoboGEO v5.3 RoboGEO geocodes digital photos with location data (latitude, longitude, altitude, photo direction, etc.) using GPS tracklogs and waypoints, allows various editing operations and exports to Google Map, Google Earth, Flickr, GPX, DXF, MapPoint and ArcGIS shapefile formats. It cannot, however, interpolate between tracklog points or waypoints. download | documentation Objective: This protocol will teach you how to properly manage a digital camera and GPS unit in the field, embed location data into your images, produce an ESRI point shapefile of the image locations, and package it into an ArcGIS map with relative-path hyperlinks that can easily be shared with others. 1. Take photos in the field. a) Setup the GPS unit - Turn ON the GPS unit. The UTC time will update once satellite connection is established. - Set the time zone: Main Menu Setup Clock Time Zone - Set Daylight Saving to Auto: Main Menu Setup Clock Daylight Saving Time b) Setup the camera - Set the camera date and time to match the clock on the GPS unit. - If the camera does not allow you to change the seconds, update all the other fields and take a photo of the clock display on the GPS unit with the camera. All digital cameras embed a capture time, with seconds, into each photo, which you can use later to calculate a time offset.

description

Georeferencing Photos شقؤلهس

Transcript of Georeferencing Photos

Page 1: Georeferencing Photos

Geocoding Photos with RoboGEOby Ethan Welty, 01.22.2008

Unit: Garmin GPSmap 60CSRoute calculation, tracks, waypoints, electronic compass, barometric altimeter.manual | drivers

Software: RoboGEO v5.3RoboGEO geocodes digital photos with location data (latitude, longitude, altitude, photo direction, etc.) using GPS tracklogs and waypoints, allows various editing operations and exports to Google Map, Google Earth, Flickr, GPX, DXF, MapPoint and ArcGIS shapefile formats. It cannot, however, interpolate between tracklog points or waypoints.download | documentation

Objective: This protocol will teach you how to properly manage a digital camera and GPS unit in the field, embed location data into your images, produce an ESRI point shapefile of the image locations, and package it into an ArcGIS map with relative-path hyperlinks that can easily be shared with others.

1. Take photos in the field.

a) Setup the GPS unit- Turn ON the GPS unit. The UTC time will update once satellite connection is

established.- Set the time zone: Main Menu → Setup → Clock → Time Zone- Set Daylight Saving to Auto: Main Menu → Setup → Clock → Daylight Saving Time

b) Setup the camera- Set the camera date and time to match the clock on the GPS unit. - If the camera does not allow you to change the seconds, update all the other fields and

take a photo of the clock display on the GPS unit with the camera. All digital cameras embed a capture time, with seconds, into each photo, which you can use later to calculate a time offset.

c) Record your location- Waypoints: Save a waypoint for each photo taken (again, RoboGEO cannot interpolate

between points), making an effort to be consistent on whether the waypoint is taken before or after the photo, or taking notes that will allow you to later identify waypoint-photo pairs. Using waypoints is less dependable unless the time between photos is always greater than the delay between a photo and the associated waypoint, or if you plan to assign waypoints to photos manually. The Garmin GPSmap 60CS can store up to 1,000 waypoints.

- Tracklog: Specify a Record Method (time or distance) and Interval (in seconds or kilometers). The interval should be short enough to accommodate the needed spatial resolution and make it unlikely that two images would be assigned to the same point, while long enough that the tracklog, which has memory for 10,000 entries, will not fill before data can be downloaded to a computer. DO NOT save the tracklog. When you save a tracklog on a Garmin GPS unit, the timestamps are lost, rendering them useless for geocoding.

2. Prepare the photos for geocoding.

Page 2: Georeferencing Photos

a) Preserve EXIF info in image files

- Geocoding is accomplished by comparing timestamps on images and GPS data; thus all image files are required to contain capture time information, which is added by all digital cameras when the photo is taken, regardless of format.

- However, certain editing software can strip metadata from non-raw formats (JPG, TIF, PNG, BMP), so care should be taken to avoid these lossy operations, or save an original as backup. It is recommended to make geocoding an early step in your workflow, before any image editing, so that location data will be available in the EXIF header of the original file and automatically embedded in any derivative files produced later.

b) Load your photos into RoboGEO- Select the images or folder of images you wish to add. RoboGEO supports the following

formats: JPG, TIF, PNG, BMP, DNG, NEF, MRW, ERF and CR2. - Check that an ‘EXIF Time’ is displayed for each image, and that it makes sense.

3. Prepare RoboGEO settings.

a) Specify a camera – GPS offset

- Access the setting: File → Preferences → Common Settings → CameraOffset

- Double click the ‘Current Value’ field. Click ‘Yes’ to load the reference photo, or ‘No’ to enter the offset manually.

- If you choose ‘Yes’, RoboGEO will have you browse for the reference photo, open it, and prompt you to enter the GPS time shown in the photo as HH:MM:SS.

b) Specify a time zone offset

- Access the setting: File → Preferences → Common Settings → UtcTimeBias

- The default setting, UtcTimeBias set to –1, assumes the digital camera was set to the same time zone as the computer on which you are geocoding your photos.

- For images taken in a different time zone than the computer, update the value as the number of minutes that GMT is ahead (positive) or behind (negative) the camera’s local time.

Page 3: Georeferencing Photos

World Time Zone Map – (from Elemental Geosystems, by Robert Christopherson,, Prentice Hall)

c) Remove gaps in the tracklog

- Access the setting: File → Preferences → Tacklogs → CombineTracklogSegments

- It is possible for the GPS unit to lose reception briefly at the instant a photo was taken, which results in the photo falling between two tracklog segments and not being geocoded.

- CombineTracklogSegments defaults to ‘False’. Set it to ‘True’ if your tracklog contains unintentional segmenting that keeps some images from being geocoded – RoboGEO will append all the tracklog segments into one on import from the GPS unit.

- If set to ‘True’, care should be taken to not include photos falling between intentional tracklog segments, such as photos taken at camp between two days of fieldwork, or they will be incorrectly geocoded.

d) Specify the datum

- Access the setting: File → Preferences → Common Settings → DatumDefault value is 'WSG 1984'. Double click the 'Current Value' field to choose another datum from the drop-down list.

4. Download the GPS data

a) Connect the GPS unit

- Simply attach the unit to your computer’s USB port and turn it on.

- If using the serial port, make sure the unit is set to transmit in the Garmin Protocol: Main Menu → Setup → Interface → Serial Data Format

b) Load data from the GPS unit- Waypoints: Step #2 → From GPS waypoints → Get Waypoints (GPS)

Page 4: Georeferencing Photos

When loaded from the GPS unit directly, waypoints can only be assigned to photos manually. This can be avoided by first saving the waypoints as a GPX file (see Part.4c)

- Tracklogs: Step #2 → From a GPS tracklogThe download will start automatically. Once loaded, the tracklog points can be reviewed by clicking on the Tracklog tab.

c) Load data from existing files

- Regardless of if the file contains tracklogs or waypoints, it should be in the GPX (GPS Exchange) format for import into RoboGEO. Both Garmin’s own MapSource software, distributed with Garmin units, and the free DNRGarmin application, are capable of downloading data from Garmin units and saving them to various formats, including GPX.

- Waypoints (manual): Step #2 → From GPS waypoints → Get Waypoints (GPX) Waypoints (automatic): Step #2 → From a waypoint file

- Tracklogs: Step #2 → From a tracklog file

- If the data fails to import because of missing timestamps, it is most likely because the time was not written in the proper format. This is a known issue with DNRGarmin (waypoints and tracklogs) and MapSource (waypoints). With a true text editor such as the free Notepad++ (not Microsoft Word), you can use a series of “Find and Replace All” operations to rewrite the timestamps into the proper format.

Incorrect: <cmt>19-JAN-08 16:48:45</cmt>

Correct: <time>2008-01-19T16:48:45Z</time><time>YYYY-MM-DDTHH:MM:SSZ</time>

5. Update the EXIF metadata

a) Fill in additional fields

- If geocoding was successful, values for Latitude, Longitude and Altitude were assigned to each image. You can manually add a ‘Title’ (caption) and ‘Direction’ (compass bearing) by clicking on the appropriate cell in the image spreadsheet and typing in the new value.

b) Make the changes permanent

- Embed the new metadata information (location data and whatever you added in the previous step) into the files themselves: Step #3 → Write the location data to the EXIF headers

- You are given a choice of either saving over the original image files, or saving copies, with added EXIF metadata, to a new location. Updating the originals is recommended, since the geocoded photos should be used in all future edits anyway to ensure that all derivative files (ie. small for web or email) carry the embedded location data. If you choose to save the geocoded images to a new location, consider a file naming convention (such as adding the suffix ‘_gps’) so that geocoded images can always be differentiated.

- By embedding location data into the file itself, RoboGEO makes the results of your work completely platform independent, available to the vast array of programs capable of reading full EXIF info. Load the geocoded photo back into RoboGEO, and you’ll find that all the data is immediately visible in the table.

Page 5: Georeferencing Photos

6. Understand how to use relative paths in ArcGIS

a) Before we can export our results to a shapefile, it is important to understand how relative paths operate in ArcGIS.

- You may have tried to share ArcGIS map files with others by copying an entire project, folder structure intact, onto a CD, and discovered that ArcMap could not locate any of the source data when the map files were opened from their new location. This is because, by default, ArcMap saves absolute paths to the data. You can, however, save the map with relative paths (see Part.8a).

- Relative paths can also be used for field-based hyperlinks, which allow access to documents or webpages by clicking with the Hyperlink tool on features that contain a file path or URL. While RoboGEO defaults to an absolute path to the images in the shapefile it creates, the next section reveals ‘tricks’ to save the shapefile with relative paths. The only limitation is that all photos associated with the shapefile be stored together in a single folder.

b) Relative path conventions- To specify a path to a photo in the same folder as the map document, simply use

the photo’s name. To specify a path through a folder immediately below the map’s location in the folder structure, start the path with the folder name. Do not use a “\” or drive letter prefix. To specify a path to a document in a sibling folder, start the path with “..\” and the folder name.

7. Create an ArcGIS shapefile

a) Set shapefile properties

- Open the ‘Export ESRI Shapefile’ pane: Step #3 → Export a Shapefile

- Specify a ‘Basename’, which results in a shapefile name of the form ‘Basename’-points. Choose an output folder, and select ‘Points (photos)’ for the output type.

- EXIF/IPTC Properties: Select additional fields to include. The ‘Description’ field corresponds to the ‘Title’ field in the RoboGEO table.

b) Build relative paths

- Custom URL Attribute: It allows you to create an additional field, ‘URL’, that stores a custom path. It can be either a fixed location, or, if you choose to append the filename, a location for each image. While intended for online URLs, this is the setting you should use to build custom, relative paths to the images.

- Customize the PATH field: By default, it will store the full path to the image. Go to File → Preferences → Shapefiles → ShapefileWriteFullPath, and set the value to ‘False’ to only store the filename.

c) Once you are sure your settings are correct, click ‘Export’ to generate the shapefile.

Page 6: Georeferencing Photos

8. Create an ArcGIS map with relative-path hyperlinks

a) Setup a new map with relative paths

- Open a blank map document in ArcMap

- Navigate to File → Map Properties → Data Source Options, and choose ‘Store relative path names.’

- Save the map. Make sure your images are in the correct location relative to the map file.

b) Prune the shapefile

- Add the point shapefile to ArcMap.

- Delete unnecessary fields from the Attribute Table. Keep in mind that this cannot be undone.

c) Define the field-based hyperlinks

- Double click the layer in the Table of Contents → Display tab

- Check ‘Support Hyperlinks using field’, click the drop-down arrow to select the field with the paths you would like to link, and select ‘Document’ for the hyperlink type.

- Click OK. Selecting the Hyperlink tool (lighting bolt) should make the point features turn blue, meaning they have active links, and clicking on a point (when the lightning bolt turns black) will open the linked photo in whatever program is set as the default image viewer in your operating system.

d) Save the map- Hyperlink settings are not saved to the data source (in this case, the shapefile);

they are stored in the map file. To preserve hyperlinks independent of a map file, you can save the map layer to a layer file.