【QGIS】単バンドのGeoTiff画像に色を埋め込む
単バンドの画像をGISソフトに表示させるとグレースケールの画像が表示されますよね?
これを一つ一つプロパティからシンボル設定を開いて色設定をするのは非常にめんどくさい・・・
そこで、今回はグレースケールの画像に色を埋め込む設定を紹介します。
いわゆるインデックスカラー設定です。
この方法では画像の値が1なら赤色というように、直接色設定を埋め込むため、GISソフトにレイヤを追加しても常にその色設定が反映されます。
■使用したデータ
今回使用するデータはJAXAの公開する「高解像度土地利用土地被覆図」です。
地球観測衛星だいち(ALOS)の観測データを元に、日本全国の土地利用を約10mメッシュ単位で分類したものを無償公開するという大変ありがたいデータです。
高解像度土地利用土地被覆図ホームページ – JAXA 第一宇宙技術部門 Earth-graphy
※今回紹介するデータには、JAXAのデータ利用条件に基づき「データ元:高解像度土地利用土地被覆図/JAXA」として、出典を記載しています。
研究データ等の利用条件 – JAXA 第一宇宙技術部門 Earth-graphy
■手順
では、TIFF画像への色の埋め込み方法を紹介していきます。
まずダウンロードした「高解像度土地利用土地被覆図」はすでに色の埋め込みがされているので、今回は色の埋め込みを一旦解除したデータを使用します。
手順1:「OSGeo4W Shell」の起動
こちらはQGISをインストールしたものの中に含まれており、GDAL系コマンドの実行に便利です。
手順2:vtrファイルの作成
gdal_transelateを使用し、仮想ラスタに一度変換します。
記載方法は、
gdal_transelate -of VRT [input] [output]
です。OSGeo4W Shellのコマンドラインで実行します。
~ gdal_translate -of VRT D:¥test.tif D:¥test.vrt ~
手順3:vtrファイルの編集
作成したvrtファイルをテキストエディタなどで開きます。
9行目に<ColorInterp>Gray</ColorInterp>
という記載がありますね。これは、「データをグレースケールで表示する」という意味です。この記載を書き換えることで、色を自由に設定することができます。
記載内容の変更方法は単純です。
まず、
<ColorInterp>Gray</ColorInterp>
の部分を
<ColorInterp>Pallete</ColorInterp>
に書き換えます。
そしてその下に<ColorTable>を作成し、値ごとに色を設定していきます。
<ColorTable>
<Entry c1 = "0" c2 = "0" c3 = "0" c4 = "255">
<Entry c1 = "0" c2 = "0" c3 = "204" c4 = "255">
・
・
</ColorTable>
この<Entry 〜>の部分が画像の値ごとの色情報になります。
上から順番に値が0の時、値が1の時というふうに一行が一つの値をしています。
c1〜c3の数値がRGBの値になるので全て0にすると黒色、全て255にすると白色となります。
このルールに従い、画像の値ごとにRGBの値を指定することで色を埋め込むことができます。
手順4:GeoTiff画像への色埋め込み
設定したvrtファイルをTiff画像へ適用することで、色の埋め込みが完了します。
先程と同様にgdal_transelateを使用し、ラスタに再変換します。
記載方法は、
gdal_transelate [input] [output]
です。
~ gdal_translate -of VRT D:¥test.vrt D:¥Color.tif ~
■作成したデータ
今回作成したデータをQGISで表示してみました。
右下にGISでの凡例を表示しています。RGB表示でなく、値ごとに色が割り当てられていることが確認できます。
マップへの追加段階でこの色表示になるので、よく使う画像は色設定をしておくと何かと便利です。
■今回使用したソフト
QGIS 3.16
終わりに
これまでに作成した地図などをSUZURIで販売しています。
興味を持った方は是非、見に来てください!
CS立体図を作って、月の裏側に行ってみた。
月は自転と公転が同期しているため、地球からは常に同じ面が見えています。
月の裏側を見てみたい・・・
という衝動に駆られ、オープンデータとGISの知識で何とかならないか色々試してみました。
辿り着いたデータがこちら。
JAXAが公開している月面周回衛星「かぐや」のデータ
月面周回衛星「かぐや」は月の元素組成や鉱物組成、地形などなどを高精度に観測すること目的に2007年9月14日に打ち上げられました。そして、2009年6月11日に月表面へ制御落下し、運用は終了しています。
では、本題の月の裏側について、
使用したデータはこちら
こちらのデータは「LALT」というレーザ高度計で計測された地表面の高さデータです。
いわゆるDEMですね。
ダウンロードしてみると、XYZ座標がタブ区切りで記録されていました。
ちなみに、今回ダウンロードしたデータについてはJAXAのHPでデータの利用ポリシーが記載されています。
公開データについては出典明記すれば無償で利用できるとのこと。
こんな貴重なデータを無償公開しているJAXAには感謝しかありません・・・
GISデータに変換
まずこのグリッドデータをGISで表示できるよう変換してみました。
変換にはArcGIS Proを使用しています。
まず、「XYイベントレイヤーの作成」ツールを使用しグリッドデータをポイント化したあと、「ポイント → ラスター」ツールで画像化しました。
壮観・・・
画像化しただけでもクレーターの一つ一つがハッキリわかりますね。
大きなクレーターには天文学者や宇宙飛行士の名前がつけられていて調べてみると興味深いものでした。
補足(月の座標系って?)
GISを利用する上で座標系の設定はつきものですが、そもそも月のデータってそうすればいいんだ?
と思い調べてみると、あるんですね。月にも座標系が。
今回使用したグリッドデータは緯度経度で記録されていましたが、以下のフォーマット説明書(LALTのリンク)を読むと、1737.4kmの球体に対する緯度経度として記録したものとのこと。
そして座標系を調べていくとMoon 2000(ESPG:104903)という座標系がありました。
この座標系を設定するとGIS上で月の座標として設定されます。
CS立体図を作ってみる
CS立体図ってなに?という方はコチラ(G空間情報センターのページリンクです)
https://front.geospatial.jp/showcase/csmap/
一言で表すなら地形の起伏を直感的にわかるようにデザインした地図のことですね。
このG空間情報センターではCS立体図の作成ツールも公開されているのですが、今回は単純にArcGIS Proの「傾斜(Slope)」ツールと「曲率(Curvature)」ツールを使用してCS立体図を作成しました。
まず、展開図がこちら。
単純なグリッドデータの画像と比べて、クレーターが非常にわかりやすいですね。
さすがCS立体図・・・、そしてこんなにたくさんクレーターが存在するのか・・・
続いてArcGIS Proの「3Dビュー」機能を使って球体を再現しました。
完成です! これが・・・月の裏側・・・
思っていた10倍キレイにできました。
当初の目的を達成できたことよりも、月面の複雑さに驚いています。
今回は、オープンデータを単純に変換しただけですが、調べる過程で月に座標系があることやクレータの多さ、また月面に関する様々な研究を知ることができました。
ほんとにGISは奥が深いです。
終わりに
今回作った月面地図をTシャツにしてSUZURIで販売しています。
興味を持った方は是非、見に来てください!