とらりもんHOME  Index  Search  Changes  Login

とらりもん - SRTMによる高分解能地形データ Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

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

[[SRTMのホームページ|http://srtm.usgs.gov/]] [[世界中のSRTM地形データのインデックス|http://edcsns17.cr.usgs.gov/srtmbil/]] [[FTPサイト|ftp://e0srp01u.ecs.nasa.gov/srtm/]]

!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

{{attach_view(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

{{attach_view(GTOPO_E100N40-.png)}}

!!!!!GTOPO30のDEM (1km分解能)

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

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

1はSRTMの長所だが、2は短所である。これらの長所・短所は、SRTMがそもそも[[「合成開口レーダー (Synthetic Aperture Radar; SAR)」|http://www.alab.t.u-tokyo.ac.jp/~ando/sicesar.htm]]という技術(リモートセンシングの一種)で作られたことによる。

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

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

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

GRASS:~> r.fillnulls input=SRTM_N35E139 output=SRTM_N35E139_fill
GRASS:~> d.rast SRTM_N35E139_fill

{{attach_view(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入門]]に戻る。