[地図自作] Osm2Garminの使い方

Garmin GPSの地図を自作するために試したツール”Osm2Garmin”についての覚書です。等高線については荒いものしか作成出来ませんが、GUI操作で取っつき易いツールです。

 

環境

以下の環境で地図データの作成を行いました。地図データ作成には大容量のファイルがダウンロード/生成されますのでHDDの空き容量に注意してください(色々と試していると100GByte近くまでいったりしました)。

  • Windows10(64bit)
  • Oracle Java 1.8.0_131(64bit版)
  • Osm2Garmin(OpenStreetMap Garmin Maps Generator) 1.2.271

Osm2GarminはWindows/Mac/Linux版があります。この記事ではWindows版を使用します。他の環境では適時読み替えてください。

osm2garmin
Osm2Garmin(Windows版)

 

実行環境の用意

Javaのインストール

Osm2Garminを使用するのにJavaが必要です。まだインストールしていない方は以下のサイトからダウンロードしてインストールしてください。Javaは64bit版を推奨します。32bit版でも起動しますが警告メッセージが表示されます(もしかすると作業途中でエラーが発生するかもしれません)。

Osm2Garminをインストール

次に以下のサイトからOsm2Garminをダウンロードします。ダウンロードページのリンクが少し見づらいですが、ここではWindows版をダウンロードします(ほかにMac/Linux版があります)。ダウンロードしたファイルを実行するとインストーラーが立ち上がるので指示に従えば問題ありません。

 

設定

osm2garmin.confの修正

インストールが完了したら、一度Osm2Garminを立ち上げてください。おそらく以下のように画面上に”Only xxxx mb of memory available”と赤文字の警告が表示されていると思います。Javaのメモリ割り当てが不足しているということですので、まずはこれを修正します。

osm2garmin_top_warning.png
初期状態だとメモリ不足の警告が表示されます

メモ帳等のテキストエディタで以下の設定ファイルを編集します。

  • <Osm2Garminのインストール先>\etc\osm2garmin.conf

修正するパラメータ

修正するのは”default_options”と”jdkhome”のパラメータです。

(1):default_options

  • 修正前:default_options=”–branding osm2garmin -J-Xms256m -J-Xmx1380m”
  • 修正後:default_options=”–branding osm2garmin -J-Xms256m -J-Xmx2000m”

(2):jdkhome

ここは環境によって異なります。jdkhomeにはJava(64bit版)のパスを指定してください。私の環境にはJavaが32/64bit両方がインストールしていたのですが、ここのパスは32bit版Javaのパスになっていました。32bit版ではメモリサイズに制約があるため64bit版Javaのパスに修正してください。

また、Javaをバージョンアップするとパスが変わるので、その都度設定を修正してください。

  • 修正前(例):jdkhome=”C:/Program Files (x86)/Java/jre1.8.0_131″
  • 修正後(例):jdkhome=”C:/Program Files/Java/jre1.8.0_131″

ここでは、osm2garmin.confの修正前/修正後は以下のようになりました。設定ファイルを修正後に起動して、赤文字の警告が消えていることを確認してください。

修正前

# ${HOME} will be replaced by user home directory according to platform
default_userdir="${HOME}/${APPNAME}/dev"
default_mac_userdir="${HOME}/Library/Application Support/${APPNAME}/dev"

# options used by the launcher by default, can be overridden by explicit
# command line switches
default_options="--branding osm2garmin -J-Xms256m -J-Xmx1380m"
# for development purposes you may wish to append: -J-Dnetbeans.logger.console=true -J-ea

# default location of JDK/JRE, can be overridden by using --jdkhome &amp;amp;amp;amp;amp;lt;dir&amp;amp;amp;amp;amp;gt; switch
jdkhome="C:/Program Files (x86)/Java/jre1.8.0_131"

# clusters' paths separated by path.separator (semicolon on Windows, colon on Unices)
#extra_clusters=

修正後

# ${HOME} will be replaced by user home directory according to platform
default_userdir="${HOME}/${APPNAME}/dev"
default_mac_userdir="${HOME}/Library/Application Support/${APPNAME}/dev"

# options used by the launcher by default, can be overridden by explicit
# command line switches
#default_options="--branding osm2garmin -J-Xms256m -J-Xmx1380m"
default_options="--branding osm2garmin -J-Xms256m -J-Xmx2000m"
# for development purposes you may wish to append: -J-Dnetbeans.logger.console=true -J-ea

# default location of JDK/JRE, can be overridden by using --jdkhome &amp;amp;amp;amp;amp;lt;dir&amp;amp;amp;amp;amp;gt; switch
#jdkhome="C:/Program Files (x86)/Java/jre1.8.0_131"
jdkhome="C:/Program Files/Java/jre1.8.0_131"

# clusters' paths separated by path.separator (semicolon on Windows, colon on Unices)
#extra_clusters=

 

作業フォルダの指定

まずOsm2Garminの作業フォルダをどこにするか指定します。手順は以下の通りです。

  1. メニューバー > ツール > オプションを選択する
  2. “Osm2garmin” > “Processing parameters”タブを開く
  3. “Working/Maps/SRTM”の各作業フォルダを指定する(適当なフォルダを作成する)
  4. フォルダの作成/設定が完了したら”適用”ボタンを押す
osm2garmin_option_ProcessingParameters.png
まず初めに作業フォルダを指定する

指定したフォルダには大量のファイルがダウンロード/生成されるので、空き容量に余裕のあるHDDにフォルダを作成して指定してください。私の場合はDドライブがHDDなのでそこに適当なフォルダを作成しました。

  • Working directory : D:\osm2garmin_temp\work
  • Maps directory : D:\osm2garmin_temp\maps
  • SRTM data directory : D:\osm2garmin_temp\srtm

Osm2Garminの設定内容は上記フォルダに保存されるので、パスを変更すると設定をやり直す必要があります。

 

SRTM3 download URLの変更

次に”Download sources”タブを選択して”SRTM3 download URL”を変更します。これは高度情報のダウンロード先が変更されていてそのまま実行すると等高線が生成されない為です。

  • 修正前:http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/
  • 修正後:https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/
osm2garmin_option_DownloadSources.png
SRTM3のURLを変更する

ところで、SRTM3にはVersion2.1とVersion3.0が存在しています。Version2.1では所々に高度情報が存在しない空白があり、Version3.0ではその部分が補完されています。残念ながらこのツールで自動ダウンロードできる高度情報はVersion2.1のため、所々に不自然な等高線が生成されてしまいます。
どうしても気になるのであれば、かなり手間ですがVersion3.0のデータを手動でダウンロードしてきてVersion2.1のデータと置き換えることも出来ます。以下のURLから入手可能です。なお、ダウンロードにはあらかじめユーザ登録が必要になります。

 

regionの設定

“region”タブを選択して、地図データを作成する範囲を経緯度で設定します。ざっくりした地域は最初から項目にあるのですが、ここでは日本の地図を作りたいので新しく設定します。

  1. “Add”ボタンを押す
  2. 新しく追加された行に経緯度を入力する(試行錯誤する場合は、テスト用に狭いエリアを選択しておくと処理時間が短くなります)。
    • Name:japan
    • Lat1:20.425278
    • Lon1:122.93361
    • Lat2:45.55722
    • Lon2:153.98639
  3. 追加した行のチェックボックスにチェックをいれる
  4. “適用”ボタンを押す
osm2garmin_option_Regions.png
regionに日本を含むエリアを新規追加します

日本の端となる経度緯度は国土地理院のサイトを参照しました。

 

osm2img.argsの修正

作業ファルダで設定した”Working directory”に地図生成ツールのオプション設定ファイル”osm2img.args”があります。これをメモ帳等のエディタで編集します。見当たらない場合は、一度Osm2Garminトップ画面で”start”ボタンを押して処理を開始してみてください。恐らくファイルが生成されると思いますので”stop”で処理停止します。

  • <Working directory>\osm2img.args

以下の行を追加してください。code-page:932は文字コードをShift-JISに設定するという意味です(65001とすればUTF-8になるはずですが、組み込まれている地図生成ツールが古いため対応していないかもしれません)。

  • code-page:932
  • name-tag-list:name_ja,name:ja_rm,name_en

設定ファイルは以下のようになります。


# This is mkgmap arguments file used for converting OSM maps to Garmin format.
# Osm2garmin uses the file as follows:
# java -jar mkgmap.jar --output-dir=&amp;lt;output_dir&amp;gt; --series-name=&amp;lt;region&amp;gt; -c osm2img.args \
# -c &amp;lt;template.args generated by the splitter&amp;gt;

code-page:932
name-tag-list:name_ja,name:ja_rm,name_en
draw-priority: 20
remove-short-arcs
route
net
add-pois-to-areas
copyright-message: (C) OpenStreetMap Contributors http://www.openstreetmap.org/copyright

# Uncomment the next line to generate all cycling options.
#make-all-cycleways

 

地図を生成する

Osm2Garminトップ画面の”start”を押せば、必要なデータのダウンロードから諸々の処理まで全て自動的に行われます。完了まで数時間はかかるので寝る前に処理開始するといいかもしれません。地図データは以下のフォルダに格納されます。

  • <Maps directory>/region名
osm2garmin_top_complete.png
処理が完了するまでかなり時間がかかります。気長に待ってください。

 

出来上がった地図データの確認

設定の”Maps directory”で指定したフォルダを覗くと地図データが出来上がっているはずです。使い方としては、

  • “gmapsupp.img”をGPSの内蔵メモリもしくはSDカードに転送する
  • Garmin BaseCampに地図を登録して、そこから転送する

のいずれかです。簡単なのは”gmapsupp.img”をそのまま転送する方法でしょう。念のため、元々ある”gmapsupp.img”はどこかにバックアップしておくと良いかと思います(そのまま上書きするとプリインストールされている地図が消えてしまう)。

BaseCampに地図を登録する場合は、フォルダの中にある”install.bat”を管理者権限で実行してください。その後にBaseCampを起動すると作成した地図(region名)が登録されていると思います。登録を削除する場合は”uninstall.bat”を同じく管理者権限で実行してください。

なお、登録後に地図が格納されているフォルダを移動したり名前変更をしないでください。BaseCampが地図を読み込めなくなります。

garmin_BaseCamp_top.png
BaseCampに登録するとPC上で地図を確認出来ます

所感

この記事で取り上げた”Osm2Garmin”はGPS用地図データを作成するための各処理をボタンひとつで行えるようにしたツールです。色々なツールをダウンロードしたりコンソールにコマンドを打ち込んだりしなくてもよいので、コマンドプロンプトとかよく分からんけど自分で地図を作ってみたい、という方におすすめ出来るかと思います。

惜しむらくは、しばらく更新されていないためかツール内部に組み込まれている地図作成用ツールが古かったり、最新の高度情報を取り込めないことです。特に高度情報は等高線の生成に使われるので、等高線を重視する人は別なツールを使うことをお勧めします(加えて、SRTM3は90mメッシュと解像度が荒いため等高線がカクカクになります)。

 

参考

本記事は以下の内容を参考に記載させていただきました。

コメントを残す

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

This blog is kept spam free by WP-SpamFree.