Um mittels PHP die Längen- und Breitengrade aus einer Datei mit EXIF Metadaten zu extrahieren, können folgende Funktionen verwendet werden:
function ds_gps2Num($coord) { $arParts = explode(‚/‘, $coord); if (sizeof($arParts) <= 0) return 0; else if (sizeof($arParts) == 1) return $arParts[0]; else return (floatval($arParts[0]) / floatval($arParts[1])); } function ds_getGps($exifCoord, $h) { $deg = ((sizeof($exifCoord) > 0)?ds_gps2Num($exifCoord[0]):0); $min = ((sizeof($exifCoord) > 1)?ds_gps2Num($exifCoord[1]):0); $sec = ((sizeof($exifCoord) > 2)?ds_gps2Num($exifCoord[2]):0); return (($h == ‚W‘ || $h == ‚S‘)?-1:1) * ($deg + $min / 60 + $seconds / 3600); }
Der Aufruf erfolgt dann beispielsweise so:
$exif = exif_read_data($filepath, ‚ANY_TAG‘); $image_longitude = ds_getGps($exif["GPSLongitude"], $exif[‚GPSLongitudeRef‘]); $image_latitude = ds_getGps($exif["GPSLatitude"], $exif[‚GPSLatitudeRef‘]);