Image-ExifTool
view release on metacpan or search on metacpan
lib/Image/ExifTool/Geotag.pm view on Meta::CPAN
++$numPoints;
next;
#
# Bramor gEO log file
#
} elsif ($format eq 'Bramor') {
# 1 0015 18.723675 50.672752 149 169.31 22/04/2015 07:06:55 169.31 8.88 28.07 ypr
# ? index latitude longitude alt track date time dir pitch roll
my @parts = split ' ', $_;
next unless @parts == 12 and $parts[11] eq 'ypr';
my @d = split m{/}, $parts[6]; # date (dd/mm/YYYY)
my @t = split m{:}, $parts[7]; # time (HH:MM:SS)
next unless @d == 3 and @t == 3;
@$fix{qw(lat lon alt track dir pitch roll)} = @parts[2,3,4,5,8,9,10];
# (add the seconds afterwards in case some models have decimal seconds)
$time = Time::Local::timegm(0,$t[1],$t[0],$d[0],$d[1]-1,$d[2]) + $t[2];
# set necessary flags for extra available information
@$has{qw(alt track orient)} = (1,1,1);
goto DoneFix; # save this fix
} elsif ($format eq 'CSV') {
chomp;
my @vals = SplitCSV($_, $csvDelim);
lib/Image/ExifTool/WriteXMP.pl view on Meta::CPAN
# flag all resource names so we can warn later if some are unused
my %unused;
foreach $post (keys %{$$path{Post}}) {
$unused{$post} = 1;
}
# combine property paths for all possible paths through this node
foreach $pre (sort keys %{$$path{Pre}}) {
# there will be no description for the object of a blank node
next unless $pre =~ m{/$rdfDesc/};
foreach $post (sort keys %{$$path{Post}}) {
my @propList = split m{/}, "$pre$post";
my ($val, $attrs) = @{$$path{Post}{$post}};
if ($isWriting) {
CaptureXMP($et, \@propList, $val, $attrs);
} else {
FoundXMP($et, $tagTablePtr, \@propList, $val);
}
delete $unused{$post};
}
}
# save information from unused properties (if RDF is malformed like f-spot output)
if (%unused) {
$et->Options('Verbose') and $et->Warn('An XMP resource is about nothing');
foreach $post (sort keys %unused) {
my ($val, $attrs, $propPath) = @{$$path{Post}{$post}};
my @propList = split m{/}, $propPath;
if ($isWriting) {
CaptureXMP($et, \@propList, $val, $attrs);
} else {
FoundXMP($et, $tagTablePtr, \@propList, $val);
}
}
}
}
}
( run in 0.706 second using v1.01-cache-2.11-cpan-71847e10f99 )