9
02
2012
Garmin GPS用マップソース互換地図の作成 #3
Shapeファイル経由でマップソースイメージ地図を作成する
先の記事で基盤地図情報のXMLデータからマップソースイメージ地図を作成する方法として、一旦Shapeファイルを作成し、GPSMapEditでPolishファイルを生成し、それをcGpsMapperでコンパイルして最終的なマップソースイメージファイルを生成する方法と、XMLデータから直接変換スクリプトによってPolish形式に変換し、cGpsMapperでコンパイルする方法があることを紹介した.
今回は、前者の一旦Shapeファイルを作成する方法を簡単に紹介する.尚、この方法では実用性のある地図データを作成するのは殆ど不可能だが、GPSMapEditを使いこなすための練習としては良い例題だろう.

Shapeファイルを経由してMapSource形式イメージファイルを作成する手順
基盤地図情報の道路縁データから道路地図を作成してみる
1.基盤地図情報ビューア・コンバータを用いてShapeファイルへ変換する

ダウンロードするデータ項目を選択する

横浜市の山下公園付近の道路縁情報を表示してみる
道路地図を作成する場合は、基盤地図情報のダウンロードページから項目『道路縁』を選び、ダウンロードしたZIPファイルを解凍し必要なファイルを用意する.神奈川県の場合 “FG-JPS-14-06-Z001.zip”、”FG-JPS-14-06-Z002.zip”のZIPファイルに分割されている.ZIPファイルを解凍すると “FJ-JPS-14-RdEdg25000-20080331-0001.xml” 〜 “FJ-JPS-14-RdEdg25000-20080331-0006.xml” の6つのXMLファイルに展開されるので、とりあえず 1〜3, 4〜6の2つのグループに分けて処理を行う事にする.6つのXMLファイルを一度に処理しようとするとデータサイズが巨大になりすぎ、処理が上手く行かない場合が多いのでなるべく小さな単位でグループ化するのが良いだろう.

データの容量によって小グループに分けて処理をする

Shapeファイル形式で出力する

出力された各種ファイル(Shapeファイルの他にも色々と作成される)
2.GPSMapEditorを用いてPolishファイルへ変換し、cGpsMapperでMapSourceイメージ化する
GPSMapEditorはかなり高機能で、様々な処理が出来るようだがまだ使い方が今イチ良く分からないので、とりあえずShapeファイルを読み込んで一旦Polish形式に変換した後、cGpsMapperでイメージファイルとして書き出すまでの処理を順を追って説明する.(GPSMapEditorの日本語の表記は今イチ意味不明なので、英語の表記のままの方が良いかも)
Shapeファイルを読み込むとガーミンGPS上で表示する道路の線の種類を尋ねられるので、適当な線種を割り当てる.本来であれば道路の種類に応じて線種を使い分けるのだが、基盤地図情報から変換されたShapeファイルには1種類の線しか記述されていないようだ.
線種以外に、ラベルのソースに関するフィールドやインポートするズームレベル、緯度経度などの情報を要求されるが、特に指定を変更するような個所はないだろう.GPSMapEditorの画面には全ての道路縁の線が表示されるが、地図をズームアップして行くに従って詳細な道路縁の情報が得られるだろう.
次に読み込まれた道路縁の地図情報に対して、MapSourceイメージで必要になるヘッダー情報やcGpsMapperのパラメータを設定する.ヘッダー情報の設定項目では、他の地図とぶつからないようなユニークな識別子(ID番号)を設定する必要がある.8桁の16進数を設定すれば良いが、国別コード、県コード、タイプなどを上手く組み合わせてID番号を設定すれば良いだろう.(例えば日本の国の識別番号は 81 で、神奈川県のコードは 14、道路縁は 06、グループ番号 02 など → ”81140602″ )
名前欄と著作権情報には分かり易い情報を記述しておく.英語版のガーミンの場合文字化けの可能性があるので日本語は使わない方が良いだろう.コードページと文字コードの設定に関しては、使われている文字コードに応じた値を設定すれば良いが、今回は線情報だけしかないのでとりあえずデフォルトのASCII系のままにしてある.日本語のテキストを含む場合はかなりの確率で文字化けを起こすようなので、極力地図データには日本語を含ませないようにした方が良いかもしれない.
続いてcGpsMapperのパラメータについても予め設定しておく.TRE sizeとRGN limit、TRE marginの数値をどのように設定すれば良いのかは定かではないが、とりあえず TRE sizeとRGN limitを1000程度に設定しておいた.地図の背景を白地(不透明)にするか透明にするかの設定があるが、今回はベースマップの上に道路縁の線情報を上乗せさせるので、背景を透明に設定した.
これらの項目以外にも細かな設定があるが、良く分からないのでとりあえずこの2つの項目だけ設定した.詳細を知るにはcGpsMapperのマニュアルを読む必要があるだろう.cGpsMapper経由でExportする前に、マップデータをPolish形式で一度保存しておく.この作業を行わないとエラーダイアログが表示されて、Export処理を進める事ができない.

ヘッダーの属性を設定する

cGpsMapperのパラメータを設定する

イメージファイルの書き出しはcGpsMapperを利用して行われる

cGpsMapperによる変換出力完了
3.sendmap20 を用いて複数のイメージファイルを一つに纏め、ガーミンGPSにイメージファイルを転送する
今回は神奈川県の道路縁情報を二つに分割して地図を作成したので、sendmap20を用いて一つのイメージマップファイルにマージする(”Create GMAPSUPP.IMG” ボタン).マージしたイメージマップファイルは、GPSナビ本体かmSDHCメモリカードのGarminフォルダの中に置いておけば良い.eTrex30はマスストレージUSBモードでPCと接続できるので、sendmap20のGarmin USBシリアル通信モードによるファイル転送を行う必要はない.

sendmap20を用いてマップイメージを一つのファイル “GMAPSUPP.IMG” にマージする

“GMAPSUPP.IMG” をmSDHCカード上の”Garmin” フォルダ内にコピーする
4. Garmin本体で作成した道路地図を表示してみる

作成した道路地図を有効化する

小縮尺地図では潰れてしまう

ズームアップすればまともに表示