Syntax adjustments #518

This commit is contained in:
Tobias Reich 2016-04-18 09:40:52 +02:00
parent b9a7bd1056
commit 9e59062384
2 changed files with 23 additions and 15 deletions

View File

@ -789,40 +789,46 @@ final class Photo {
// EXIF Metadata
if ($exif!==false) {
// Orientation
if (isset($exif['Orientation'])) $return['orientation'] = $exif['Orientation'];
else if (isset($exif['IFD0']['Orientation'])) $return['orientation'] = $exif['IFD0']['Orientation'];
// ISO
if (!empty($exif['ISOSpeedRatings'])) $return['iso'] = $exif['ISOSpeedRatings'];
// Aperture
if (!empty($exif['COMPUTED']['ApertureFNumber'])) $return['aperture'] = $exif['COMPUTED']['ApertureFNumber'];
// Make
if (!empty($exif['Make'])) $return['make'] = trim($exif['Make']);
// Model
if (!empty($exif['Model'])) $return['model'] = trim($exif['Model']);
// Exposure
if (!empty($exif['ExposureTime'])) $return['shutter'] = $exif['ExposureTime'] . ' s';
// Focal Length
if (!empty($exif['FocalLength'])) {
if (strpos($exif['FocalLength'], '/')!==false) {
$temp = explode('/', $exif['FocalLength'], 2);
$temp = $temp[0] / $temp[1];
$temp = round($temp, 1);
$return['focal'] = $temp . ' mm';
} else {
$return['focal'] = $exif['FocalLength'] . ' mm';
}
else $return['focal'] = $exif['FocalLength'] . ' mm';
}
// Takestamp
if (!empty($exif['DateTimeOriginal'])) $return['takestamp'] = strtotime($exif['DateTimeOriginal']);
// Lens field from Lightroom
if (!empty($exif['UndefinedTag:0xA434'])) $return['lens'] = trim($exif['UndefinedTag:0xA434']);
// Deal with GPS coordinates
if (!empty($exif['GPSLatitude']) && !empty($exif['GPSLatitudeRef']))
$return['latitude'] = getGPSCoordinate($exif['GPSLatitude'], $exif['GPSLatitudeRef']);
if (!empty($exif['GPSLongitude']) && !empty($exif['GPSLongitudeRef']))
$return['longitude'] = getGPSCoordinate($exif['GPSLongitude'], $exif['GPSLongitudeRef']);
if (!empty($exif['GPSLatitude']) && !empty($exif['GPSLatitudeRef'])) $return['latitude'] = getGPSCoordinate($exif['GPSLatitude'], $exif['GPSLatitudeRef']);
if (!empty($exif['GPSLongitude']) && !empty($exif['GPSLongitudeRef'])) $return['longitude'] = getGPSCoordinate($exif['GPSLongitude'], $exif['GPSLongitudeRef']);
}

View File

@ -5,6 +5,7 @@
* @return string Normalized coordinate as float number (degrees).
*/
function getGPSCoordinate($coordinate, $ref) {
$degrees = count($coordinate) > 0 ? formattedToFloatGPS($coordinate[0]) : 0;
$minutes = count($coordinate) > 1 ? formattedToFloatGPS($coordinate[1]) : 0;
$seconds = count($coordinate) > 2 ? formattedToFloatGPS($coordinate[2]) : 0;
@ -12,17 +13,18 @@ function getGPSCoordinate($coordinate, $ref) {
$flip = ($ref == 'W' || $ref == 'S') ? -1 : 1;
return $flip * ($degrees + (float)$minutes / 60 + (float)$seconds / 3600);
}
function formattedToFloatGPS($coordinate) {
$parts = explode('/', $coordinate, 2);
if (count($parts) <= 0)
return 0;
if (count($parts) == 1)
return $parts[0];
if (count($parts) <= 0) return 0;
if (count($parts) == 1) return $parts[0];
return (float)$parts[0] / $parts[1];
}
?>