将奇怪的 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)
我有一个设备以他们描述为 '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)