From ElphelWiki
Jump to: navigation, search

We have now GeoTagging capabilities in our 353 camera model.

This page explain current capabilities, discuss the wishes and present some examples.

Geo Tagging with Elphel cameras


We use EXIF to store GEO data. This is a typical example of stored data:

Camera: Elphel 353D
Exposure: 0.001 sec (1/2000)
Image Description: Elphel Geo test
Software: elphel353-
Date and Time: 2008:04:13 01:01:02
Artist Name: 00:0E:64:08:01:F5
Date and Time (Original): 2008:04:13 01:01:02
Sub-Second Time (Original): 264867
Latitude: N 40° 43.54' 0"
Longitude: W 111° 54.24' 0"
Altitude: 1307.7
GPS Time (atomic clock): 1/1,


GPS Measurement Mode: 3
GPS Date: 2008:04:13
Direction of Image: 443/10
Destination - North or South Latitude: S
Latitude of Destination: 40/10,


Destination - East or West Longitude: E
Longitude of Destination: 196/10,




Here are some examples of JPEG images from Elphel 353 camera with GeoTagged EXIF: [1], [2], [3], [4]


Each image in the video stream is GEO Tagged in EXIF, so even the video files such as MOV can be parsed to extract GEO Tagging information from each particular frame.

Here is a 720p HD video example: [5] and the extracted EXIF build into a KML file: [6], see it on Google Maps

Here are some HD and 5MPix video examples: [7], [8], [9]


There are multiple possible application of GEO Tagging. Here are some of them:

Flickr / Panoramio / ...

You can upload JPEGs from Elphel camera to Flickr, Panoramio or any similar service. EXIF data will be recognized and the images will be automatically placed on the map.

Here is a Flickr example.

And here a Panoramio example. Panoramio can also export your gallery into a map or to KML.

Google Map

- a google map with a sequence of images. Each thumbnail is linked to the high definition image.

- another google map example

Google Earth

Here is a KML file for Google Earth with links to photos stored on our server.

Another KMZ example here.

Needed hardware & software

We used Elphel 353 model with 10369 board mounted inside.


We used a Ocean 5000 compass that is mounted inside the camera and connected to the internal USB port on the 10369 board.

Ocean Server digital compass OS5000-US installed


Garmin GPS18 was used as external USB GPS

How can I try it?

This is a temporary documentation for people who would like to try the GeoTagging feature.

OBSOLETE - needs to be updated. 10369A instead of the 10349, most generic NMEA GPS devices also work now (with USB-to-serial adapter), not just the Garmin USB 18, Compass/GPS features are integrated in camvc and recorded with camogmgui, software link points to 7.1 - now it is 8.0.x, ... --Andrey.filippov 09:00, 25 March 2009 (CDT)

First of all you need to have the appropriate hardware. USB GPS is used so you need to have a 10349 board. The actual CVS code is compatible only with the Garmin USB GPS18.

To get it work:

1) telnet to the camera just after booting (before doing anything else)

2) on the camera type:

mount /dev/hda1 /mnt/0 
mkdir /mnt/0/record1 # create a separate folder for your recording (it's not mandatory)
camogm /var/state/camogm_cmd & # start the camogm daemon.
fpcf -jpeg d # stop the compressor, just to be sure 

3) Open the camera interface in FireFox and configure the image parameters as usually. Frame size, exposure/autoexposure, colors balance, ...

You can also use http://_Camera-IP_/focus.html for fine focusing. And set a description in EXIF using: http://_Camera-IP_/exif.php?description=Elphel%20High%20FPS%20test

4) back to the telnet window, type:

fpcf -jpeg a # start the compressor
# and now start the camogm recording :
echo "status; exif 1; format=mov; prefix=/mnt/0/record1/name-your-video- ; duration=600; length=1000000000; kml_period=5; kml=1; start; status=/var/tmp/camogm.status" > /var/state/camogm_cmd

The last line send a command to camogm to set EXIF on, format the video in MOV, set the prefix, duration and length (the first reached limit will be used). kml_period set the amount of seconds between KML entries (a separate JPEG is also recorder to the HD for each KML entry) and start the recording.

You can watch the status of the recording on http://_Camera-IP_/camogmstate.php

to stop the recording type the following in telnet:

echo "status; stop; status=/var/tmp/camogm.status" > /var/state/camogm_cmd

You can download the videos, JPEGs and KML files from the camera using FTP.

Future plans