GPS から Google Map 用 kml ファイルを作る
最終更新日:
(創設: 2008-01-15)
GPS から Google Map/Google
Earth 用 kml ファイルを作る方法
緑の単語については、本稿では説明を省くので、
必要に応じ、Google などで検索して調べて欲しい。
必要なソフトなど
- Garmin などの GPS 機材(高い。数万円)
- カシミール3D (無償)
- perl (無償)
- nkf (無償)
- Google Earth (無償)
操作手順
- トラックおよびウェイポイントの用意
私は Garmin Vista HCxM を使っており、
これ専用のソフトもあるが、
地図を見ながらこれら情報を編集したりするには
カシミール3D が便利である。
国内の場合は、国土地理院の『ウォッちず』25000が、
海外の場合はスペースシャトル立体地形データ SRTM
を事前にダウンロードして利用するとよい。
- カシミールを開く。
- 前の GPS データが残っている場合は「編集/GPSデータ編集」により、
ウェイポイント、トラック情報などを消しておく。
- 「通信/GPSからダウンロード/すべて」により、直接 Garmin
からデータを読み込む。それらをカシミールデータとする。
- 「編集/GPSデータ編集」により、トラック情報の不要部分などを削除。
特に、GPS を再補足した場合の最初のデータはおかしいことが多い。
- ウェイポイントとしてトラックの開始点、休憩点、
終了点などの重要なデータを登録しておくと便利である。
空白のないアルファベットで後の作業で思い出せるようなポイント名を
登録しておくのがよい。
Garmin で登録したウェイポイントは時刻がおかしいことが多いので、
トラックを追尾しながら、トラックの点より「変換/ウェイポイントへコピー」
によりウェイポイントとして再登録しておくとよい。
- 最後にすべてのウェイポイント選んで「ファイル/選択した GPS
データの書き出し」により、*.wpt なるファイルを作る。
この場合、memo.wpt とする。
同様に、すべてのトラックを選んで、memo.trk を作成する。
- ウェイポイントなどがない場合には、
空または空行のファイルを作っておく。
- 写真および旅行/登山記録の用意
- 写真があれば、それら写真の撮影日時をファイル名としておく。
形式は、20090115_142305.jpg とする。
- デジカメで撮影し、編集などしてない場合には
EXIF データが付いているの
で、exifcopy などを利用し、
これを自動的に付けるのが便利である。
- cygwin などのような
unix 的な環境があれば、ls *.jpg >> memo.src
により、写真のファイル名一覧を memo.src に入れておくと、
後の編集が楽である。
- 記述したい文章、例えば登山記録などを memo.src
というファイルの前半に書き込む。
一旦、行頭にピリオドだけの行を作って改行後、後半に写真データを書く。
この際、前項の作業により、写真のファイル名が入っていると楽である。
写真データは一枚あたり一行とし、20090115_142305.jpg の形式から .jpg
を除いたものに続けタブのような空白文字を置き、その後に説明を入れる。
- kml ファイル memo.kml の作成
- Google Map や Google Earth は kml ファイルもしくはそれを
gz により圧縮した kml ファイルを読んで、
地図上にトラック、ウェイポイント、写真などを表示することができる。
kml ファイルは、UTF-8
で記載する必要があるので、今迄の作業を他の文字コードで行った場合、
最後に、コード変換が必要である。
私の場合には、unix 環境なので、文字コードは
EUC であるので、最後に
nkf -w により変換を行なっている。
ただし、日本語コードは統一的であれば、何を使っても構わない。
- kml は xml 形式で、書き方は余り難しくないが、
一々手動で書くのは面倒である。
このため専用の perl script である
src2kml を作成した。
これによりまず EUC の memo.kml.e が、続いて
UTF-8 の memo.kml が作成される。
- デバグは memo.kml.e により行うのが便利である。
- 同時に作成される memo.txt を html ファイルにすれば、Google Map や Google
Earth が起動される。
ただし、Google Map は Google 側にファイルが作成されるらしく、
kml ファイルを変更しても表示内容が直ぐには変更されない(数週間かかる)。
このため、Google Earth でチェックするのがよい。
(Google Map を手前で Java script
によって実行する場合には、
毎回の変更に対し対応してくれるが、事前に API Key
を得る必要がある。)
ただし、Google Earth は、ウェイポイントなどで表示される内容が Google Map
とは異なるとか、写真の拡大表示ができないなどの差があるので注意。
"岡部のトップページ"へ