从十六进制数据转换回纬度 GREENTEL

发布于 2024-11-30 17:41:24 字数 543 浏览 0 评论 0原文

目前我正在做一个基于Django和GREENTEL的GPS跟踪项目 它使用这个协议 http://www.m2msolution.eu/doc/Fejlesztoi_dokumentaciok/GT03/GPRS%20Communication%20Protocol_GT03.pdf

它说如何将纬度/经度转换为十六进制..但我想转换纬度十六进制数据转换为正常形式

转换方法:A 将纬度(度、分)数据转换为 GPS模块采用新形式,仅以分钟为单位表示数值; B 将转换后的值乘以30000,然后对结果进行变换 为十六进制数。例如22°32.7658′,(22*60+32.7658)*30000 = 40582974,然后将其转换为十六进制数0x026B3F3E

如何反转十六进制到纬度转换?

Currently I am doing a GPS Tracking project based on Django and GREENTEL
It uses this protocol
http://www.m2msolution.eu/doc/Fejlesztoi_dokumentaciok/GT03/GPRS%20Communication%20Protocol_GT03.pdf

It says how to convert Latitude/ Longitude to Hex.. but I want to convert latitude hex data to the normal form

Conversion method: A Convert the latitude (degrees, minutes) data from
GPS module into a new form which represents the value only in minutes;
B Multiply the converted value by 30000, and then transform the result
to hexadecimal number. For example 22°32.7658′,(22*60+32.7658)*30000 =
40582974,then convert it to hexadecimal number 0x026B3F3E

how to reverse the hex to latitude conversion?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

手心的温暖 2024-12-07 17:41:24

首先得到十六进制,将其转换回以 10 为基数,然后除以 30000。

得到结果并除以 60,整数部分将是度数,其余部分将是分钟。

在Python中:

a = 0x026B3F3E
b = a/30000.0
degrees = b//60
minutes = b%60

print degrees, ' degrees and ', minutes, 'minutes'
>>> 22.0  degrees and  32.7658 minutes

First you get the hex, convert it back to base 10 and divide it by 30000.

Get the result and divide it by 60, the integer part will be the degrees, the rest will be the minutes.

In python:

a = 0x026B3F3E
b = a/30000.0
degrees = b//60
minutes = b%60

print degrees, ' degrees and ', minutes, 'minutes'
>>> 22.0  degrees and  32.7658 minutes
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文