地図調査図をガーミンGPSに搭載
宮川@札幌農学校です。この記事はアドベントカレンダー2021(裏)のために書きました。
アドベントカレンダーでは以下の記事も書いています。
"PurplePen"の基本的な使い方 --アドベントカレンダー2018(裏)--
"PurplePen"を使うためのちょっとしたコツ --アドベントカレンダー2019(裏)--
大会運営者による動画作成のススメ --アドベントカレンダー2020(裏)--
もくじ
- はじめに
- インストール
- 必要なソフトウェア
- GDALのインストール
- GoogleEarth PROのインストール
- バッチファイルとスクリプトのダウンロード
- バッチファイルへのEPSGコード設定
- 使い方
- jpegファイルの出力
- kmzファイルの作成
- GoogleEarth PROでの変換結果確認
- GarminGPSへの転送
- GarminGPSのカスタムマップ設定
はじめに
ハンディGPSを使って地図調査を始めて16年経ちますが、昨年からOpenOrienteeringMapperで作図中の地図画像をガーミンGPSに搭載して調査をおこなっています。
GPSの精度は衛星からの電波状況により変わりますが、以前はトラックログを取っても帰宅してCADに取り込むまでは誤差の程度が判りませんでした。調査図を搭載することにより、現地で既存の確定点との位置誤差を確認しながら記録出来るようになり調査の効率が良くなっています。

GPSの地図データはスケーラブルなベクトル画像が基本ですが、ガーミンGPSのカスタムマップはjpegのラスター画像しか搭載できず、しかも表示機能が"非常に貧弱"です。
- 詳細な仕様が非開示 (Google Earth KMZ形式で作成、程度しか情報がない)
- 1枚のjpegで最大1500ピクセル程度(!)までしか表示できない
- kmzファイルの最大許容サイズも非開示
トライアンドエラーで、A4サイズ・300dpiでjpeg出力し1024ピクセル角でコマ図に分割してkmzに収録すれば表示可能、というところまでは突き止めました。
(これでもA4サイズ全面は表示されない。まぁ地図調査では大縮尺表示が基本なので困りませんが…)
とはいえ、作図途中の等高線や既存の特徴物の位置と現地で比較し、電波状況による誤差を確認した上でログを記録できるので調査の効率化にはとても役に立っています。
この記事は「ガーミンGPSを使って地図調査をしている」というニッチな層をターゲットに書いています。それなりのPCスキルをもっている方を想定していますので、以下の説明はかなり簡潔に書いています。
記事内容のフォローはFacebookのオリエンテーリング地図制作情報交換でおこなう予定です。
インストール
必要なソフトウェア
- GDAL
- Raster/Vectorフォーマット地理空間データアクセスライブラリ
- CADから出力したjpegファイルを緯度経度座標に変換・コマ図分割に使用
- Python
- GDAL・make_docxmk.pyを実行するためのPython実行環境
- OSGeo4WプロジェクトからGDALのパッケージをインストールする際に自動でインストールされる
- GoogleEarth PRO
- garminGPS用に作成したkmzファイルの確認用
- 「PRO」とありますが、"PC版"であることを示しているだけで無料
- make_docxmk.py
- GDALで変換した地図画像をkmz形式に纏めるためのPythonスクリプト
- 北大OLC OBの「空夜 るな」@kuuyarunaさんに作成してもらいました
- 2garminGPS.bat
- 上記のコマンド群を用いた作成手順を実行するためのバッチファイル
GDALのインストール
OSGeo4WプロジェクトからGDALのパッケージをインストールする
- Quick Start for OSGeo4W UsersからOSGeo4W network installer(osgeo4w-setup.exe)をダウンロードして実行
- windows 32ビット版(x86)のインストーラーはこちらからosgeo4w-setup-x86-v1.exeをダウンロードしてください
- エクスプレス インストールを選択し、パッケージとして「GDAL」を選択。さらに「依存関係に対応するパッケージをインストール」する。
- Pythonスクリプト版GDALツールをインストールするためにOSGeo4W network installer(osgeo4w-setup.exe)を再度実行する
- アドバンス インストールを選択し、「パッケージの選択」画面で、『Libs』を展開。パッケージ「python3-gdal」を追加インストールするために、対応する『Skip』部分をクリックして最新バージョン(3.4.0-3 @2021/12/01)を選択する
(インストーラーのウィンドウを最大化すると右端のパッケージ名が見易い)
さらに「依存関係に対応するパッケージをインストール」してpython3実行環境もインストールする
GoogleEarth PROのインストール
Google Earth プロのインストールとアンインストールからインストールする
バッチファイルとスクリプトのダウンロード
こちらから2garminGPS.zipをダウンロードして変換作業をおこなうフォルダで解凍する
2garminGPS.zipには2garminGPS.bat、make_docxmk.py、変換のサンプルデータ(2021年の4-Sprint レース4のコース図)が含まれる
バッチファイルへのEPSGコード設定
バッチファイル(2garminGPS.bat)を右クリック→編集(E)で開き、変数「EPSG_code」を調査テレインの日本測地系2000(JGD2000)Ⅰ系〜XIII系に対応するコード番号に書き換える
- EPSGコードはCADのGIS設定と同じ値を設定する
- デフォルトではXII系(札幌を含む北海道中央部)となっている
使い方
jpegファイルの出力
- CAD(OpenOrienteerngMapper / OCAD)で出力する際に「ワールドファイルも出力する」にチェックする
- 出力範囲・解像度はA4サイズ・300dpi程度が適切
- A4サイズ・600dpiでも表示は可能だが、広範囲の表示がより制限される
出力したjpegファイル「xxx.jpg」とワールドファイル「xxx.jgw」を2garminGPS.batとmake_docxmk.pyを解凍した「変換作業用フォルダ」に保存
kmzファイルの作成
jpegファイルを2garminGPS.bat上にドラッグ&ドロップすると、コマンドプロンプトウィンドウが開き変換が開始される。
- エラー無く終了すると、「変換作業用フォルダ」直下のjpegファイルと同一名のフォルダに「doc.kml」と「files」フォルダが作成され、変換元のjpegファイルとワールドファイルも移動されている
- 「files」フォルダにはコマ図に分割されたjpeg画像が保存されている
- 「doc.kml」と「files」フォルダを選択し、右クリック→「送る(N)」→「圧縮(zip形式)フォルダー」でzipファイルを作成し、名前を適切に変更すると共に拡張子を「xxx.kmz」に変更する
共有ドライブ上では動作が不安定なようです
- OneDriveではドラッグ&ドロップで動作しなかった
- DropBoxでは同期タイミングによってファイルの移動/削除に失敗することがある
GoogleEarth PROでの変換結果確認
kmzファイルをダブルクリックするとGoogleEarth PROが起動し、地図画像が表示される
- 「表示(V)」→「リセット」→「傾斜とコンパス」で真上から眺めた表示となる
- 左下の「レイヤ」パネルで「地形」のチェックをオフにすると見易い
- 地図画像の透過度を調整すると更に見やすくなるが、やり方はマニュアルを確認のこと
作成したkmzファイルがGoogleEarth PRO上で正しく開けても、ファイルサイズが大きいとガーミンGPSで表示されないことがあるので注意!
GarminGPSへの転送
ガーミンGPSの電源を入れ、USBケーブルでPCと接続する
- GPSが外部ドライブとして認識されるので、そのドライブの「Garmin」フォルダを開く
- 「CustomMaps」フォルダを開く (無ければ作成する)
作成したkmzファイルをコピーする
GarminGPSのカスタムマップ設定
ガーミンGPSを取り外し、電源を入れ直す
- 「Setup」→「Map」→「Map Information」→「Custom Maps」でコピーした地図が『Enabled』となっていることを確認する
- 地図を選択すると画像表示を確認できるし、「ENTER」ボタンで『Disabe』(=非表示)に変更もできる
以上で調査原図の搭載は完了です。
あとは現地に行けばGPS上に地図が表示されます。
by 宮川@札幌農学校 (miyakawa_to@yahoo.co.jp)
初版:2021.12.2 最終更新:2021.12.3