当前位置:  开发笔记 > 编程语言 > 正文

使用ruby将exif gps数据数组格式转换为纬度和经度浮点数

如何解决《使用ruby将exifgps数据数组格式转换为纬度和经度浮点数》经验,为你挑选了1个好方法。

从文件中检索exif数据时,坐标将以3个数字的数组的形式提供给您.

i.exif['gps_latitude']
=> ["6/1", "4/1", "911/50"]

这需要转换为更常见的浮动格式以供一般使用.



1> Stefan..:

我能想到的最直接的方法是将字符串转换为Rational数字:

arr = ["6/1", "4/1", "911/50"]

d, m, s = arr.map(&:to_r)
#=> [(6/1), (4/1), (911/50)]

并通过以下方式计算十进制度的值:

lat = d + m / 60 + s / 3600
#=> (1092911/180000)

要获取浮点值:

lat.to_f
#=> 6.071727777777777

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有