Entry

GPS位置情報付き写真とGPSログをGoogle Mapに出力する手順

先日、GPS付きのコンパクトデジカメCASIO EXILIM EX-H20Gを購入した。これは、GPSを使って写真に位置情報を埋め込む機能に加え、現在位置情報のログを取るGPSロガーの機能も兼ねている。このデジカメを持ち歩いて写真を撮っていくだけで、写真+経路のマップが自動的に出来上がる事になる。
それを、Google Mapを使って公開するための手順について適当にまとめる。というか、意外と面倒だったので備忘録というか。この手順で作成されるマップのサンプルを以下に示す。取得位置、経路、写真が1枚のマップに収められた、Google Earthの表示と同じような形で表示される。


大きな地図で見る

この作業に必要なソフトウェアは以下の2点。また、Googleアカウントを持っている必要がある。

  • Google Earth (現在のバージョン: 6.1.0)
  • Picasa (現在のバージョン: 3.8.0, 必須ではない)

まず基本的な知識として、Google Mapに読み込ませるために必要な位置情報データは、位置情報をXMLテキストで記述したKML形式、またはそれをZIPで固めたKMZ形式となる。KMZ形式はKMLに加えて画像等も含める事ができる。
Google Mapに経路と画像を表示させるためには、KMZ形式にまとめる…としたい所だが、画像を含めるとファイルサイズが肥大化する上に、画像データ単体で扱いにくくなる。ついでに言うと、Google Earthで画像付きのKMZ形式を出力すると、画像は小さくリサイズされてしまうため、画像の公開には向かない。
そのため、ここでは画像はPicasa ウェブアルバムで公開し、そのリンクをKML/KMZ形式に含める方式とする。(画像その物を含むわけではないので、テキストのみのKMLでも公開可能。)

1. 画像のアップロード

まず、Picasaウェブアルバムに位置情報付きの写真をアップロードする。アップロードするのはWebブラウザ経由でも良いが、Picasa(ローカルソフトウェア)を使うと割と楽。位置情報の微調整が必要な場合は、アップロード後で行うことも可能。また、アルバムの公開設定を「リンクを知っている全員」以上に設定する。

2. 写真の位置情報の取得

写真のアップロード先のアルバムをWebブラウザで開き、「Google Earthで表示」を押すと、アルバム内に含まれる写真の位置情報を列挙したKMLファイルをダウンロードできる。なお、ブラウザによっては拡張子「KML」が自動で付かないので、自分で付けないとGoogle Earthで読み込めない。

3. Google Earthで経路と写真の位置情報を統合

Google Earthに、Picasaウェブアルバムから取得したKMLファイルを読み込ませる。さらに、デジカメから出力したKMLファイルを追加で読み込ませる(EX-H20Gは地図を表示させて、メニュー「地図設定」→「ログの一括保存」でSDカードにKMLファイルを出力できる)。KMLファイルは複数読み込ませることができるため、アルバムや経路が複数に分割されている場合は、ここで統合する。
KMLのデータ構造は適当でも何とかなるようだが、フォルダの階層が深くなるとGoogle Mapが読み込んでくれない模様。

なお、ここで公開したくない経路情報、例えば自宅位置の情報などは削除すること。Google Earthはあまり経路の編集に向かないようなので、読み込ませる前のKMLファイルを直接テキストエディタで編集するのが良い。位置情報はPlacemarkタグの列挙で構成されており、位置情報はPointタグ、経路描画用の経路情報はLineStringタグ内に羅列されている。多分、パッと見ればすぐ分かる。

4. KMZファイルの出力とファイルのアップロード

位置情報を統合したら、KMLファイルとして出力する。統合した位置情報のツリーのトップを右クリックして、「名前をつけて場所を保存」する。出力はKMLまたはKMZから選べる。
出力したKML/KMZファイルを、誰でもアクセス可能な場所にアップロードする。自分のWebサイトを持っていればそのスペースにに置くのが無難。Googleのサービスならば、Googleドキュメントか、Googleサイト辺りを利用する。

なお、Googleマップには自分のアカウント内でKML/KMZをインポートする機能も存在する。ただし、この機能は、ファイルサイズの上限が10MBまでに加えて、位置情報も(画像を含めて)200点までしか出力されないようなので、イマイチ使えない。

5. Googleマップへの出力

Googleマップを開き、検索窓に先程アップロードしたKML/KMZファイルのURLを入力する。すると、KML/KMZに記述したの位置情報、経路情報及び、Picasaにリンクした画像が表示される(サンプル)。
Webページに埋め込む場合は、Googleマップから埋め込みリンクが取得できるため、それを利用する。

まとめ

そんなわけで、Googleマップを使って、位置と経路と写真を同時に公開するための手順をまとめてみた。Google Earthから出力した写真データの解像度の低さに悩んだり、Googleマップのインポート機能を使って経路が表示されなかったり、色々な罠が潜んでいため思いの外手こずったけど、色々試行錯誤して概ね思い通りに出力させることができたと思う。
EX-H20Gで撮影した写真には撮影方角の情報も記録されているはずなのだけど、生憎Google EarthやGoogle Mapでは方位を表示してくれないようだ。
ちなみにこの手順、KMLファイルを直接編集してしまえばGoogle Earthすら必要無いけれど、プロット表示させて目視確認できるので、入れておいた方が便利だと思う。

この方法の難点は公開レベルを制限できないため、誰でも自由にアクセスできてしまう点。今回は外部に公開する事を前提としているけれど、仲間内で見せ合ったりする用途には向かない。GoogleがPicasaとGoogleマップの連携をもう少し強化してくれると助かるんだけどなぁ。

Comments (1 件)

ok.2nd より:

こんにちは
PC上で、GPSログ(GPX)データを取り込んで、Googleマップでルート表示出来る機能をリリースしました。
よろしければ、お試しください。
http://ok2nd.blog87.fc2.com/blog-entry-359.html

コメントを残す

メールアドレスが公開されることはありません。