Binary 从十六进制值开始的GPS纬度和经度
我从GPS接收到以下回复到微控制器,而不是尝试解析字符串并将其转换为十六进制来发送,我宁愿使用提供的十六进制值然后发送到我的服务器,但我很难确定它存储的格式Binary 从十六进制值开始的GPS纬度和经度,binary,gps,hex,coordinates,latitude-longitude,Binary,Gps,Hex,Coordinates,Latitude Longitude,我从GPS接收到以下回复到微控制器,而不是尝试解析字符串并将其转换为十六进制来发送,我宁愿使用提供的十六进制值然后发送到我的服务器,但我很难确定它存储的格式 纬度:37度39分48.84秒(0xFF94DE3A) Lon:144度58分10.30秒E(0x019C5B97) (另一个例子:) 纬度:49度10分21.49秒N(0x008BDE6C) Lon:123度4分14.76秒W(0xFEA1EE9A) 我试过用类似的题目回答其他问题,但都没有用 第一个例子中的Lat看起来像-702
- 纬度:37度39分48.84秒(0xFF94DE3A)
- Lon:144度58分10.30秒E(0x019C5B97)
- 纬度:49度10分21.49秒N(0x008BDE6C)
- Lon:123度4分14.76秒W(0xFEA1EE9A)
- 0xFF94DE3A=-7020998/-37.66357=~186413.502
- 0x019C5B97=27024279/144.96953=~186413.510
- 0x008BDE6C=9166444/49.17264=~186413.501
- 0xFEA1EE9A=-22942054/-123.07077=~186413.508
无论如何,您的GPS格式的名称是什么?可能与我在发布问题之前进行了广泛搜索。标题是相似的,但我不知道如何描述它。有许多不同的方法可以有效地实现/存储数字,而不是所有GPS设备都通用的方法。我测试了这个链接的问题(在我发布这个问题之前),但它不能解决这个问题。重复的你没有读过我上面的评论吗?这不一样,甚至不接近。
if ($GPSLatitude > 0x7FFFFFFF) // ensure correct signedness
$GPSLatitude-=0x100000000;
$GPSf = floatval($GPSLatitude) / 186413.51334561207757602506827277;
$GPSD = floor($GPSf);
$GPSt = abs($GPSf - $GPSD) * 60;
$GPSM = floor($GPSt);
$GPSS = floor(($GPSt - $GPSM) * 6000) / 100;
echo 'GPS Latitude: ' . $GPSD . ' Deg ' . $GPSM . ' Min ' . number_format($GPSS,2,'.','') . ' Sec';