繁体   English   中英

将GPS数据转换为纬度和经度C#

[英]Convert GPS data to latitude and longitude c#

我有一个GPS设备(gt003),它将数据发送到服务器,我需要将设备发送的01E0598A 0869058A值转换为纬度和经度。

纬度

占用4个字节,代表纬度值。

数值范围是从0到162000000,代表从0°到90°的范围。 单位:1/500秒转换方式:

A)将来自GPS模块的纬度(度,分钟)数据转换为仅以分钟为单位的新形式;

B将转换后的值乘以30000,然后将结果转换为十六进制数

例如22°32.7658',(22×60 + 32.7658)×30000 = 40582974,然后将其转换为十六进制数0x02 0x6B 0x3F 0x3E

经度

占用4个字节,代表位置数据的经度值。 数值范围是0到324000000,表示范围是0°到180°。单位:1/500秒,转换方法与纬度相同。

预期输出接近17°29'20.2“ N 78°23'21.7” E

01E0598A(16)= 31480202(10)。

除以30000-> 31480202/30000 = 1049.34006666。 如您所述,它的价值以分钟为单位。
因此:1049.34006666 / 60 = 17.489001°(如果您需要度的小数点-就是这样)。 什么是17°。
0.489001°-> 0.489001 * 60 = 29.34“。所以29”。 至少0.34。 0.34 * 60 = 20.4'。
结果= 17°29“ 20.4'。

0869058A相同:

0869058A(16) = 141100426(10).
141100426 / 30000 = 4703.347533333333".
4703.347533333333 / 60 = 78.38912555555556° -> 78°
0.38912555555556 * 60 = 23.3475333333336" -> 23"
0.3475333333336 * 60 = 20.852000000016' -> 20.85'

结果:78°23“ 20.85'= 78.38912555555556°

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM