GPS Tracklog

robogeo.com banner

Geocoding Photos From a GPS Tracklog

click on 'File', 'Edit' or 'Help' to navigate the documentation
click on File, Edit and Help above to navigate
 

To match the UTC times associated with a GPS tracklog to the local times associated with the photos, the program has to convert UTC time to local time. By default, the program does this by looking at your computer's time zone information and whether daylight savings time is in effect for your location. This process can be problematic in some situations. Optionally, you can specify the UtcTimeBias preference option - this is the preferred method, but it requires that you accurately set it.

You can view the imported tracklog data by selecting the main grid's 'Tracklog' tab. This is handy if you need to diagnose why you got unexpected results when geocoding photos.

You can import up to 1,048,576 trackpoints at a time, but you should normally keep your totals much less than that to avoid the potential of running out of system RAM when the trackpoints are processed.

You can automatically download or import tracklogs by specifying the appropriate command line parameter.

Download the GPS Tracklog

Note that newer Garmin models save their tracklogs internally as GPX files and since your computer sees the newer units as connected devices, you can open the GPX files directly without having to actually download them.

If you're using an older Garmin GPS model, you can download the tracklog direct from the unit. You'll need the proper data cable for your specific model.

The program supports older Garmin units having either a serial or a USB interface.

The GPS's interface mode must be set to the Garmin protocol.

When you manually save a tracklog to the internal memory of most Garmin models, the trackpoint timestamps are discarded. This behavior is a relic of the days when memory was very expensive. Without timestamps, the tracklogs are of no use. Don't save your tracklogs in your older Garmin GPS units and expect to use them with the program. Some newer Garmin models save the tracklogs to removable media in GPX format where the trackpoint timestamps are preserved. In that case, the tracklogs can be used by the program if you first enable that feature in the GPS unit. With the GPSmap 60CSx model, for example, this is done from the Tracks screen (Setup->Data Card->Log Track to Data Card).

Not all Garmin models support the transferring of altitude data. Generally speaking, the newer Garmin models (like the Etrex and GPS 60) will while the older models (like the GPS 12) will not. If you can't obtain altitude data from your unit, you can either ignore it or manually enter the altitudes for each image by double clicking on the image and then selecting 'Edit Altitude' from the resulting pop-up menu.

The program automatically detects your GPS by first looking for a USB connected device. If one is found, it's used. Otherwise, it scans all of the COM ports and tries to detect an older Garmin model.

If the program is unable to communicate with the GPS, check the following:

1. The GPS unit is turned on and is physically connected to the computer.
2. Make sure the computer port connection (USB or COM) is functional.
3. You're using a Garmin model GPS and that it's supported.
4. The GPS's transfer mode is set to Garmin's proprietary format (not NMEA).
5. Valid data exists in the GPS unit.
6. The cable connection is secure at both the GPS and at the COM port.

The program makes 3 attempts to detect the GPS and/or download the tracklog, waiting 3 second between each try.

Import a Tracklog File

If you don't own a supported Garmin GPS unit, you can import the tracklog from a disk file or by dragging and dropping one onto the main image grid. You can import any of the formats described below.

You can select multiple files when prompted by left-clicking while holding down the Ctrl key.

GPX File

Most GPS utility programs can export tracklogs to this industry standard format. The file extension is GPX and you can import them into RoboGEO. If a camera offset is specified, it's applied when imported.

If you're experimenting with the program, a sample GPX file is provided in the \SampleImages folder.

Shapefiles

To import a shapefile it must have, as a minimum, attribute data for the latitude, longitude, and timestamp. The latitude and longitude must be decimal degrees and the timestamp must be in a format that your computer recognizes as a timestamp, per your computer's regional settings. Alternately, the timestamp can be of an ISO 8601 form similar to yyyy-mm-ddThh:mm:ss.sssZ where the date fields are delimited with dashes and the time fields are delimited with colons. By selecting the appropriate box, the date and time components can be obtained from the same attribute field or from separate ones. If the timestamps are not UTC time, you'll need to specify the associated timezone so that it can be computed.

Garmin TCX Files

This is the tracklog format used by Garmin's newest line of fitness products. This includes the Forerunner 101, 201, 205, 301, 305 and the Edge 205 and 305. Note: when importing, be sure that you import the ones with the tracklog data (the activity history) and not the ones that don't (the directory files).

Google Earth KML and KMZ files

These are Google Earth's native file format. Note that in order to import, the points and/or tracks must have timestamps.

OziExplorer PLT Files

This is the tracklog format exported by OziExplorer. The file extension is PLT and you can import them into RoboGEO. If a camera offset is specified, it's applied when imported.

DNR Garmin Format

DNR Garmin, provided by the Minnesota Department of Natural Resources, is an extension for ArcView that allows you to interface with Garmin GPS units.

To export a tracklog, follow these steps:

1. Connect the Garmin GPS to an available port and turn it on.
2. Start DNR Garmin.
3. Select the GPS port from GPS-->Set Port.
4. Is using a COM port, select the baud rate from GPS-->Set Baud Rate.
5. Set the units to feet from GPS-->Units.
6. Ensure that 'time' is selected from Track-->Track Properties-->Track.
7. Download the tracklog from Track-->Download.
8. Save it as a TXT file from File-->Save to File.

Since a DNR Garmin tracklog file contains no information with respect to the units, you must select 'feet' (not 'meters') in step #5 above.

If, per your computer's regional settings, your locale uses commas (instead of periods) for decimal points and if you select the comma delimited format in step #8, RoboGEO won't be able to parse the file. For consistency purposes, you should always select the 'Text File (Semicolon delimited) (*.txt)' format.

Civil Air Patrol CSV File

RoboGEO can open 2 types of CSV files. If the ImportCsvAsCapCsv preference setting is False (the default) CSV files are treated as Generic CSV Files. If ImportCsvAsCapCsv is True, CSV files are treated as Civil Air Patrol CSV Files, as described here. Note that the /cap command line switch automatically sets ImportCsvAsCapCsv to True.

A CAP CSV file is a comma-delimited format that's compatible with the 'CAP Image Processor' application's 'Template Work Sheet'.

The common workflow is to first fill-in the data using the spreadsheet of your choice (OpenOffice, Excel, etc.) and then to export the data to CSV for importing into RoboGEO. Here's a sample worksheet in XLS format and another after having been exported to CSV.

Each record must contain exactly 10 fields as described below:

Field #1. Image Filename without the path. Case doesn't matter.
Field #2. Target ID.
Field #3. Target Name.
Field #4. City.
Field #5. State.
Field #6. Latitude in either DD MM SS or DD MM.MM or DD.DDDD format.
Field #7. Longitude in either DDD MM SS, DDD MM.MM, or DDD.DDDD. format.
Field #8. Zulu Date in DD-MMM-YY format or any other format that's recognized as a date.
Field #9. Zulu Time in HH:SS format or any other format that's recognized as a time
Field #10.Picture Heading measured clockwise from true north.

Here's an example:

DSCN1009.jpg,1,"Levee","Armuchee","GA","34 15 5","117 30 42",15-MAY-08,13:01,"230" "DSCN1010.jpg",2,"Dike","Subligna","GA","33 12.2","119 33.3",5/15/8,1:01PM,"123" "DSCN1011.jpg",3,"Bridge","Trion","GA","34.1235","117.61514",5-15-8,1:01AM,230 "DSCN1012.jpg",4,"Road","Gore","GA","33 12.2","119 33.0","May 15, 2008",11:01,"123"
etc...

Your file should normally not contain such a mixture of different formats for the same field. They're shown that way above just for illustration purposes.

Quotes are optional and are only required for fields that contain commas. Blank lines are ignored. Records must be delimited with a common CR/LF combination. Fields must be delimited with a a comma. The filename is how the program matches records to images. The Target ID is not used by the program and is only included for your own purposes and to maintain compatibility with the CAP Image Processor's Template Work Sheet. The Target Name, City, and State are associated with the photo's subject. The latitude can be in any of the 3 forms indicated. The longitude should always be entered as a positive number (the program automatically converts it to a negative, which would be the case for points within the USA) and can be in any of the 3 forms listed. Zulu Date can be in the DD-MMM-YY form (like the 1st record in the example above) or in any other form that's recognized as a date per your computer's regional settings. Likewise, Zulu Time can be in any form that's recognized as a time per your computer's regional settings. The Picture Heading can be either blank or a number between 0 and 360 measured clockwise from true north.

If any record or any field in any record is invalid, you'll be alerted of that and will be required to remedy it. The same thing applies to record(s) that can't be matched up with image(s). If an image does not have a corresponding record, you'll be prompted whether to ignore it.

You must load the images before loading the CAP CSV file via the 'File --> Get Locations --> Tracklog --> Import Tracklog File' pull-down menu. Upon loading, the program will write the Target Name, City, and State to the appropriate IPTC headers and then assigns the associated Latitude, Longitude and Picture Heading to the matching image (if you want to write these values to the EXIF headers, you must explicitly do so, though it's not required). Then, upon stamping, all of the data will appear in the image footer in a form similar to this.

Generic CSV File

RoboGEO can open 2 types of CSV files. If the ImportCsvAsCapCsv preference setting is True, CSV files are treated as Civil Air Patrol CSV Files. If ImportCsvAsCapCsv is False, which is the default, CSV files are treated as Generic CSV Files, as described here.

Upon loading a generic CSV file, a form will load that allows you to specify the parameters that the program needs in order to process it. You may need to use this option if the software that came with your GPS doesn't support a common format like GPX or if you manually created the tracklog in a spreadsheet program.

Each record must include a latitude, a longitude, and a timestamp field. Optionally, a record can also include an altitude and/or a new track flag field. An example CSV file with only 2 records is below along with the information that you would need to specify in order to parse it:

32.52;-97.35;1001;6/25/2008 8:55:11 AM;True
32.53;-97.36;1022;6/25/2008 8:56:13 AM;False

Field Delimeter = {SEMI-COLON}
Field Values Encloded in Quotes = False
Decimal Character = {PERIOD}
Record Delimeter = {CR/LF}
Comments =
Ignore 1st Record = False
Timestamp Format = UTC
New Track Denotes True = True
New Track Denotes False = False
Latitude Field Number = 1
Longitude Field Number = 2
Timestamp Field Number = 4
Altitude Field Number = 3
New Track Field Number =

And here's another example:

"Lat","Lon","Elevation","Time";"Is New Tracklog Segment"
# This is a comment and will be ignored by the parser
"32.52","-97.35","1001";"2008-05-20T07:44:10Z","yep"
"32.53","-97.36","1022";"2008-05-20T07:44:10Z","nope"

Field Delimeter = {COMMA}
Field Values Encloded in Quotes = True
Decimal Character = {PERIOD}
Record Delimeter = {CR/LF}
Comments = #
Ignore 1st Record = True
Timestamp Format = UTC in GPX format
New Track Denotes True = yep
New Track Denotes False = nope
Latitude Field Number = 1
Longitude Field Number = 2
Timestamp Field Number = 4
Altitude Field Number = 3
New Track Field Number = 5

And another:

32,52|-97,35|6/25/2008 3:55:11 AM***32,53|-97,36|6/25/2008 3:56:13 AM

Field Delimeter = {PIPE}
Field Values Encloded in Quotes = False
Decimal Character = {COMMA}
Record Delimeter = ***
Comments =
Ignore 1st Record = False
Timestamp Format = UTC Local Time
New Track Denotes True =
New Track Denotes False =
Latitude Field Number = 1
Longitude Field Number = 2
Timestamp Field Number = 3
Altitude Field Number =
New Track Field Number =

Once you've specified the appropriate parameters, press the 'Import CSV' button to import it.





© 2003-2014 Pretek, Inc.
File pull-down menu Edit pull-down menu Help pull-down menu Home Select photos to geocode Get photo locations Photo dictation Process images Export maps Project files Program preferences Camera Clock Exit documentation Geocode from a GPS tracklog Geocode from waypoints Load or log NMEA sentence data Geocode photos using Google Earth Geocode photos from placenames Geocode photos from the IPTC Download from GPS Import a GPX file