普段の写真は iPhone 6s で満足なのですが、ときどき優秀な望遠ズームとマクロが欲しい @riocampos です。
今はずっと前に妻が買った
RICOH ハイブリッドAFシステム搭載 光学10.7倍ズーム CX5 グリーンシルバー CX5GS
- 発売日: 2011/02/10
- メディア: Camera
デジカメにGPS機能なんてほとんど無い時代でしたね
高級機種には GPS 機能が載っていたのですが、さすがにコンパクトデジカメにまでは GPS が載っていない時代。 iPhone で撮影すると勝手に位置情報が加わるのに「もすもす」で撮影すると位置情報が分からない。それを写真.appで同じように扱うと、すこし辛い。位置検索できないし。
EXIF情報を後から追加するソフトもあるけどね
以前、iPhone でのトラックログを Mac で見るときには myTracks - The GPS solution for iOS and macOS というアプリを使っていました。この myTracks を使うと写真ファイルにも位置情報を追加出来たのです。ただし。「以前」というのは、このアプリがまだ無料だった時代のこと。今は有料アプリになりました。まあ有料でも良いのだけど、ただ機能的に $17.99 は高いのではと感じるのですよ。セコいのだけど。
Windows ユーザーであれば カシミール3D / 風景CGと地図とGPSのページ があるので何も考える必要はありませんな。しかも位置情報を埋め込むための デジカメプラグイン もありますので、この記事自体が要らないw
素晴らしき神ツールExifTool
ということで何らかの優秀な CUI ツールが存在しないかなーと探したところ、当然のように存在していました。
ExifTool by Phil Harvey
というか、世の中の EXIF が扱えるほとんどの GUI アプリは ExifTool を使っている、ような気もします*2。
しかも超優秀なツールなので、経度緯度の直接設定でも、トラックログのデータから位置補完しての設定でも、いろいろと位置情報を設定することが可能。そして…無料。素晴らしい。神ツールと呼ぶに相応しい。
前振りが長くなりました
ということで ExifTool を使って位置情報を追加する方法を(自分用に)記録しておきます。
ExifToolをインストールする
上記サイトからインストールすれば良いです。ただし Homebrew を使っているのであれば
$ brew install exiftool
するのがラクでいいです。しかも ExifTool は更新が頻繁に行われるので、メンテナンス性の面からも Homebrew でのインストールをオススメします。
緯度経度での位置指定
まずは、写真に埋め込みたい位置の緯度経度を求めます。
などの Web サービスを使うのが便利です。
もしくはGoogle Mapsでも若干の手間をかければ求められます。
場所の座標を調べる
- パソコンで Google マップを開きます。Google マップをライトモードで使用中で、画面下部に稲妻のアイコンが表示されている場合は、場所の座標を表示できません。
- 地図上の目的の場所を右クリックします。
- [この場所について] を選択します。
- 画面下部のカードに座標が表示されます。
例えば大阪城。
Lat Long
(34.687315, 135.526201)
GPS Coordinates
34° 41' 14.334'' N
135° 31' 34.3236'' E
Latitude and Longitude Finder on Map Get Coordinates
二つのサービスとも同じく「緯度: 34.687315 経度: 135.526201」になりました。
ではこれを写真一枚、もしくは複数の写真に設定します。念のために大元の写真ファイルではなく、コピーした写真ファイルを使いましょう。
今回は写真10ファイルが入ったディレクトリを指定しています。写真一枚なのであれば、ファイルパスを直接指定すれば良いです。
$ exiftool -P -overwrite_original -gpslatitude=34.687315 -gpslongitude=135.526201 /Users/riocampos/Pictures/100RICOH/ 1 directories scanned 10 image files updated
さて。ExifTool のオプションについて順番に簡単に説明します。
-P
(-preserve
)- 位置情報を埋め込んだ処理後の写真ファイルの変更日を元の写真ファイルと同じままにします。このオプションを指定しないと、処理後の写真ファイルの変更日が ExifTool のコマンド実行日時になります。
-overwrite_original
- 位置情報を埋め込んだ処理後の写真ファイルで、元の写真ファイルに対して上書きします。今回は上記したようにコピーした写真ファイルを使っているのでこのオプションを使っています。
なお、上書きしない場合には処理後の写真ファイルが元ファイルと同じフォルダに書き出されます。
処理後の写真ファイルを他のディレクトリに書き出す場合は-o
(-out
)オプションを指定して、その引数に出力先ディレクトリを指定してください(ディレクトリなので末尾の/
を忘れないように)。
-gpslatitude=XX.XXXX
(または -exif:gpslatitude=XX.XXXX
)-gpslongitude=YYY.YYYY
(または -exif:gpslongitude=YYY.YYYY
)-v
- verbose オプションです。以下のような感じで進行状況を表示してくれます。たくさんのファイルを変更するときには作業してるのかどうなのか気になるので、このオプションを付けておくと良いでしょう。
======== /Users/riocampos/Pictures/100RICOH/RIMG0001.JPG Rewriting /Users/riocampos/Pictures/100RICOH/RIMG0001.JPG... Editing tags in: APP0 APP1 GPS IFD0 JFIF MIE-GPS XMP JPEG APP1 (xxxxx bytes): Rewriting IFD0 Rewriting ExifIFD Rewriting MakerNoteRicoh Rewriting ImageInfo Rewriting RicohSubdir Rewriting FaceInfo Rewriting FirmwareInfo Rewriting SerialInfo Rewriting InteropIFD Creating GPS Rewriting IFD1 JPEG APP2 (xxx bytes): JPEG DQT (xxx bytes): JPEG SOF0: JPEG DHT (xxx bytes): JPEG SOS
そして ExifTool はコマンドの末尾に処理目的のファイルパスを指定します。
追記:Error: [minor] Bad format (512) for MakerNotes entry 0
などという MakerNotes エラーが出て位置情報が追加出来ない場合には
[minor]
と書いてありますし、焦らず騒がずマイナーエラーを無視する -m
オプションで対応しましょう*4。
詳細は 15. "I get MakerNote warnings or errors when reading or writing information"|ExifTool FAQ をお読みください。
本当はトラックログデータのことを書くつもりだったが疲れたので一旦ここまで
例示するとこんな感じ。この場合はkmlファイルですけど、gpxファイルでも大丈夫。
$ exiftool -P -overwrite_original -geotag /Users/riocampos/Downloads/history-2018-08-07.kml /Users/riocampos/Downloads/100RICOH
そのうちに ExifTool のオプションについての解説記事が書ければいいなあ。高機能でしかも無料なので、みんなで使いましょうね。
2021/5/25 追記
まだ GPS なしコンパクトデジカメで撮影したものに exiftool で GPS 情報を付加しております。その際には SD カードを Mac に接続してオリジナル画像で更新し、 iPhone にSD カードリーダを繋いで読み込ませています。その際に使うリーダは純正のこちら ↓
Apple Lightning - SDカードカメラリーダー
- 発売日: 2015/12/10
- メディア: Wireless Phone Accessory
$ exiftool "-FileModifyDate<DateTimeOriginal" *.JPG
やはりありがたいツールです> exiftool 。
(参考:exiftoolでファイルの変更日時を写真の撮影日にする方法 - Qiita)
2021/5/25 追記2
兄から送られてきた写真が回転されずに保存されていたのだけど、きっと exif データの回転指定だけで何とかなるだろうと思って検索したところ、やはり exiftool で解決出来ました。
$ exiftool -P -overwrite_original -Orientation=6 -n RIMG0001.JPG # 6:時計回り90度 $ exiftool -P -overwrite_original -Orientation=8 -n RIMG0002.JPG # 8:反時計回り90度
参考サイト:
おまけ
クセのあるデジカメが好きなので、現時点だとこのあたりがいいなあ*5。
ソニー コンパクトデジタルカメラ サイバーショット Cyber-shot DSC-RX100M6
- 発売日: 2018/06/22
- メディア: Camera
ソニー SONY デジタルカメラ Cyber-shot DSC-RX100M7【最大望遠200mm・1インチセンサー高画質】
- 発売日: 2019/08/30
- メディア: エレクトロニクス
RICOH 防水デジタルカメラ RICOH WG-50 オレンジ 防水14m耐ショック1.6m耐寒-10度 RICOH WG-50 OR 04581
- 発売日: 2017/06/16
- メディア: Camera
パナソニック コンパクトデジタルカメラ ルミックス TZ90 光学30倍 4K動画記録 シルバー DC-TZ90-S
- 発売日: 2017/06/15
- メディア: エレクトロニクス
パナソニック コンパクトデジタルカメラ ルミックス TZ95 光学30倍 ホワイト DC-TZ95-W
- 発売日: 2019/04/25
- メディア: エレクトロニクス
Canon コンパクトデジタルカメラ PowerShot G9 X Mark II ブラック 1.0型センサー/F2.0レンズ/光学3倍ズーム PSG9XMARKIIBK
- 発売日: 2017/02/23
- メディア: エレクトロニクス