将奇怪的 lat/lng 格式转换为十进制

Converting strange lat/lng format to decimal

我有一个设备以他们描述为 'ddmm.mmmm'

的格式向我报告其位置

看起来像这样:

纬度:5108.5837 N 经度:00052.6334 E

有人知道如何将其转换为可与 RGeo 一起使用的普通十进制数吗?

好的,我已经解决了,对于可能遇到相同格式的任何人,它比我想象的要简单..

Latitude: 5108.5812 N
Longitude: 00052.6289 E

度数是小数点前最后 2 位数字(例如 51 或 000)

剩下的是分钟,秒数表示为小数分钟,所以您只需要做:

51.0 + (8.5812 / 60.0) = 51.14302
0.0 + (52.6289 / 60.0) = 0.8771483333

如果纬度是S,取反

如果经度为W,取反

作为参考,如果你也有时间,你会这样做:

degrees + (minutes.to_f / 60) + (seconds.to_f / 3600)

有度数,60分钟为1度,60秒为1分钟(60*60 = 3600)