Difference between revisions of "GeoTagging"

From ElphelWiki
Jump to: navigation, search
(GPS)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The first GeoTagged video camera is born.
 
 
 
We have now GeoTagging capabilities in our 353 camera model.
 
We have now GeoTagging capabilities in our 353 camera model.
  
 
This page explain current capabilities, discuss the wishes and present some examples.
 
This page explain current capabilities, discuss the wishes and present some examples.
  
= Geo Tagging on Elphel cameras =  
+
= Geo Tagging with Elphel cameras =  
  
 
== EXIF ==
 
== EXIF ==
Line 115: Line 113:
 
== Video ==
 
== Video ==
 
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.
 
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: [http://community.elphel.com/videos/geo-test-1226652954_115950.mov] and the extracted EXIF build into a KML file: [http://community.elphel.com/files/geo-test-extracted-from-video.kml], see it on [http://maps.google.com/maps?f=q&hl=en&geocode=&q=http:%2F%2Fcommunity.elphel.com%2Ffiles%2Fgeo-test-extracted-from-video.kml&ie=UTF8&t=h&z=15 Google Maps]
 +
 
Here are some HD and 5MPix video examples: [http://community.elphel.com/pictures/GEO_TAG3/Elphel-GeoTagged-video-1208135622_453048.mov], [http://community.elphel.com/pictures/GEO_TAG2/Elphel-GeoTagged-video-1208135021_137445.mov], [http://community.elphel.com/pictures/GEO_TAG1/Elphel-GeoTagged-video-1208136524_001909.mov]
 
Here are some HD and 5MPix video examples: [http://community.elphel.com/pictures/GEO_TAG3/Elphel-GeoTagged-video-1208135622_453048.mov], [http://community.elphel.com/pictures/GEO_TAG2/Elphel-GeoTagged-video-1208135021_137445.mov], [http://community.elphel.com/pictures/GEO_TAG1/Elphel-GeoTagged-video-1208136524_001909.mov]
  
Line 129: Line 130:
 
== Google Map ==
 
== Google Map ==
 
- [http://maps.google.com/maps?f=q&hl=en&geocode=&q=http:%2F%2Fcommunity.elphel.com%2Fpictures%2FGEO_TAG%2FGEO_TEST1.kmz&jsv=107&ie=UTF8&ll=40.74972,-111.871483&spn=0.005486,0.011137&t=h&z=17 a google map] with a sequence of images. Each thumbnail is linked to the high definition image.
 
- [http://maps.google.com/maps?f=q&hl=en&geocode=&q=http:%2F%2Fcommunity.elphel.com%2Fpictures%2FGEO_TAG%2FGEO_TEST1.kmz&jsv=107&ie=UTF8&ll=40.74972,-111.871483&spn=0.005486,0.011137&t=h&z=17 a google map] with a sequence of images. Each thumbnail is linked to the high definition image.
 +
 +
- [http://maps.google.com/maps?f=q&hl=en&geocode=&q=http:%2F%2Fcommunity.elphel.com%2Fpictures%2FSF-Geo-test%2FSF-Geo-test.kmz&ie=UTF8&t=h&ll=37.801977,-122.423315&spn=0.004086,0.009538&z=17 another google map example]
  
 
== Google Earth ==
 
== Google Earth ==
  
 
Here is a [http://community.elphel.com/pictures/GEO_TAG1/Elphel-GeoTagged-video-1208136524_096100_abs.kml KML file] for Google Earth with links to photos stored on our server.
 
Here is a [http://community.elphel.com/pictures/GEO_TAG1/Elphel-GeoTagged-video-1208136524_096100_abs.kml KML file] for Google Earth with links to photos stored on our server.
 +
 +
Another KMZ example [http://community.elphel.com/pictures/SF-Geo-test/SF-Geo-test.kmz here].
  
 
= Needed hardware & software =  
 
= Needed hardware & software =  
Line 138: Line 143:
  
 
== Compass ==
 
== Compass ==
We used a [http://www.ocean-server.com/compass.html Ocean 5000] compass that is mounted inside the camera and connected to the USB on 10369 board.
+
We used a [http://www.ocean-server.com/compass.html Ocean 5000] compass that is mounted inside the camera and connected to the internal USB port on the 10369 board.
 +
[[Image:OS5000_installed.jpeg|thumb|Ocean Server digital compass OS5000-US installed]]
  
 
== GPS ==
 
== GPS ==
[https://buy.garmin.com/shop/shop.do?cID=139&pID=6445 Garmin GPS18] was used as external USB GPS
+
[https://buy.garmin.com/shop/shop.do?pID=6445#gps18 Garmin GPS18] was used as external USB GPS
  
 
= How can I try it? =
 
= How can I try it? =
 
This is a temporary documentation for people who would like to try the GeoTagging feature.
 
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, ... ''--[[User:Andrey.filippov|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 [http://elphel.cvs.sourceforge.net/elphel/elphel353-7.1/ CVS code] is compatible only with the [https://buy.garmin.com/shop/shop.do?cID=139&pID=6445 Garmin USB GPS18].
 
First of all you need to have the appropriate hardware. USB GPS is used so you need to have a [[10349]] board. The actual [http://elphel.cvs.sourceforge.net/elphel/elphel353-7.1/ CVS code] is compatible only with the [https://buy.garmin.com/shop/shop.do?cID=139&pID=6445 Garmin USB GPS18].
  
Only [http://elphel.cvs.sourceforge.net/elphel/elphel353-7.1/ CVS code] support GeoTagging for now.
 
  
 
To get it work:
 
To get it work:
Line 156: Line 163:
 
2) on the camera type:
 
2) on the camera type:
  
  mount /dev/hda1 /mnt/0 #uhhh... :) mount the hard drive
+
  mount /dev/hda1 /mnt/0  
 
  mkdir /mnt/0/record1 # create a separate folder for your recording (it's not mandatory)
 
  mkdir /mnt/0/record1 # create a separate folder for your recording (it's not mandatory)
 
  camogm /var/state/camogm_cmd & # start the camogm daemon.
 
  camogm /var/state/camogm_cmd & # start the camogm daemon.
  fpcf -jpeg d # stop the compressor, just to be sure (we have a bug in the current CVS and we will take care of it next days)
+
  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, ...  
 
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  
 
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  
 
!! Close the camera interface !! (The bug we are working on now in the CVS code cause kernel oops if the camera interface is running with enabled compressor.)
 
  
 
4) back to the telnet window, type:
 
4) back to the telnet window, type:
Line 174: Line 178:
 
  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
 
  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 richen 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.
+
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
 
You can watch the status of the recording on http://_Camera-IP_/camogmstate.php
Line 184: Line 188:
  
 
= Future plans =
 
= Future plans =
 +
 +
= Links =
 +
http://geotag.sourceforge.net/

Latest revision as of 04:44, 28 June 2010

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

EXIF

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-7.1.7.24.tar.gz
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,

1/1,

27001/1000
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,

0/1,

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

0/1,

0/1

JPEG

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

Video

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]

Applications

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.

Compass

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

GPS

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

Links

http://geotag.sourceforge.net/