国土地理院 数値地図25000(空間データ基盤)からGarmin用の地図を作る

国土地理院では,数値地図25000(空間データ基盤)を一般公開しており,ここから入手できます.このデータと様々な公開ソフトを利用して,お金をかけずに(多少の手間は掛かります:−),Garmin eTrex Vistaなどに使える地図を作成する方法を紹介します.


この方法を試された方,気が向いたらお便りください.

現在,XML形式からplt形式まで,一気に変換するツールの作成を目論んでいます(今は,単なる「構想」です :−)
ハンディーGPSの利用経験が浅い(2003年8月入手)ので,「どんな感じの地図が使いやすいのか」,「どのズームレベルで,何(鉄道や河川,高速道路など)を表示できると使いやすいのか」などなど,実体験に基づく判断に悩みます.
現に利用されている方々のご意見をお知らせください.(ただし,意見が反映されなくても勘弁してください)


News

国土地理院からダウンロードしたデータをmif/mid変換する作業が楽になりました.「GIS沖縄研究室」の渡辺さんありがとうございます.
これにともなって,数カ所を大きく改訂しました.以前の記事はここにあります.


重要

このページを参考にして行われる行為,ならびに,行為の結果もたらされる成果物(ソフトウェア,データ,地図などを含む)やその利用により何らかの損害が発生しても,このページの著述者並びに著述者の所属機関は,一切の責任や義務を負いません.

ここで紹介されているプログラム,データ等の利用にあたっては,それぞれに対する権利所有者に対する権利等の保護の義務・責任は,プログラムやデータ等を利用する者が負い,このページの著述者や著述者の所属機関は一切の責任,義務を負いません.

このページは特定の組織や商品,サービスの宣伝や告知,あるいは,それらを批評することを意図,目的とするものではありません.

このページに対しては,以下の3つの条件を満足する場合には,リンクは自由に張って頂いて結構です.
(義務ではありませんが,事前,事後どちらでも結構ですから,お知らせ頂ければ,なお結構です)

  1. このページの著述者以外のページの一部と錯誤する恐れがないこと.
  2. 何らかの利潤を得るために開設されたページからのリンクでないこと.
    ただし,広く公開されている利用無料の検索ページならびにポータルページからのリンクはこの限りではない.
  3. 個人や団体を非難,中傷することを目的,または意図したリンクではないこと.

用意するもの


手順(愛媛県全域の地図作製を例に)

  1. 数値地図のダウンロード
    すでに紹介したように,ここから「数値地図25000(空間データ基盤)」のデータをダウンロードします.
    市町村や区を単位として,それぞれLZH形式にまとめられています.
    例えば,愛媛県松山市ですと.「38201.lzh」といった名前のファイルとなっています.
    なお,空間地図2500の方も同じ名前のファイルとなっていますが,全く別物ですから,注意してください.
    ダウンロードしたファイルは,一つのフォルダに入れておいてください.ここでは,このフォルダを「c:\ehime」と仮定して説明を進めます.

    TIPS:
    愛媛県ですと全ての市町村のデータを入手するには70個のファイルをダウンロードする必要があります.
    従って,HP一括ダウンロードソフトを使うのが便利です.そのときには,数値地図2500のファイルもダウンロードすることになりますが 「http://mapbrowse.gsi.go.jp/dmap/sdf/ehime.htm」 以下のファイル全てをダウンロードで指定すると楽です.
    また,HP一括ダウンロードソフトの中には,初期設定では「LZH形式ファイルはダウンロードしない」ようになっているものもありますから,設定の確認・変更を行いましょう.

  2. 数値地図の解凍
    ダウンロードしたLZH形式の数値地図ファイルを解凍します.
    解凍先は「c:\ehime\data」にします.
    つまり,解凍後には,「c:\ehime\data」フォルダの中に,「38201」(松山市のデータが入っている)フォルダが存在することになります.

    TIPS:
    愛媛県の全てのファイル70個の解凍となるとうんざりしそうですが,例えば,Archive-Rなどですと,複数のファイルをまとめてドラッグ&ドロップで解凍できますから,キーボード入力は必要ありません.
    ただし,Archive-Rでは,あまり多くのファイルを一度にドラッグ&ドロップすると,拒否されてしまいます.拒否されたら,一度にドラッグするファイル数を減らして見ましょう.

  3. mif/mid形式への変換(その1)
    map25K_L_com.exeを使用して,変換を行います.
    ここから,map25K_L_com.zipをダウンロードし,zipファイルを解凍して,map25K_L_com.exeを取り出します.
    zipファイルの解凍には,解凍ツールが必要ですので,Vectorなどから適当な解凍用ソフトをダウンロードして利用してください.(私は,Archive Toolを気に入ってますが,特に理由はないです.)
    map25K_L_com.exeは「c:\ehime\data」フォルダと同じフォルダ,つまり「c:\ehime」に置きます.

    次に,map25K_L_com.exeに処理対象を指定するためのcsvファイル「ehime.csv」を用意します.
    このcsvファイルの内容は,map25K_L_com.exeの入手元であるこのHPにも紹介されていますので,自分で一から記述することもできますが,それも面倒なので,ここに紹介しておきます.
    以下,「ehime.csv」は用意できたとして,話を進めます.

    「ehime.csv」と「map25K_L_com.exe」を「c:\ehime」に置きます.
    ここで,map25K_L_com.exeをクリックします.すると,ウインドウが一つ開き,
    CDドライブ 例 (d:)
    といった表示が出ますので,
    「c:\ehime」
    と入力します.すると,引き続いて,
    ファイル処理一覧csvファイル名入力してください。
    例) 47-沖縄県 (拡張子.csvは不要) ?
    という表示が出ますから,今度は
    「ehime」
    と入力します.
    その後,ウインドウ上に変換の様子を印字しながら,変換が行われます.

    無事変換が終了すると.map25K_L_com.exeのHPに紹介されているように,以下の6つのファイルが得られます.
     ehimeGK 行政界ライン
     ehimeDK 道路ライン
     ehimeKK 河川ライン
     ehimeSK 水際ライン
     ehimeTK 鉄道ライン
     ehimeCM 地名ポイント
    この中で,最終的な地図のファイルの大きさなどを考えて,ここでは,ehimeDK,ehimeKK,ehimeSK,ehimeTKの4種のみを利用することにします.
    (すみません,実は,この4つ以外では試してません)

  4. mif/mid形式への変換(その2)
    map25K_L_com.exeで作成されたmif/mid形式のファイルは,そのままでは,GPSTrackMakerで読み込むことができません.
    mif/mid形式の規格にはまったく明るくないのですが,map25K_L_com.exeがはき出すmifファイルの以下の2点が理由のようです.
    1.「Pline 120」の様に,おおむね90程度以上の点を結ぶ線を,GPSTrackMakerが扱えない.
    2.「132.706506 33.849003」の様に座標点を表す行の先頭にスペースが入っていると,GPSTrackMakerが扱えない.

    そこで,この問題を解決するために,Translate.classを使用ます.
    このTranslate.classはJavaのクラスファイル(Java言語で書かれたプログラム)なので,実行にはJavaのVM(Virtual Machine)が必要です.
    JavaのVMのインストールについては,ここここ参考にしてください.(注意:Javaのインストール時に環境変数pathの設定も忘れないように!)

    まずは,Translate.classを変換対象となるmif/midファイルと同じフォルダ,つまり「c:\ehime」に置きます.
    次いで,実際にmif/midファイルの変換を行うわけですが,例えば,道路の情報を変換するのであれば,「ehimeDK.mif」と「ehimeDK.mid」が変換対象ファイルとなります.
    変換は
    「java Translate ehimeDK」
    とすることで行え,変換を行った結果として,「newehimeDK.mif」と「newehimeDK.mid」の2つのファイルが作られます.
    DKファイルが終了すれば,KKファイル,SKファイル,TKファイルに対しても行います.

  5. plt(Ozi Explorer)形式への変換
    GPSTrackMakerを利用して,mif/midファイルをplt形式に変換します.
    まず,GPSTrackMakerを起動します.
    次に,GPSTrackMakerの「file」メニューから「Open File」を選択します.
    ここで,ファイル読み込みのウインドウが開きますから,対象フォルダを「c:\ehime」とします.
    そして,「ファイルの種類」を「MapInfo Files (*.mif/mid)」とします.すると,mifファイルが全て表示されますので,この中から,「newehimeDK」を選択して,開きます.

    確認の為のウインドウが2度出現しますが,単に「Return」キーを押し続けるだけで結構です.

    読み込みが完了したら,今度は,plt形式での保存です.
    「file」メニューから「Save File As」を選択し,対象フォルダを「c:\ehime」とします.
    そして,「ファイルの種類」を「OziExplorer (*.wpt,*.plt,*rte)」とし,ファイル名を「DKplt」として保存します.
    保存を行うときに,全てのトラックを1つのファイルにするかどうかを聞いてきますので,
    「Export all tracklogs to an unique file」を選択して「OK」をクリックします.

    これで,「DK」,つまり,道路に関するpltファイルの作成が完了しました.
    同様にして,「KK」,「SK」,「TK」についても,pltファイルを作成しましょう.
    (注意:pltファイルを作成する毎に,GPSTrackMakerの「file」メニューから「new」を実行しましょう.さもないと,追加読み込みとなってしまいます.)

  6. imgファイルの作成
    GPSmapper(コマンド名「cgpsmapper.exe」)で,pltファイルからimgファイルを作成します.
    「c:\ehime」フォルダの中に「cgpsmapper.exe」を入れておきましょう.
    (地図をGPSに転送する際に,「sendmap.exe」も必要となりますので,まとめて入れておくと良いでしょう)

    作成に当たっては,作成されるimgファイルを特徴付ける情報を記述したファイルを用意する必要があります.
    これは自分で編集してもかまいませんが,これなどを利用しても結構です.
    このファイルを「c:\ehime」フォルダにおいてください.
    ただし,このファイル(map.txt)の中の「ID=81380000」と書かれている8桁の数字の部分は,完成後の地図ファイルの名称となり,他の地図ファイルとは異なる必要があります.ここの例では,私が勝手に決めた番号ですが,国際電話の日本の国別番号「81」と,国土地理院の数値地図のデータファイルで愛媛県関係のファイルにつけられていた数字の頭2桁「38」にちなんでつけました.
    また,「Name=Ehime」の部分は,GarminのGPSで地図情報として表示される部分です.ここも,適宜書き換えましょう.
    その他,出来上がったimg地図でのZoomレベルによる,表示の有無の変更などは,他の方々のページを参考にしてください.
    (すみません,とりあえず,そこまで書く元気が,「今のところ」ありません.)

    では,実際に,imgファイルの作成ですが,コマンドプロンプトで
    「cgpsmapper.exe ac -p map.txt」
    と入力してください.少し時間が掛かりますが,pltファイルからimgファイルが作られます.
    愛媛県の場合ですと,imgファイルの大きさは,約2.5M程度になります.
    このサイズは,地図の領域の広さや,map.txtファイルでの指定によっても異なります.

  7. imgファイルの確認
    さて,出来上がったimgファイルの確認です.
    GPSMapEditを起動し,作成したimg地図ファイルを読み込んでみましょう.
    うまく表示ができたでしょうか?
    Zoomを変更すると,先ほどの,map.txtで設定されているように,概略レベルでは,海岸線や湖,池などの水際ライン,中間レベルでは,さらに鉄道と河川,詳細レベルでは道路情報も表示されるのが確認できます.

  8. GPSへの転送
    さあ,いよいよ最後です.
    GPSとPCを接続します.次に,接続されているポート番号を確認します.
    例えば,com3に接続されているならば,コマンドプロンプトで
    「sendmap com3 -s57600 81380000.img」
    と入力することで,転送が始まります.
    「-s57600」は,転送速度を表しており,私の経験では,この速度での転送には問題がありませんでした.
    しかし,うまくいかない場合には,「-s38400」や「-s19200」,「-s9600」なども試してください.また,うまくすると,「-s115200」でも成功するかもしれません.

    転送の失敗の原因としては,comポートの番号誤りが多いようです.Windowsのコントロールパネルから「システム」-「ハードウェア」-「ディバイスマネージャ」と選んでいき,ポートの確認をしてみましょう.

    http://www2s.biglobe.ne.jp/~ywata/gis_data/map25k_2/page1.html TIPS:
    「sendmap com3 -s57600 81380000.img 81370000.img」のように,複数のファイルを指定することもできます.

最後に(感想など...)

皆さんうまくいったでしょうか?

POIなど入っていませんし,道の名前なども出ませんが,お金をかけることなく,ここまでできたので,個人的には満足しています.

また,ここで利用させて頂いているソフトウェアの作者の方々には,本当に感謝しております.

以前からの懸案であったXML形式からplt形式への変換に関しては,ほぼ考えがまとまり,この正月休みにコーディングしようと思っていたのですが,今年の正月は,あまりにも忙しすぎました.
少なくとも春までお預けです.
ただ,あまり反響もないようですし,他の方々もいろいろと活動されているようですので,今後続けるかどうか....

何か質問がありましたら,kob@cs.ehime-u.ac.jpまでお便りください.
また,「うまくいったよ」とか,そのほかの感想なども,送って頂けるとうれしいです :−)
(といっても,個別に回答することは,まず不可能かと思いますが....(すみません))
また,知的所有権等には抵触していないと思いますが,もし,問題があるようでしたら直ちに変更・削除しますのでお知らせください.


主な更新履歴

2004年1月7日 GIS沖縄研究室のアドレスが変わったので,更新しました.また,「最後に」を書き換えました.以前の「最後に」はこちらにあります.

2003年9月5日 国土地位院からの数値地図のダウンロードデータから,mid/mifへの変換がmap25K_L_com.exeの利用により,効率的になりました.以前の方法を紹介したページはこちらに残してあります.

2003年9月5日 Translate.class実行のためのJava動作環境のバージョンに関する情報を追加.

2003年9月2日 Javaのインストールに関する情報のリンク先追加.「最後に」を加筆.

2003年9月1日 Translate.classの差し替え(誤って開発途上版を掲載していましたので,完成版に置き換えました).「mif/mid形式への変換(その2)」のバッチファイルの説明の誤記訂正.
開発途上版をダウンロードして,悩まれた皆さん.すみませんでした.

2003年8月29日 公開開始


kobのページへ