我有一个设备以他们描述为"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)