POI(Point of Interest)データを作る


※ご注意※

このページに記載の内容は古いです。 MapView25000のVer0.77からは、カシミール3Dの地名ファイル形式(*.ndb)を直接読み込むことができます。

はじめに

英語版のeTrex VistaやLegendに、国土地理院の空間データ基盤(ベクトル地図)を格納することができるようになった。 次はPOIデータを作って、転送する方法を考察してみる。

考え方

日本で最もポピュラーなGISソフトといえば、カシミール3Dでしょう。 カシミール3Dでは地名データを、オリジナルの地名ファイル形式(*.ndb)で管理しています。 ユーザー数も多いので、地名ファイル形式のデータは、多くの方が作成・公開しています。

一方で、POIとしてeTrexに登録するには、地図と同様にIMGファイル形式にする必要があります。 IMGファイルに変換するツールであるGPSmapperは、Polish Format(*.mp)を入力ファイル形式としています。

IMGファイルの編集/作成(cGPSmapperのフロントエンドとして)が可能なGPSMapEditの場合、非常に多彩なファイル形式を読み込むことができます。 例えば、Garmin PCX5互換のWPT形式のファイルも読み込むことができます。 カシミール3Dは、地名ファイルをGPSファイル(ウェイポイント)に変換して、PCX5互換のWPT形式に出力できます。 しかし、実際にGPSMapEditに読み込ませると、下の図のようになってしまいます。

そこで、GPSMapEditで1つだけPOIを作成して、Polish Formatでファイルしてみました。 データ形式としては単純なので、これならWPTファイルから変換できそうです。 ただし、自分にはスクリプトを作成する能力はないので、冗長ですがより一般的な(そして応用のきく)方法でやってみます。

おことわり

これはあくまで「私の例」であり、成功することを保証しているわけではありません。 また、このページを参考にして何らかの問題が生じた場合でも、私は一切責任を取りません。 あしからずご了承ください。

本当はもっと効率の良い方法があるのだろうと思います。 GPSにまつわるファイル形式について無知なので、ずいぶん遠回りをしているのだろうと思います。 POIデータの作成手順について、詳しく解説したページが見当たらなかったので、恥を忍んで公開しました。 より良い方法がありましたら、教えて頂けると幸いです。

必要なもの

  1. 英語版Vista 又はLegendと、PC接続用ケーブル(USB、シリアル)
  2. MS Windows 2000(又はXP) 実行環境
  3. カシミール3D (フリーウェア。 執筆時点ではVer 8.2.5)
  4. Microsoft Excel2000 もしくは表計算ソフト
  5. 秀丸 (シェアウェア。 執筆時点ではVer 4.10) もしくはテキストエディタ
  6. GPSMapEdit (英語版シェアウェア。 執筆時点ではVer 1.0.18.1)
  7. GPSmapper (英語版フリーウェア。 執筆時点ではVer 0.082)
  8. Sendmap20 (英語版フリーウェア。 執筆時点では rev 2.0)
  9. 「全国 道の駅 743ヶ所 日本語版、英字版」 (地名データ)

手順

1.ソフトのインストール

カシミール3Dは、GarminのGPSを持っているなら、必ずインストールしてあることと思います。 秀丸は、インストーラーに従って導入してください。 シェアウェアですが、送金する前でも機能制限はありません。 GPSMapEditは、解凍したら適当なフォルダ(例えばC:\Program Files\MapEdit)を作って、そこに入れます。 MapEdit.exeのショートカットを作っておくと便利です。 「全国 道の駅 743ヶ所 日本語版、英字版」も、解凍しておいてください。

GPSmapperSendmap20は、「英語版Legendに日本の地図を入れる」で、導入済みとして進めます。

2.元になるデータ

イチから打ち込んでもいいのですが、方法の解説なので既存のデータを変換することにします。 yoshikawa.sさんが『MapSource互換地図を作る』で配布している、「全国 道の駅 743ヶ所 日本語版、英字版」を変換してみましょう。 このデータは、カシミール3Dの地名ファイル(NDB)形式になっています。

3.カシミール3Dの起動

カシミール3Dを起動して、適当な地図を読み込みます。 他の地名ファイルと混ざらないように、メニュー「ファイル」の「閉じる」で地名ファイルを閉じた状態にしてください。

4.地名ファイルの読み込み

「開く」で「地名ファイル」をクリックします。

「全国 道の駅 743ヶ所 日本語版、英字版」 を解凍したフォルダから、”Mitieki-E.ndb”ファイルを開きます。 日本語版のVista/Legendをお持ちの方は”Mitieki2003.ndb”を選ぶと、GPS上で日本語で表示できるようです。

カシミール3Dに道の駅のデータが読み込まれたハズです。 お近くの道の駅を確認してみましょう。

5.新規GPSファイルの作成

ウェイポイントの入れ物となる、GPSファイルを作成します。 メニュー「ファイル」から「新規作成」で、「GPSファイル」をクリックします。

6.地名の編集

メニュー「編集」の「地名の編集」をクリックします。

「地名の編集」ダイアログが開きます。 読み込んだ地名ファイルには、余分なコメント行が含まれているので、削除します。 リストの”名前”をクリックして、名前でソートさせます。 名前が「;」(セミコロン)になっている行を削除します。

8.ウェイポイントへコピー

全ての行を選択して、メニュー「変換」の「ウェイポイントへコピー」をクリックします。 それから、「終了」ボタンをクリックします。

カシミール3Dのメイン画面に戻ると、道の駅があったところに、ウェイポイントが出来ているハズです。

9.GPSデータの書き出し

カシミール3Dのメニュー「編集」から「GPSデータ編集」をクリックすると、GPSデータエディタが開きます。 画面左側の「ウェイポイント」を開くと、画面右側にリストが表示されます。 ウェイポイントを全て選んで、メニュー「ファイル」の「選択したGPSデータの書き出し」をクリックします。

「GPSファイルに部分書き出し」ダイアログが表示されます。 ファイル名は適当に付けます。 ファイルの種類はWPTファイル、緯度経度形式はDEGとします。 よろしければ「保存」ボタンをクリックします。 これで、カシミールでの作業は終了です。

10.Excelに読み込み

Excelを起動します。 メニュー「ファイル」から「開く」をクリックします。 先ほどWPTファイルを保存したフォルダへ移動します。 「ファイルの種類」を”すべてのファイル”にすると、WPTファイルが表示されるので、選択して「開く」ボタンをクリックします。

「テキストファイルウィザード」が開きます。 まず、「元のデータ形式」は「スペースによって・・・」を選択し、「次へ」ボタンをクリックします。

次にフィールドの区切り方を指定します。 これは下の図のようにしてください。 よろしければ「次へ」ボタンをクリックします。

データ形式の指定は、”G/標準”のままで大丈夫だと思いますが、自分は念の為に下図のようにしました。 「完了」ボタンをクリックします。

11.不要なデータの削除

Excelにデータが読み込まれたと思います。 B列、D列、E列以外のデータは不要なので、削除します。

上から12行目までのデータも不要なので削除します。

12.フォーマット作成

データを整形するために、下の図のように列を並び換えます。 説明用に列の幅を詰めていますが、詰め過ぎるとテキストに変換した時に、なぜか文字列が切れるので注意しましょう。

B列、D列、G列、N列の「:」(コロン)は、あとで改行コードと置換する為のダミー文字です。 C列のTypeの値は、POIの種類を指定しています。 ”0x4d00”は、Parkingです。 他にも色々あるので、cGPSmapperに同梱してある RGNtype.xls で調べてみてください。 POIのレベルを指定したい人は、この時点で列に入れておくとよいでしょう(レベルについては、「MapView25000の変換設定」参照)。

13.テキストファイルに保存

またあとで編集し直すかもしれないので、メニュー「ファイル」から「保存」をクリックして、”Microsoft Excel ブック形式”で保存しておきます。

メニュー「ファイル」から「名前をつけて保存」をクリックします。 「ファイルの種類」を”テキスト(スペース区切り)”にして、「保存」ボタンをクリックします。

警告が出ますが、「OK」ボタンをクリックしてください。

再び警告が出ますが、「はい」ボタンをクリックしてください。 これでExcelでの作業は終了です。

14.秀丸に読み込み

秀丸を起動して、先ほど保存したprnファイルを読み込みます。

15.置換

メニュー「検索」から「置換」をクリックすると、ダイアログが表示されます。 入力欄”検索”に、「:」(セミコロン)を、”置換”に「\n」(改行コード)を入力します。 ”正規表現”にチェックを入れて、「全置換」ボタンをクリックします。

ダミー文字の「:」が改行コードに変換されて、各フィールドがバラバラになりました。

再びメニュー「置換」で、 入力欄”検索”に、「 」(半角スペース)を、”置換”には何も入れずに、「全置換」ボタンをクリックします。

余分なスペース文字がなくなりました。

16.ヘッダー部分の貼り付け

サンプルを開いて、Polishファイル形式のヘッダー部分をコピーします。

コピーしたヘッダーを、prnファイルの先頭にペーストします。 "Name="の右側(Road Station)は、POIによって適当な名前に変えてください。

17.保存

秀丸のメニュー「ファイル」から「名前をつけて保存」をクリックします。 「ファイルの種類」を”すべてのファイル”に変えて、ファイル名の拡張子を”.mp”に変更して「保存」ボタンを押します。 これで秀丸での作業は終了です。

18.GPSMapEditに読み込み

いよいよ終盤です。 GPSMapEditを起動して、メニュー「File」から「Open」をクリックします。 先ほど保存したmpファイルを開きます。

画面には何も出てきませんね。 GPSMapEditのツールバーから、”+の虫眼鏡”のアイコンをクリックしてみましょう。

どんどん拡大していくと、あるところでPOIのアイコンが表示されると思います。 アイコンが「P」マークになってますね。

19.IMGファイルに書き出し

eTrexに書き込む為に、IMGファイルに変換します。 メニュー「File」の「Export」から、「Garmin IMG / cgpsmapper.exe」をクリックします。

「ファイルの種類」が”Garmin MapSource map”になっているのを確認して、「保存」ボタンをクリックします。

「Export to cGPSmapper.exe」ダイアログが表示されます。 cGPSmapper.exeのパスを入力し、「Export POI only」にチェックを入れます。 よろしければ、「Run」ボタンをクリックします。

変換が正常に終了すれば、下記のようなダイアログが表示されるので、「OK」ボタンをクリックします。

20.IMGファイルの確認

本当にちゃんと変換できているのか確認してみましょう。 メニュー「File」の「Close」で、一度ファイルを閉じます。 改めて、作成したPOIのIMGファイルと、空間データ基盤(ベクトル地図)から変換した地図のIMGデータを一緒に読み込んでみます。 ちゃんと地図上に道の駅のアイコンがプロットされているのが確認できます。

18.GPSMapEditに読み込み

これで作業は完了です。 あとは、sendmapで地図のIMGファイルをeTrexに転送する時に、POIのIMGファイルも一緒に転送すればOKです。 転送が終わったら、地図の画面にして、Map Setupで地図の情報を確認してみます。 ”Map”というのが、MapView25000で変換した地図データです。

クリックスティックで、下の方へスクロールしていくと、POIデータが表示されました。 「Show」の下のチェックボックスを外すと、地図データの表示/不表示の設定ができます。 POI以外でも、例えば等高線などを別ファイルで、Map Nameを変えてIMG変換すれば、必要に応じて表示/不表示できて便利です。

以上で終わりです。 お疲れさまでした。

最後に

「全国 道の駅 743ヶ所 日本語版、英字版」を公開してくださったyoshikawa.sさんと、その元データを作成・公開されたshiraneさんに感謝いたします。

また、有用なソフトウェアを開発、提供してくださった方々に、お礼申し上げます。