Googleマップのタイムライン(ロケーション履歴)データを利用して、写真(JPEG)の撮影日時から推測される位置情報(GPS)をEXIFデータとして付加するツールです。
- Googleマップ タイムライン対応: JSON形式のエクスポートデータを使用します。
- 自動マッチング: 写真の撮影日時(EXIF情報またはファイルの更新日時)とタイムラインデータを照合し、最も近い時間の位置情報を付加します。
- フォルダ構造の維持: 処理後の画像は、元のフォルダ構造(サブフォルダなど)を維持したまま指定の出力先へ保存されます。
- GUI操作: フォルダ選択や設定を直感的に行えるGUIを提供します。前回の設定は自動的に保存されます。
- Python 3.11 以上
- Windows OS (推奨)
- リポジトリをクローンまたはダウンロードします。
- 必要なライブラリをインストールします。
pip install -r requirements.txtPythonがインストールされていない環境でも使用できるEXE版を提供しています。
- Releases ページにアクセス
- 最新バージョンの
Log2Exif.exeをダウンロード - ダウンロードしたEXEファイルをダブルクリックで起動
Note
EXE版はmainブランチが更新されるたびにGitHub Actionsで自動的にビルドされます。 タグが付いたバージョンは自動的にリリースページに公開されます。
Googleマップのアプリまたはウェブサイトから、タイムラインデータをエクスポートしてください。
- スマートフォン(Android)の場合: [設定] -> [位置情報] -> [位置情報サービス] -> [タイムライン] からエクスポート可能です。
- 新しい形式の「Semantic Location History」のJSONファイルに対応しています。
python main.py- Timeline JSON: エクスポートしたJSONファイルを選択します。
- Source Images Folder: 位置情報を付加したい画像が入っているフォルダを選択します(サブフォルダも対象になります)。
- Destination Folder: 処理後の画像を保存するフォルダを選択します。
- Overwrite: 既に画像にGPS情報が含まれている場合、上書きするかどうかを選択します。
- Start Processing: 処理を開始します。
ローカル環境でEXEファイルをビルドする場合は、以下のコマンドを実行します。
build_exe.batビルドが成功すると、dist/Log2Exif.exe ファイルが生成されます。
pip install pyinstaller
pyinstaller Log2Exif.spec新しいバージョンをリリースする場合は、以下の手順で行います。
- バージョンタグを作成(例:
v1.0.0)
git tag v1.0.0
git push origin v1.0.0- GitHub Actionsが自動的にEXEをビルドし、リリースを作成します
- リリースノートは自動生成されますが、必要に応じて編集できます
Tip
タグは セマンティックバージョニング に従って vX.Y.Z 形式で作成することを推奨します。