我想将Exif经度和纬度数据转换为Google友好的十进制值。我已经阅读了很多教程,但似乎没有为我工作。我可能会做这个完全错误的。PHP将Exif GPS数据转换为Google友好值
我顺利拿到Exif数据如下:($路径 '/user/images/4.jpg')
$ exif_data = exif_read_data;
$egeoLong = $exif_data['GPSLongitude'];
$egeoLat = $exif_data['GPSLatitude'];
$egeoLongR = $exif_data['GPSLongitudeRef'];
$egeoLatR = $exif_data['GPSLatitudeRef'];
从那里我结束了以下数组变量的值:
deg Long: 118/1
min Long: 2147/100
sec Long: 0/1
Longitude Ref: W
deg Lat: 34/1
min Lat: 433/100
sec Lat: 0/1
Latitude Ref: N
我跑他们通过这个功能来获得一个十进制值(我在这里#1了此功能)。
$geoLong = gpsDecimal($egeoLong[0], $egeoLong[1], $egeoLong[2], $egeoLongR);
$geoLat = gpsDecimal($egeoLat[0], $egeoLat[1], $egeoLat[2], $egeoLatR);
function gpsDecimal($deg, $min, $sec, $hemi) {
$d = $deg+((($min*60)+($sec))/3600);
return ($hemi=='S' || $hemi=='W') ? $d*=-1 : $d;
}
它返回以下......将坐标置于海洋中......不是我拍摄照片的地方。
纬度:41.216666666667 经度:-153.78333333333
谁能告诉我什么,我做错了,或者有更好的方式来实现这一目标。任何帮助深表感谢。
[PHP提取GPS的可能重复EXIF数据](http://stackoverflow.com/questions/2526304/php-extract-gps-exif-data) –
看看这里[http://stackoverflow.com/a/2526412](http://stackoverflow.com/a/2526412) – mica