写真データの日付と位置情報をあとから編集したい

写真データにあとから位置情報を追加したり、撮影時間を変更したいときがあります。

  • フィルム写真を現像してデータ化した
  • LINEで送ってもらった写真データの日時と実際に撮影した時間が違っていた
  • 使ったカメラの内蔵時計がずれていた

などなど。

日付と位置情報をちゃんと設定しておくと、Googleフォトなどで管理するときに時間に沿って表示できたり、地図からの検索ができたりと何かと便利です。

写真の日付と位置情報をあとから編集する方法を紹介します。※今回のOSはMac OSです。

日付の編集

Exif Tool https://exiftool.org/ を使って、コマンドラインから日付を編集することができます。

brewでインストール

$ brew install exiftool

以下で、画像データに埋め込まれた各日時(撮影した日時(DateTimeOriginal)、ファイルが作られた日時(CreateDate)、ファイルが更新された日時(ModifyDate))を上書きします。

$ exiftool -overwrite_original -alldates='2023:09:03 14:35:00+09:00' aaa.jpg

これで画像に埋め込まれた日時が更新されます。ただし、Mac上の作成はまだそのままです。

以下をさらに実行することで、画像の日時(写真を撮った日時)に、Mac上のファイル作成日をあわせることができます。

$ exiftool -overwrite_original '-FileModifyDate<DatetimeOriginal' aaa.jpg

既存の日付から進めたり戻したりするには

“+=”とすることで、元の時間をベースに時間を進めることができます。同様に”-=”だと時間を戻すことができます。

例:1年と2ヶ月と3日、4時間5分6秒時間を進める。

$ exiftool -alldates+='1:2:3 4:5:6' aaa.jpg

その他参考情報

その他のExif情報を確認したい場合(例:ファイル名がaaa.jpgの場合)

$ exif tool aaa.jpg

Exif情報から日付関連の情報のみ確認(例:ファイル名がaaa.jpgの場合)

$ exiftool -time:all -s -a 0001_original.jpg

(出力結果)
FileModifyDate                  : 2023:09:30 15:44:13+09:00
FileAccessDate                  : 2023:09:30 16:04:42+09:00
FileInodeChangeDate         : 2023:09:30 15:44:13+09:00
ProfileDateTime                 : 1998:02:09 06:49:00
MetadataDate                    : 2023:09:21 22:58:22+09:00

オプションの意味

-time:all日時関連のパラメータのみを表示
-a 重複している値を表示しない ※ファイルによっては同じ値が複数書き込まれていることがある
-s パラメータから空白文字を除く(eg: File Modify Date -> FileModifyDate)

「GeoTag」で一括で位置情報を設定

GeoTagというフリーウェアを使うと、写真に緯度経度情報を付与できます。

こちらは使い方は簡単です。地図から写真の撮影場所を選ぶことができたり、フォルダ内の画像を丸ごと読み込んで一括処理も可能となっています。

GeoTag (Mac App store)

https://apps.apple.com/jp/app/geotag/id1465180184?mt=12