Skip to content

Commit 1cc439c

Browse files
committed
Parse exif lat/lng to dcterms:spatial
1 parent fe32c3a commit 1cc439c

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

system/application/libraries/Image_Metadata.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -94,17 +94,19 @@ private function get_exif($path='') {
9494
$exif = exif_read_data($path);
9595

9696
if (isset($exif['GPSLongitude']) && isset($exif['GPSLongitudeRef']) && isset($exif['GPSLatitude']) && isset($exif['GPSLatitudeRef'])) {
97-
$deg = $this->fraction_to_decimal($exif['GPSLongitude'][0]);
98-
$min = $this->fraction_to_decimal($exif['GPSLongitude'][1]);
99-
$sec = $this->fraction_to_decimal($exif['GPSLongitude'][2]);
100-
$lng = $this->dms_to_dec($deg, $min, $sec);
101-
if ('W' == $exif['GPSLongitudeRef']) $lng = $lng * -1;
102-
$deg = $this->fraction_to_decimal($exif['GPSLatitude'][0]);
103-
$min = $this->fraction_to_decimal($exif['GPSLatitude'][1]);
104-
$sec = $this->fraction_to_decimal($exif['GPSLatitude'][2]);
105-
$lat = $this->dms_to_dec($deg, $min, $sec);
106-
if ('S' == $exif['GPSLatitudeRef']) $lat = $lat * -1;
107-
return array('dcterms:spatial'=>$lat.','.$lng);
97+
if (is_array($exif['GPSLongitude']) && is_array($exif['GPSLatitude'])) {
98+
$deg = $this->fraction_to_decimal($exif['GPSLongitude'][0]);
99+
$min = $this->fraction_to_decimal($exif['GPSLongitude'][1]);
100+
$sec = $this->fraction_to_decimal($exif['GPSLongitude'][2]);
101+
$lng = $this->dms_to_dec($deg, $min, $sec);
102+
if ('W' == $exif['GPSLongitudeRef']) $lng = $lng * -1;
103+
$deg = $this->fraction_to_decimal($exif['GPSLatitude'][0]);
104+
$min = $this->fraction_to_decimal($exif['GPSLatitude'][1]);
105+
$sec = $this->fraction_to_decimal($exif['GPSLatitude'][2]);
106+
$lat = $this->dms_to_dec($deg, $min, $sec);
107+
if ('S' == $exif['GPSLatitudeRef']) $lat = $lat * -1;
108+
return array('dcterms:spatial'=>$lat.','.$lng);
109+
}
108110
}
109111

110112
return array();

0 commit comments

Comments
 (0)