mapRaster2 を利用した地形解析の事例

小方 登(京都大学名誉教授)


ここでは,コンピュータを利用した地形学的特徴の分析例を示します。コンピュータ上で地形を表現するためのモデルをデジタル標高モデル(Digital Elevation Model: DEM)といい,モデル化のやり方がいくつかありますが,規則的な格子上の標高をデータとする格子DEM(標高行列:Altitude Matrix)が最も一般的です。デジタル標高モデルは,単に地形の表示に用いられるだけでなく,コンピュータを利用して標高から傾斜を算出するなど,各種の計測や分析にも用いられます(地形解析;英語では geomorphometry もしくは digital terrain analysis)。ここで利用した地形データは,国土地理院数値地図(50mメッシュ標高)で,格子DEMの形をとっています。対象地域は,5万分の1地形図の「山上ヶ岳」図幅の範囲で,2004年7月にUNESCO世界遺産に登録された「紀伊山地の霊場と参詣道」の一部もここに含まれます。以下ではこの地形データを用いてサーフェスモデルを描き,その上に分析した結果を色でドレープしています。教育的な目的のため,処理手順のプログラムのソースコードを提示し,mapRaster2で結果を表示しています。これらのプログラムについては,このページもご参照ください。


景観

数値地図を用いたサーフェスモデルの上に,衛星画像をドレープして,景観を表しています。使用したLANDSAT TM画像は,1989年6月1日撮影。そこからバンド1, 2, 3を用いて合成しました(トゥルーカラー合成)。この絵からは,対象地域がほとんど森林で覆われていることがわかります。

 

標高

標高を色で示しています。

 

傾斜

傾斜を角度で算出し,色で示しています。

傾斜と斜面方位を算出するためのmapRaster2に組み込んだ手順と同等の処理を行うプログラムのソースコードを以下に示します。

C++言語のソースコードはこちら → slope.txt

 

斜面方位

斜面方位を,北を0度として時計回りに角度で算出し,色で示しています。何となく単調に見えるのは,一定の方向から斜面を見,なおかつ一定の方向から光をあてているため。

最大値の色を最小値と同じ青とし,円環を表せるカラースケールを追加しました。北向き斜面は青,南向き斜面は黄色で表されています(2014/09/23)。

 

凹凸度

ラプラシアン演算により,地形の凹凸度を表示しています。雨や流水の浸食による地形形成が卓越するこの対象地域においては,凸の部分(正の値)は稜線,凹の部分(負の値)は水系線を表すことになります。地形の特徴を,より大づかみにとらえられるよう,前処理として平滑化を行っています。

ラプラシアン演算の手順はとても簡単です。
C++言語のソースコードはこちら → mrproc.txt

 

平面曲率

Zevenbergen and Thorne (1987) は,近傍9点に当てはめた2次曲面の多項式を求めることにより,傾斜・斜面方位・断面曲率・平面曲率を算出する方法を示しました。プログラムに実装した結果のうち,平面曲率を右に示します。扱うDEMは正方形格子でなければならないので,前処理としてリサンプリングを行っています。

C++言語のソースコードはこちら → quad.txt

 

稜線

稜線を黄色で示しています。稜線の識別機能は,mapRaster2にはまだ実装していません。稜線と次項の水系線を識別するプログラムは,バーロー著,安仁屋・佐藤訳『地理情報システムの原理』(古今書院)64〜65ページの記述に従って,演習で学生がC++言語を使って作成しました。

C++言語のソースコードはこちら → ridge.txt

 

水系線

前項と同様のやり方で水系線を識別し,青で示しています。規則的に配置された格子点上のデータである格子DEMの性質上,現実の水系線を正確に追跡できるわけではないので,識別された水系線はとぎれることもあります。

C++言語のソースコードはこちら → drain.txt

 

水文学的モデリング

各地点に降った雨水が,地形表面上をどの経路で流れ下るかをシミュレートし,結果を積算して図化しました。前項で触れたように,格子DEM上では現実の水系線を正確に追跡できるわけではないので,識別された水系線はとぎれることもあります。流出方向が8方向に限定されること(D8アルゴリズム)も,大きな制約となっています。より重要なことは,この対象地域のように樹木で覆われた表面においては,雨水は必ずしも地表面を流下するわけではなく,多くは土中に浸透するということです。

C++言語のソースコードはこちら → stream2.txt

 

Last Updated : June 2, 2019