酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

はてなフォトライフにアップロードした写真から位置情報を削除する方法

先週末、はてなフォトライフにアップロードした写真から酢酸ホームの位置情報が盛大にお漏らししてたみたいで急遽対処していました。

本記事では、はてなフォトライフにアップロードした写真から位置情報を削除する方法をご紹介します。

はてなフォトライフにアップロードした写真から位置情報を削除する

Google Chromeの拡張機能に「EXIF Viewer」というアドオンがあります。写真のExifを読み取ってオーバーレイで情報を表示してくれます。写真に位置情報が含まれていると、赤く「GPS」と表示が出ます。

f:id:ch3cooh393:20150125165112p:plain

はてなフォトライフで見ると地図の部分に緯度経度に情報が入っているのがわかります。このテキストボックスに情報を削除して、この内容に変更するボタンをクリックします。

f:id:ch3cooh393:20150125165123p:plain

すると、位置情報が削除され地図上にあったポインタは消えていることがわかります。

f:id:ch3cooh393:20150125165131p:plain

さて位置情報を削除した上で写真のExifを確認してみましょう。……なんと写真の位置情報は消えていません!!! 赤く「GPS」と表示されてままです。

f:id:ch3cooh393:20150125165251p:plain

あとで詳しく推測を書きますが、はてなフォトライフのデータベースから位置情報が削除されましたが、はてなフォトライフのストレージ上の写真からは位置情報が削除されていません

おそらく下記のエントリを書いた方は、はてなフォトライフのデータベースから位置情報の削除すると、写真にも反映されると考えたのではないでしょうか。

はてなフォトライフ上の設定は変更されても位置情報は削除してくれないので、コメントで「CDNが~」と書かれている方もいますが、8日以上更新が反映されていないことからCDN関連の問題ではないように思えるので、おそらくこの勘違いが原因だと思います。僕もこの方と同じ勘違いしていました。

写真からも位置情報を削除する(Windows編)

さて、写真に含まれている位置情報を削除するにはどうしましょうか?

はてなフォトライフは同じ写真がアップロードされた場合、別々の写真として管理するのではなく既存の写真を上書きする挙動となっています。

この挙動を利用して、アップロード済みの写真をダウンロードして位置情報を削除した上で、もう一度はてなフォトライフにアップロードします。

順を追って説明していきましょう。はてなフォトライフにアップロードした写真をデスクトップ上にドラッグアンドドロップなどで保存します。

f:id:ch3cooh393:20150125165448p:plain

Windowsには標準でExifの情報を削除する機能が備わっています。ダウンロードしたファイルを右クリックして、コンテキストメニューからプロパティを選択します。

f:id:ch3cooh393:20150125174818p:plain

プロパティウィンドウが表示されたら詳細タブを開き、プロパティや個人情報を削除ボタンをクリックします。

f:id:ch3cooh393:20150125174827p:plain

どのプロパティを削除するのか選択できますので、「このファイルから次のプロパティを削除」のラジオボックスを選択して、GPSグループにある「緯度」と「経度」を選択して、ウィンドウ下部のOKボタンをクリックします。

f:id:ch3cooh393:20150125174835p:plain

以上で写真から位置情報は削除できたので、はてなフォトライフに再度写真をアップロードします。EXIF Viewerで見ると位置情報が削除されていることがわかります。

f:id:ch3cooh393:20150125180559p:plain

これではてなフォトライフから位置情報を削除する話は終わりです。

はてなフォトライフの仕様(推測)

ここに行きつくまでに考えたはてなフォトライフの仕様(推測)です。*1

f:id:ch3cooh393:20150125162036j:plain

ユーザーがはてなブログ経由、または直接はてなフォトライフにアップロードした写真は、まず写真そのものがストレージに格納されます(①)。その次に、写真のExifから抽出した位置情報や撮影時の設定などがデータベース上に格納されます(②)。

はてなフォトライフの設定ページでの「位置情報を表示」や「Exif情報を表示」は、②の情報についての取り扱いについての設定だと思います。

また、はてなフォトライフ上で削除された位置情報が、はてなブログ上の写真でまだ残ってる💢 というのはCDNの影響でしょう。はてなフォトライフでは写真のURLを直接参照していますが、はてなブログではCDN経由のURLになっています。

先ほどの写真の例で言うと下記の通りです。

(おまけ)はてなブログアプリからアップロードした写真は意図的にExifが削除されている?

はてなブログとはてなフォトライフでのExifの取り扱いについて僕が勘違いしていたのには原因があって、複数枚数の写真をアップロードしているエントリで1枚だけExifが残っている写真があったからです。

実験的にiPhoneのはてなブログアプリからアップロードした写真にはExifが付いていませんでした*2。何枚も検証したわけではないのですが、はてなブログアプリを使ってアップロードした写真からは意図的にExif情報を削っていて、はてなブログ(ブラウザ)からアップロードした写真はExif情報がそのまま残っているのかもしれません。

*1:字が汚いのは僕の仕様です。

*2:https://blog.ch3cooh.jp/entry/20150125/1422153511