PR

Garmin GPS用地質図の試作

Garmin地質図(試作版)とOSM地図 地図

Garmin GPS端末用の地質図を試作してみました。山登りやフィールドワークのお供に如何でしょうか。

はじめに

今回試作したのは、冒頭にある通りGarmin GPS端末向けの地質図データです。日本の地質図は以下のサイトで閲覧することが出来ます。

上記の地質図Naviを自宅PCで見ていて、GPS端末でも同じものが見れれば自分が今歩いているあたりの地質がどんなものか、近所にどんな断層がはしっているのかパッと確認出来て面白いのでは、と思いつきで作成してみました。

地質図の概要

作成にあたって以下のデータを使用し、当サイトがGarmin GPS向けにデータを加工しています。基本的に元データの追加/修正等は行っておらず、Garmin GPSで表示するためのデータ形式変換のみになります。

以下にGarmin Oregon400tで地質図を表示したスクリーンショットを掲載します。一応、当サイトで公開しているOSMベースの地図と併用可能ですが、画面がごちゃごちゃして見難いかもしれません。

Garmin地質図(試作版)
Garmin地質図(試作版)
Oregon400tでスクリーンショット
Garmin地質図(試作版)とOSM地図
Garmin地質図(試作版)とOSM地図の表示(陰影表示付き)
Oregon400tでスクリーンショット

Garmin GPS用地質図の作成手順

簡単にですが、今回試作した地質図の作成手順について記載します。内容は産総研の公開している20万分の1日本シームレス地質図V2ベクトルデータをGarmin GPS地図形式に変換する手順になります。

PC環境

  • OS:ubuntu 24.04
  • CPU:Ryzen7 5700X
  • Memory:64GByte
  • GPS:Garmin Oregon400t

元データの取得

まず、元となる地質図のベクトルデータ(seamlessV2.zip)を以下サイトからダウンロードします。圧縮ファイルを適当なディレクトリに展開してください。

ダウンロードしたデータはシェープファイル形式です。PC環境であればQGIS等で内容を表示出来ます。

地質図をQGISで表示
QGISでシェープファイル(seamlessV2_poly.shp, seamlessV2_line.shp)を読み込んだところ
出典:産総研地質調査総合センター,20万分の1日本シームレス地質図V2ベクトルデータ
(https://gbank.gsj.jp/seamless/use.html)

地質図をOSM形式に変換する

次に地質図(シェープファイル)をOSM形式に変換します。変換にはGDALとogr2osmというツールを使用しました。

まずseamlessV2_line.shp(輪郭や断層が含まれる)とseamlessV2_poly.shp(地質を示すポリゴン)をひとつのファイルにまとめます。

$ ogrmerge.py -f vrt -o seamlessV2_combined.vrt ./seamlessV2_line.shp ./seamlessV2_poly.shp

次にogr2osm.pyを使ってOSM(xml)形式に変換します。そのままでもいいですが、ここでは後処理の都合でosmconvertを使ってOSM(o5m)形式に変換しました。

$ python /path/to/ogr2osm.py seamlessV2_combined.vrt --positive-id -o seamlessV2.osm
$ osmconvert --out-o5m -o=seamlessV2_combined.osm.o5m seamlessV2_combined.osm

地質図用のstyleを作成する

次にGarmin GPSのstyleを作成します。これは地質図をどのように表示するかを定義するものです(例えば断層を表現する線の色/太さ、特定の地層ポリゴンの色等)。

styleの大本はseamlessV2.zipに同梱されていたlegend.tsvを参照しました。このファイルには各地層毎のシンボル名やポリゴンの色、地層の年代等が含まれています。この情報を前項で作成したOSMファイルと関連付けるようにstyleを作成します。

例えば、legend.tsv(データはタブ区切りのCSVです)の1行目は以下のようになっています。

no	symbol	r	g	b	formationAge_ja	formationAge_en	group_ja	group_en	lithology_ja	lithology_en
1	H2_or	244	223	202	新生代 第四紀 後期完新世	Cenozoic Quaternary late Holocene	その他	Other	盛り土・埋立地・干拓地	Reclaimed land

これをstyleとして以下のように置き換えます。この内容をgeologyjp.typ.txtファイルにテキストとして保存して、最終的にはバイナリに変換します。バイナリへの変換はmkgmapかTYPViewer等のエディタツールを使用して行います。

[_polygon]
Type=0x10001
String1=0x00,H2_or:Cenozoic Quaternary late Holocene,Other,Reclaimed land
String2=0x25,H2_or:新生代 第四紀 後期完新世,その他,盛り土・埋立地・干拓地
ExtendedLabels=Y
FontStyle=SmallFont
CustomColor=No
ContourColor=No
Xpm="0 0 1 0"
"1 c #F4DFCA"
[end]

また、同時にmkgmapのstyle(polygons)には以下のように記載します。これでOSMファイルに含まれるポリゴンのsymbol=H2_orと上記typファイルのType=0x10001とが関連付けられます。これをlegend.tsvに含まれる全ての内容に対して行います。

symbol=H2_or [0x10001 resolution 12]

なお、ポリゴンだけで約2400個の定義があるのでperlスクリプトを作成して処理しました(スクリプト本体はもう少し中身を整理してから公開しようと思います)。

Garmin地図の作成

あとは前項までに作成したOSMファイルとstyleを使用して地図データを作成するだけです。作成には以下のツールを使用しました。
(この辺りの手順は過去の記事でも紹介しているので省略します)

Garmin GPS用地質図(試作版)のダウンロード

地質図(試作版)を試したい方は以下のURLからダウンロードしてください。UTF8版とASCII版があります。

所感

思いつきで作成した地質図ですが、自宅近所を表示してみて知っている場所が周囲と地質が違っていたり、全く知らなかった場所に断層がはしっていたりと色々と発見がありました。山登りと直接関係は無いですが、休憩中にちらっと周辺の地層を確認するのも面白いかもしれません。

また、今回の試作版地質図には20万分の1日本シームレス地質図のデータを使用させて頂きました。さらに細かい5万分の1地質図もありまして、これを使えばもっと詳細なものが出来そうです。ただ此方は凡例が統一されていなかったり、隣接するエリアの継ぎ目が繋がらなかったりするので簡単ではなさそうですね。色々と試してみたいと思います。

地図
スポンサーリンク

コメント