使用Paperclip从图片中获取GPS元数据

13 jpeg metadata user-experience ruby-on-rails paperclip

我有一个关于Paperclip的问题.拍摄时,许多现代相机和手机都会为照片添加GPS元数据:

地理标记

我的Rails应用程序的用户可以上传照片并手动将位置数据添加到他们.但是,这很糟糕,因为用户不想输入:他们希望它自动存在.

可以,如何通过Paperclip和Ruby on Rails从照片(总是JPEG)中获取GPS元数据?可以用Paperclip完成还是需要另一个宝石?

Arn*_*met 18

您需要的是能够从图片中提取EXIF信息.

有一个宝石旨在做到这一点: exifr

您可以使用以下捆绑线自动安装它:

gem 'exifr'
Run Code Online (Sandbox Code Playgroud)

编辑:

我亲自切换到同一个宝石的叉子,其中包含GPS助手:

gem 'exifr', :git => 'git://github.com/picuous/exifr.git'
Run Code Online (Sandbox Code Playgroud)

使用示例:

EXIFR::JPEG.new('IMG_6841.JPG').gps?                # => true
EXIFR::JPEG.new('IMG_6841.JPG').gps                 # => [37.294112,-122.789422]
EXIFR::JPEG.new('IMG_6841.JPG').gps_lat             # => 37.294112
EXIFR::JPEG.new('IMG_6841.JPG').gps_lng             # =>-122.789422
Run Code Online (Sandbox Code Playgroud)