php 通过exif_read_data读取GPS信息后计算出不正常的经纬度 20

照片是通过itools导出的,打印GPS数组array(14){["GPSLatitudeRef"]=>string(1)"N"["GPSLatitude"]=>arra... 照片是通过itools导出的,打印GPS数组array(14) {
["GPSLatitudeRef"] => string(1) "N"
["GPSLatitude"] => array(3) {
[0] => string(18) "637534208/16777216"
[1] => string(14) "922746880/-256"
[2] => string(5) "12/15"
}
["GPSLongitudeRef"] => string(1) "E"
["GPSLongitude"] => array(3) {
[0] => string(19) "2030043136/16777216"
[1] => string(14) "637534208/-256"
[2] => string(5) "12/15"
}
["GPSAltitudeRef"] => string(1) ""
["GPSAltitude"] => string(9) "43764/565"
["GPSTimeStamp"] => string(3) "3/1"
["GPSSpeedRef"] => string(1) "K"
["GPSSpeed"] => string(3) "0/1"
["GPSImgDirectionRef"] => string(1) "T"
["GPSImgDirection"] => string(9) "58427/235"
["GPSDestBearingRef"] => string(1) "T"
["GPSDestBearing"] => string(9) "58427/235"
["GPSDateStamp"] => string(10) "2018:04:25"
}
根据这个计算出来的 经纬度是经度:-41385.133111111 ,纬度-60036.666444444
这不是一个正常的经纬度,如何解决
计算方法如下:
function getGps($exifCoord,$banqiu) {
$sign = 1;
if(!isset($exifCoord) || $exifCoord=="")
return 0;

$degrees = count($exifCoord) > 0 ? gps2Num($exifCoord[0]) : 0;
if($degrees<0)
$sign = -1;
$degrees = $degrees * $sign;
$minutes = count($exifCoord) > 1 ? gps2Num($exifCoord[1]) : 0;
$seconds = count($exifCoord) > 2 ? gps2Num($exifCoord[2]) : 0;
$minutes += 60 * ($degrees- floor($degrees));
$degrees = floor($degrees);
$seconds += 60 * ($minutes- floor($minutes));
$minutes = floor($minutes);
if($seconds >= 60)
{
$minutes += floor($seconds/60.0);
$seconds -= 60*floor($seconds/60.0);
}
if($minutes >= 60)
{
$degrees += floor($minutes/60.0);
$minutes -= 60*floor($minutes/60.0);
}
$lng_lat = $degrees + $minutes/60 + $seconds/60/60;
$lng_lat = $lng_lat * $sign;
if(strtoupper($banqiu)=='W'||strtoupper($banqiu)=='S'){
$lng_lat = abs($lng_lat)*-1;
}

return $lng_lat;
}
function gps2Num($coordPart)
{
$parts= explode('/', $coordPart);
if(count($parts) <= 0)
return 0;
if(count($parts) == 1)
return $parts[0];
return floatval($parts[0]) / floatval($parts[1]);

}
展开
 我来答
l7722526
2018-04-30 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3819万
展开全部
你是不是想要给你编写一个获取信息的应用程序啊?还是什么意思哦。那要看你需要哪几个信息啊,如照片的拍摄时间或相机类型还是拍摄光圈等啊
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式