我有一个设备以他们描述为'ddmm.mmmm'的格式向我报告其位置
它看起来像这样:
纬度:5108.5837 N. 经度:00052.6334 E
任何人都知道如何将其转换为可以与RGeo一起使用的正常十进制数?
答案 0 :(得分:1)
好的,我已经解决了,对于任何可能遇到相同格式的人来说,它比我想象的要简单。
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)