2013-11-14 136 views
-1

嗨我需要將GPS跟蹤器的響應值轉換爲經度和緯度。響應值採用十六進制格式,文檔中說經度和緯度爲measured in degrees with a 1x10^-7 degree lsb, signed 2’s complement。例如:經緯度從十六進制值

Hexa  Binary        decimal  longitude 
B9DCF6B1 10111001110111001111011010110001 3118266033 -117.6701263 

任何人都可以幫助我解決這個問題,使用PHP。

+0

是你的問題PHP編程,或算法GPS數據轉換爲L/L? –

+0

@ ring0需要使用php的alogorthm。你能幫我嗎? –

+0

@SujathanR請參閱http://stackoverflow.com/a/19420991/608624希望它有幫助 – LoneWOLFs

回答

2

移植this answer到PHP:

function convert($hex) 
{ 
    $dec = hexdec($hex); 
    return ($dec < 0x7fffffff) ? $dec * 0.0000001 
           : 0 - (0xffffffff - $dec) * 0.0000001; 
} 

測試:

var_dump(convert('B9DCF6B1')); // float(-117.6701262)