Google Timeline Visualizer Python:セットアップガイド - プラットフォーム

Google Timeline Visualizer Python:セットアップガイド

Google Timeline の JSON ファイルを準備し、Python ビジュアライザーを実行し、ルートを滑らかにして、ローカルでプライベートな旅行動画を作成する方法を解説します。

2026-08-25
Google Timeline Visualizer チーム
クイックガイド
  • Google Timeline Visualizer Python は、エクスポートした Timeline JSON をローカルでレンダリングされた旅行動画に変換します。
  • デスクトップ環境のセットアップには、Python 3.9 以降、FFmpeg、およびプロジェクトの依存関係が必要です。
  • 対応フォーマットには、現在のエクスポート形式、古い semantic segments、アクティビティ、訪問履歴、複数の座標形式が含まれます。
  • ルートの平滑化には、保守的な外れ値フィルタリングと、疎な移動経路向けの大円補間を使用します。
  • プライバシーに関する注意:Timeline JSON はローカルに保持されますが、地図タイルのリクエストによって、表示した地域がタイル提供元に知られる可能性があります。

Google Timeline Visualizer Python:できること

デスクトップ版の Python バージョンは、Google Maps Timeline のエクスポートデータを扱うローカルレンダリングツールです。保存された Timeline.json ファイルを読み込み、位置情報のポイントとルート情報を解釈して、アニメーション地図動画を生成します。これにより、Timeline ドキュメントを第三者のアプリケーションにアップロードせず、過去の旅行を確認できます。

このツールは、ライブ追跡サービスではなく、過去の記録を振り返るためのレンダラーとして理解するのが適切です。新しい移動情報を継続的に収集したり、Google アカウントに接続したり、暗号化された Timeline バックアップを復元したりすることはありません。まず Google Maps で履歴を準備・復元し、ファイルをエクスポートしてから、ビジュアライザーで動画を作成してください。

動画の主な特徴:

  • 分割された複数の Google Timeline エクスポート形式をローカルで解析
  • 孤立した GPS 外れ値を保守的にフィルタリング
  • 長距離フライトや疎なルート向けの大円補間
  • 地図の揺れを抑える安定したカメラ移動
  • デスクトップ Python ワークフローによるローカル動画レンダリング

ローカルレンダリング

Timeline データは履歴ファイル全体としてアップロードされるのではなく、端末上で処理されます。

ルートアニメーション

レンダラーは、長距離の移動を含め、選択した日付に沿って映画的な動きを作成します。

スキーマ変換

パーサーは、複数のエクスポート構造、座標表現、古い Timeline 形式に対応しています。

最適な利用ケース

デスクトップでの操作、繰り返し実行できるコマンド、生成された MP4 ファイルへの直接アクセスを求める場合は、Python 版を使用してください。

機能デスクトップ Python 版実際の結果
入力エクスポートした Timeline.jsonTimeline 履歴のローカルコピーを使用
出力FFmpeg によるアニメーション動画共有可能な MP4 を作成
処理Python のコマンドラインワークフロー繰り返し実行するデスクトップ処理に適している
追跡過去の記録のみ継続中の位置情報を追加しない
アカウントアクセス非対応Google ログインは不要

Python のセットアップとファイル準備

レンダラーを起動する前に、必要なデスクトップツールをインストールし、Timeline のエクスポートファイルを見つけやすい場所に配置してください。文書化されているデスクトップワークフローには、Python 3.9 以降、FFmpeg、requirements.txt に記載されたパッケージが必要です。

入力ファイルは Google Maps からエクスポートするか、エクスポート前に Google Maps で復元しておく必要があります。ビジュアライザーは Google の暗号化されたモバイルバックアップを直接開くことも、アカウントにアクセスして失われた履歴を復旧することもできません。

元ファイルを保護する

Timeline.json の変更されていないバックアップを保管してください。フィルタリングが影響するのはレンダリング処理だけで、元の JSON は変更されませんが、別のバックアップを用意しておくと誤ったファイル操作から保護できます。

1

Timeline データをエクスポートする

アカウントで利用できる端末または Google Maps のワークフローから Timeline データをエクスポートします。Android では、文書化された手順は端末の設定にある「位置情報」、「位置情報サービス」、「Timeline」から始まります。iPhone では、Google Maps の個人コンテンツ設定からエクスポートし、JSON を「ファイル」に保存します。

2

Python の依存関係をインストールする

Python 3.9 以降であることを確認し、プロジェクトディレクトリから python -m pip install -r requirements.txt を実行します。これにより、デスクトップ用ジェネレーターに必要なパッケージがインストールされます。

3

FFmpeg をインストールする

デスクトップ環境に FFmpeg を追加し、ターミナルからコマンドを利用できることを確認します。FFmpeg は動画の結合工程を処理し、マルチスレッド処理に対応しています。

4

JSON ファイルを配置する

Timeline.json を既知のフォルダーにコピーまたは移動します。ターミナルが別のディレクトリで動作している場合は、完全なパスを使用してください。

5

対象を絞ってレンダリングする

年または日付範囲を限定し、安定したカメラオプションを選択して開始します。複数年にわたる大規模なエクスポートを試す前に、結果を確認してください。

セットアップ項目要件確認方法
Python3.9 以降python --version を実行
動画エンジンFFmpegターミナルから実行できることを確認
パッケージrequirements.txtpip でインストール
入力Timeline.json元のバックアップを保管
最初のレンダリング限定した範囲長時間のエクスポート前にテスト

文書化されているコマンドのパターンは次のとおりです。

python visualizer.py --input Timeline.json --year 2025 --camera-movement steady

この例では、プロジェクトの手順にある 2025 年の年フィルターを使用しています。現在の 2026 年のワークフローでは、可視化したいエクスポートデータに合う年または日付範囲を選択してください。プロジェクトのバージョンで追加の日付引数が公開されている場合は、ローカルのヘルプ出力で正確な構文を確認してください。

確実な最初のテスト

短い旅行を最初にレンダリングするのが最も安全です。長時間の処理で時間を消費する前に、Python、FFmpeg、入力パス、地図へのアクセス、出力権限が機能していることを確認できます。

対応する Timeline 形式とルート制御

Google Timeline のエクスポート形式は、端末、アカウント履歴、エクスポートの世代によって異なる場合があります。ビジュアライザーは、すべてのファイルが単一の座標スキーマを使用すると仮定するのではなく、複数の構造を正規化するよう設計されています。

対応する入力には、現在の直接配列形式のエクスポート、semanticSegments を使用する古いファイル、パス、アクティビティ、訪問履歴、オプションの生の位置情報が含まれます。座標値は、文字列、latLng 値、度数フィールド、geo: 文字列、または E7 整数座標として現れる場合があります。

Timeline 入力処理方法推奨アクション
現在の直接配列形式のエクスポート最新の Timeline 構造として解析エクスポートした JSON をそのまま使用
semanticSegments エクスポート古いネスト形式から変換まず短い日付範囲でテスト
パス、アクティビティ、訪問履歴ルートの文脈を構築するために使用関連する移動期間を選択
生の位置情報へのフォールバック警告を表示して解析し、ローカルでノイズを低減フィルタリングされたポイント数を確認
E7 座標利用可能な緯度・経度に変換元ファイルは変更せずに保持

デフォルトの GPS 設定は、保守的な GPS 外れ値フィルタリングです。急なスパイクや誤った迂回を生じさせる可能性がある、孤立した不自然な往復ポイントを無視します。この方法は、元のデータを書き換えることなく、読みやすさを向上させることを目的としています。

記録されたすべてのポイントが重要な場合は、フィルタリングを無効にできます。技術的な検証には便利ですが、Timeline に建物周辺、信号の弱い場所、一時的な測位エラーによる GPS の揺れが含まれていると、アニメーションが不安定になる可能性があります。

フィルタリングによって JSON が編集されることはありません

外れ値フィルターはレンダリング設定です。生成された可視化に表示されるポイントを変更しますが、元の Timeline ファイルは後の処理のためにそのまま利用できます。

長距離フライトなどの疎なルートでは、レンダラーは大円補間を使用します。平面地図上に見た目の悪い直線を描くのではなく、球面上の最短経路に沿ってルートを表示します。これは、国際日付変更線をまたぐ移動に特に役立ちます。

カメラにも安定した移動モデルが使用されています。地図を固定したまま、マーカーが中央の表示領域内を移動できます。マーカーが境界に到達すると、カメラが追従を開始します。これにより、近距離の通勤などでカメラが素早く前後にパンするのを抑えられます。

制御項目目的最初に選ぶ設定
日付範囲表示する移動を限定1 回の旅行には正確な日付
年フィルター暦年を選択最初のテストには 1 年を使用
カメラ移動地図の追従動作を制御落ち着いた旅行映像には Steady
GPS フィルタリング孤立した不自然なポイントを削除デフォルトの Conservative
距離単位表示される移動距離の単位を変更視聴者や地域に合わせる
旅行には正確な日付を選ぶ

狭い日付範囲の方が、1 年全体をレンダリングするよりも明確なストーリーになりやすいです。1 回の旅行ではなく、広範な旅行の概要を目的とする場合は、1 年全体の表示を使用してください。

レンダリング、確認、動画管理

ファイルを読み込んだら、プレビューの前に移動期間、カメラ移動、距離単位を選択します。インタラクティブなプレビューによって、欠落したポイント、不要な GPS スパイク、目的の動画には広すぎるルートを確認できます。

保存される動画では選択したデザインが使用され、レンダリング前に地図タイルが準備されます。Android では、関連アプリが完成した MP4 ファイルを専用の動画フォルダーに保存します。一方、元のデスクトップワークフローでは、プロジェクトの出力動作とローカル権限に応じて結果が書き出されます。

Python ワークフローでは、最初のレンダリング中はエラーを確認できるよう、ターミナルを開いたままにしてください。短いテストにより、依存関係の不足、利用できない FFmpeg コマンド、不正なパス、想定されるエクスポート構造と一致しない入力ファイルなどを発見できます。

長時間のレンダリング前にプレビューする

短いテストが正常に動作するまでは、10 年分の位置情報履歴から始めないでください。大きなファイルには多数のポイントが含まれる可能性があり、より多くの処理時間と一時ストレージが必要になります。

最終動画を作成する前に確認すること:

  • Timeline.json の変更されていないバックアップを保管する
  • Python 3.9 以降と FFmpeg が利用できることを確認する
  • 短い日付範囲または 1 回の旅行でテストする
  • GPS フィルタリングとカメラ移動を確認する
  • エクスポートした MP4 と地図の帰属表示を確認する
確認段階確認する内容重要な理由
ファイル読み込み日付と検出された位置情報エクスポートを解析できることを確認する
プレビュールートの形状とカメラの安定性スパイクや過度な動きを発見できる
フィルターレポート無視されたポイント数ルートの違いを説明するのに役立つ
レンダリング進行状況と最終出力FFmpeg が正常に完了したことを確認する
最終動画再生、帰属表示、共有用コピー意図しないルートの公開を防ぐ

アプリケーションのエコシステムには、完成した MP4 ファイル、サムネイル、タイトル、期間、再生時間、作成日を管理するローカル動画ライブラリも含まれます。ライブラリの外で動画を移動または削除すると、その項目を利用できなくなる場合があります。リストから項目を削除することと、元のファイルを完全に削除することは別の操作です。

プライベートな旅行記録の場合は、共有する前に完成した動画を確認してください。元の JSON がコンピューターから外部に出ていなくても、ルートアニメーションから自宅、職場、定期的な通勤経路、通院先、その他の機密性の高い場所が分かる可能性があります。

選別した旅行を共有する

完全な位置情報履歴を公開するのではなく、選択した旅行ごとに別の動画を作成してください。これにより映像としてのストーリーを保ちながら、機密性の高い移動情報を不必要に公開せずに済みます。

プライバシーの限界と代替ワークフロー

ローカルファーストの設計により、処理中の Timeline JSON は端末内に保持されます。ただし、地図の背景には外部のタイルリクエストが必要です。文書化されているプライバシー説明では、OpenStreetMap の地図データを使用するベースマップ提供元として CARTO が示されています。表示する地域へのリクエストによって、閲覧している地域がその提供元に知られる可能性があります。

最初の地図タイルが読み込まれる前に、プライバシー通知を確認し、そのトレードオフが用途に適しているか判断してください。ローカル処理によって履歴全体をアップロードする必要性は減りますが、すべてのネットワーク通信が見えなくなるわけではありません。

データ要素ローカルまたは外部プライバシー上の考慮事項
Timeline JSONローカル処理ビジュアライザーからアップロードされない
GPS の解析ローカル座標は端末上で解釈される
地図タイルのリクエスト外部閲覧した地域がタイル提供元に見える可能性がある
レンダリング済み MP4ローカル出力共有するとルートが視覚的に明らかになる可能性がある
Google アカウントのバックアップGoogle の別サービスエクスポート前に Google Maps で復元する

永続的な保存を求めるユーザーは、ビジュアライザーとセルフホスト型の位置情報データベースを区別する必要があります。ビジュアライザーは一時的なツールであり、データを読み込み、動画をレンダリングし、過去の記録を振り返るために使用します。セルフホスト型の空間システムは、位置情報履歴を継続的に保存し、長期的な分析を支援するという別の目的を持ちます。

実用的なハイブリッド方式として、継続的な記録はプライベートなシステムで管理し、映画的なエクスポートが必要な場合だけビジュアライザーを使用する方法があります。移行ユーティリティは、重複するエクスポートを統合したり、独自形式をより汎用的な地理フォーマットに変換したりするのにも役立ちますが、機密データを預ける前に各ツールを確認してください。

ソフトウェア開発については、リポジトリにデスクトップ版と Android プロジェクトの両方に関するテストおよびビルド手順が含まれています。Python の開発用依存関係は python -m pip install -r requirements-dev.txt でインストールし、その後プロジェクトのテストコマンドを実行できます。Android のビルド要件は Python ワークフローとは別です。

ローカル処理でもネットワーク通信は発生する

Timeline ドキュメントをローカルに保持したままでも、ベースマップのリクエストは端末の外部へ送信されます。プライバシー通知、タイル提供元、最終 MP4 を、脅威モデルの別々の要素として扱ってください。

実装の詳細については、Google Timeline Visualizer GitHub リポジトリを参照してください。リポジトリには、対応ワークフロー、インストールに関する注意事項、プライバシー動作、ビルドコマンド、MIT ライセンスについて記載されています。

FAQ:Google Timeline Visualizer Python

Q: Google Timeline Visualizer Python は何に使用しますか?

エクスポートした Google Timeline JSON ファイルを読み込み、Python と FFmpeg を通じてアニメーション旅行動画を作成するデスクトップ用レンダリングワークフローです。継続的な追跡ではなく、過去の記録を可視化することを目的としています。

Q: Python 版には何が必要ですか?

文書化されているデスクトップ版には、Python 3.9 以降、FFmpeg、requirements.txt に記載されたパッケージが必要です。ジェネレーターを実行する前に、python -m pip install -r requirements.txt でパッケージをインストールしてください。

Q: 失われた Google Maps Timeline のバックアップを復元できますか?

いいえ。まず Google Maps で暗号化されたバックアップを復元し、その後新しい Timeline JSON ファイルをエクスポートしてください。ビジュアライザーは Google アカウントにアクセスしたり、暗号化されたバックアップを直接開いたりすることはできません。

Q: ビジュアライザーは Timeline ファイルをアップロードしますか?

文書化されているワークフローでは Timeline ファイルをローカルで処理し、アップロードすることはありません。地図タイルは別のネットワーク機能であるため、タイル提供元はどの地図領域がリクエストされたかを知る可能性があります。

最終的な推奨事項

短いエクスポートから始め、保守的なフィルタリングを使用し、ルートをプレビューして、元の JSON と最終 MP4 の両方を自分で管理してください。