とらりもんHOME  Index  Search  Changes  Login

SRTMによる高分解能地形データ

SRTMとは

 SRTM (Shuttle Radar Topography Mission)は、スペースシャトル登載の合成開口レーダーによって地球のほとんどの陸地の地形を計測するミッション(日本人宇宙飛行士の毛利衛さんが乗っていた!)で、現在、北極・南極の周辺を除く、ほとんどの陸地について、約90mメッシュのDEMが作られ、配付されている。

SRTMのホームページ 世界中のSRTM地形データのインデックス FTPサイト

SRTMデータの取得

 SRTMは、米国の国土については30mの分解能のデータが整備されており、米国外の地域には90mの分解能のデータが整備されている。いずれもデータは無料であり、FTPサイトから自由にダウンロードできる。

 では、日本の北関東地方のデータをダウンロードして解凍しよう:

$ wget -c http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N35E139.hgt.zip
$ unzip N35E139.hgt.zip

SRTMデータの読み込み

 まず、GRASSを、

location: latlon
mapset: PERMANENT

で立ち上げなおす。

次に、上でダウンロード・解凍したSRTMデータをGRASSにSRTM_N35E139という名前のラスターマップとして読み込もう。

SRTMのデータ(90m分解能のもの)は、1つのファイルで緯度方向1度、経度方向1度の領域をカバーし、緯度方向・経度方向ともに1200分割した格子点に標高値が与えられている。単純な2バイトのバイナリーのラスターデータなので、GRASSには、以下のようにr.in.binコマンドで読み込むこともできる(ここでは、実際には、やらない):

GRASS:~> r.in.bin input=N35E139.hgt output=SRTM_N35E139 west=138.99958333 east=140.00041666 south=34.99958333 north=36.00041666 c=1201 r=1201 byte=2 anull=-999 -b

しかし、GRASSにはSRTMのデータを自動で読み込むコマンドが既に用意されているので、そちらを使って、読み込んでみよう:

GRASS:~> r.in.srtm input=N35E139 output=SRTM_N35E139 --o

あとは、これまで扱ったGTOPO30のDEMと同様に扱うことができる。

まず、regionをこのSRTMデータに合わせよう。GTOPO30のregionのままでは、広すぎるし、荒過ぎる。

GRASS:~> g.region rast=SRTM_N35E139

この、"g.region rast="というのは、あるラスターマップに固有の範囲・解像度を流用してGRASSのregionを設定する。あらたなラスターマップを読み込んだときに、その確認をするのによく使う。

ではこのラスターマップを表示してみよう:

GRASS:~> d.mon x0
GRASS:~> d.erase
GRASS:~> d.rast SRTM_N35E139
SRTM_N35E139.png
GRASSで表示した、SRTMのDEM (90m分解能)

SRTMとGTOPO30の比較

GTOPO30の地形データも表示して、SRTMとGTOPO30を較べてみよう:

GRASS:~> r.colors map=GTOPO_E100N40 rules=srtm   (GTOPO_E100N40のカラーテーブルをSRTMと同じにする)
GRASS:~> d.rast GTOPO_E100N40
GTOPO_E100N40-.png
GTOPO30のDEM (1km分解能)

これらを見くらべると、以下のようなことに気づくだろう:

  1. SRTMのほうがGTOPO30よりも、細かい地形が表現されている。
  2. SRTMでは、陸地内のところどころにデータの欠落(白い部分)がある。

1はSRTMの長所だが、2は短所である。これらの長所・短所は、SRTMがそもそも「合成開口レーダー (Synthetic Aperture Radar; SAR)」という技術(リモートセンシングの一種)で作られたことによる。

 まず、SRTMが細かい地形が表現できること、つまりSRTMが高い空間分解能を実現しているのは、そもそも合成開口レーダーが高分解能のセンシングに向いている技術であることによる。というのも、合成開口レーダーは衛星の軌道運動によるドップラー効果とレーダー波の周波数変調を巧みに利用して、仮想的な巨大アンテナを実現することで分解能を高めるのである。

 一方、2番目の点、つまりデータの欠落は、レーダー波が山などに邪魔されて届かなかった地域だったり、川や湖などの静かな水面によってレーダー波が鏡面反射してしまい、衛星に返ってこないなどの原因によるものである。SRTMのデータを使うときは、必ずこの欠落データの問題を適切に処理する必要がある。

欠落データの補間

このような欠落を埋めるには、GRASSではr.fillnullsという、nullをまわりのデータから数学的に補間するコマンドがある:

GRASS:~> r.fillnulls input=SRTM_N35E139 output=SRTM_N35E139_fill
GRASS:~> d.rast SRTM_N35E139_fill
SRTM_N35E139_fillnull.png
r.fillnullコマンドでnull値を補間したSRTM DEMデータ

注: このコマンドは処理時間がけっこうかかるので、おおざっぱな補間で良いときは、以下のようにして、nullをGTOPO30のデータで代替してもよい:

GRASS:~> r.mapcalc "SRTM_N35E139_fill = if(isnull(SRTM_N35E139),GTOPO_E100N40,SRTM_N35E139)"
GRASS:~> r.colors map=SRTM_N35E139_fill rast=SRTM_N35E139
GRASS:~> d.rast SRTM_N35E139_fill

GIS入門に戻る。

Last modified:2015/05/26 08:16:08
Keyword(s):
References:[GIS入門]