Latitude Location History KML Export is very interesting. GPS track log is easy to handle geotagging photo than Google Latitude KML data file. I wrote perl program to convert from KML to GPX track log.

Google Latitude / KML data download
Google Latitude
https://maps.google.co.jp/locationhistory/b/0

Convert Google Latitude KML data files to GPX track log data files

Example

install DateTime::Format::HTTP

$ cpanm DateTime::Format::HTTP
--> Working on DateTime::Format::HTTP
Fetching http://www.cpan.org/authors/id/C/CK/CKRAS/DateTime-Format-HTTP-0.40.tar.gz ... OK
Configuring DateTime-Format-HTTP-0.40 ... OK
Building and testing DateTime-Format-HTTP-0.40 ... OK
Successfully installed DateTime-Format-HTTP-0.40
1 distribution installed

convert kml to gpx track log

$ ./latitude_kml2gpx.pl *.kml
input: history-05-19-2013.kml                   output: history-05-19-2013.gpx
input: history-05-20-2013.kml                   output: history-05-20-2013.gpx
input: history-05-21-2013.kml                   output: history-05-21-2013.gpx
input: history-05-22-2013.kml                   output: history-05-22-2013.gpx
$ 

Source Code

#!/usr/bin/perl
# ONO Hiroki onohiroki@cup.com
# http://onohiroki.cycling.jp/comp-google-latitude
# 2013-05-23
use strict;
use warnings;
use Encode;
use utf8;
use open ":utf8";
binmode STDIN,  ":utf8";
binmode STDOUT, ":utf8";
binmode STDERR, ":utf8";

foreach my $datafile (@ARGV) {
    printf "input: %-40s", $datafile;
    my $filename_str = $datafile;
    $filename_str =~ s/\.kml$//gi;
    my $output_filename = $filename_str . ".gpx";
    unless ( open KMLFILE, "< $datafile" ) {
        die "Cannot open file:$!";
    }
    unless ( open GPXFILE, "> $output_filename" ) {
        die "Cannot open file:$!";
    }
    print GPXFILE <<'EOS';
<gpx xmlns="http://www.topografix.com/GPX/1/1"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.topografix.com/GPX/1/1
 http://www.topografix.com/GPX/1/1/gpx.xsd">
 <trk>
EOS
    my $time = q{};
    my $date = q{};
    while (<KMLFILE>) {
        if (m#<when>(.*)</when>#) {
            $time = $1;
            if ( $date eq q{} ) {
                $date = $time;
                $date =~ s/T.*$//;
                print GPXFILE "  <name>$date</name>\n";
                print GPXFILE "  <desc>$date</desc>\n";
                print GPXFILE "  <trkseg>\n";
            }
            $time = convert_datetime($time);
        }
        if (m#<gx:coord>(\S+)\s+(\S+)\s+(\S+)</gx:coord>#) {
            print GPXFILE q{   <trkpt lat="} . $2 . q{" lon="} . $1 . q{">};
            print GPXFILE
              "\n    <ele>$3</ele>\n    <time>$time</time>\n   </trkpt>\n";
        }
    }
    close KMLFILE;
    print GPXFILE "  </trkseg>\n </trk>\n</gpx>\n";
    close GPXFILE;
    print " output: ", $output_filename;
    print "\n";
}

sub convert_datetime {
    use DateTime::Format::HTTP;
    my $str = shift;
    my $dt  = DateTime::Format::HTTP->parse_datetime($str);
    $dt->set_time_zone('+0000');
    return $dt . "Z";
}

Old version ( does not work now)

GoogleLatitude.fakeworkflow.zip and kmlwpt2gpx.pl
Download GPS data from Google Latitude