とらりもんHOME  Index  Search  Changes  Login

とらりもん - SPOT VGT Diff

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

2009/01/12 本岡毅

!SPOT VEGETATION について

SPOT-Vegetationとはフランスが打ち上げた衛星(SPOT-4とSPOT-5)に積まれた地球観測(リモートセンシング)センサーです。

本家サイト: http://www.spot-vegetation.com/

!S10データのダウンロード

[[このページ|http://free.vgt.vito.be/login.php]]からダウンロードできる。アカウントを作ってログインし、説明に従って進んでいけば、簡単にできる。ただし、1回にダウンロードできるのは10GBまで。1回ダウンロードすると、次に新しくダウンロードするまでに5日間かかる。

!!!ひとつひとつクリックしてダウンロードするのは面倒くさい。。。

ファイルのリンク先をクリックすれば圧縮されたデータをダウンロードできるが、ひとつひとつクリックするのは面倒くさい。という場合は、wgetで一括ダウンロードするとラク。

(1) まず、ウェブページのファイル名をドラッグして、テキストファイルに貼り付ける。ドラッグして右クリック→コピーして、viを開いてそこに貼り付けて保存すればよい。以下のようなファイルができる。これを、spot_listという名前にする。

V2KRNS10__20070101_RADIO_SE-Asia.ZIP


232.83 MB


5

V2KRNS10__20070111_RADIO_SE-Asia.ZIP


232.83 MB
  
(以下略)

(2) 次に、以下のコマンドで、ダウンロード用のスクリプトを作る。users以下の暗号みたいな部分は人によって変わるので、ウェブページのデータファイルのURLを調べて、変更すること。

cat spot_list | grep V2 | awk '{print "wget -c http://free.vgt.vito.be/users/Wl2Ky2wKfg4fX4e5RrBngPcdr6bMVS/"$i}' > spot_download.sh

(3) スクリプトを実行する。

chmod +x spot_download.sh
./spot_download.sh

ダウンロードが途中で止まってしまったら, このスクリプトを再実行。途中から再開してくれる(wgetの-cオプションのおかげ)。

!S10 product --- Radiometryデータの扱い方

ダウンロードしたデータは、たとえば次のようなファイルである:

V2KRNS10__20050211_RADIO_SE-Asia.ZIP (サイズは250MB程度)

これはzip圧縮がかかっている。これを展開すると...

$ unzip V2KRNS10__20050211_RADIO_SE-Asia.ZIP
Archive:  V2KRNS10__20050211_RADIO_SE-Asia.ZIP
   creating: 0001/
  inflating: 0001/0001_LOG.TXT
  inflating: 0001/0001_RIG.TXT
  inflating: 0001/0001_QL.TIF
  inflating: 0001/0001_B0.HDF
  inflating: 0001/0001_B2.HDF
  inflating: 0001/0001_B3.HDF
  inflating: 0001/0001_MIR.HDF
  inflating: 0001/0001_NDV.HDF
  inflating: 0001/0001_SM.HDF
  inflating: 0001/0001_VZA.HDF
  inflating: 0001/0001_SZA.HDF
  inflating: 0001/0001_VAA.HDF
  inflating: 0001/0001_SAA.HDF
  inflating: 0001/0001_TG.HDF

このように、0001というディレクトリの中に、いくつかのHDFファイルとテキストファイルがあらわれる。それぞれのファイルの持つ情報は、

*0001_B0.HDF    バンド0の反射率
*0001_B2.HDF    バンド2の反射率
*0001_B3.HDF    バンド3の反射率
*0001_LOG.TXT   ログ(ヘッダー)情報
*0001_MIR.HDF   中間赤外バンドの反射率
*0001_NDV.HDF   NDVI
*0001_QL.TIF
*0001_RIG.TXT
*0001_SAA.HDF   太陽方位角(solar azimuth angle)
*0001_SM.HDF    雲、雪氷関係(status map) [[各ビットの意味|http://www.vgt.vito.be/faq/FAQS/faq15.html]]
*0001_SZA.HDF   太陽天頂角(solar zenith angle)
*0001_TG.HDF    観測日時
*0001_VAA.HDF   観測方位角(view azimuth angle)
*0001_VZA.HDF   観測天頂角(view zenith angle)

のようになっている。



地理座標

地理座標系については0001_LOG.TXTを見ればわかるが、原則として、測地系はWGS84, 投影法は緯度経度直交座標系(geographicとかlatlonとかplate caree)、分解能は約1km(このファイルの場合は0.0089285714度)である。切り出し範囲の東西南北端も0001_LOG.TXTに書いてある。ここで注意すべきなのは, ここに記載されている緯度経度は, 画角の端のピクセルの中心である、ということだ。つまり, 例えば

MAP_PROJ_RESOLUTION      0.0089285714
...
CARTO_UPPER_LEFT_X          68.000000
CARTO_UPPER_LEFT_Y          55.000000
CARTO_UPPER_RIGHT_X        147.000000
CARTO_UPPER_RIGHT_Y         55.000000
CARTO_LOWER_RIGHT_X        147.000000
CARTO_LOWER_RIGHT_Y          5.000000
CARTO_LOWER_LEFT_X          68.000000
CARTO_LOWER_LEFT_Y           5.000000
IMAGE_UPPER_LEFT_ROW      1
IMAGE_UPPER_LEFT_COL      1
IMAGE_UPPER_RIGHT_ROW     1
IMAGE_UPPER_RIGHT_COL     8849
IMAGE_LOWER_RIGHT_ROW     5601

と書かれているならば, このUPPER_RIGHT(右上)の経度147.0度/緯度55.0度というのは, 画像の右上端のピクセルの「中心」の位置である。ピクセルは大きさを持っているので, 画像のほんとの右上端は, 画像の右上端のピクセルの中心ではなく, 画像の右上端のピクセルの右上端である。ピクセルの大きさ(resolution)は0.0089285714度なので, その半分, つまり0.0044642857度を147.0度に加えた値, つまり147.0044642857度が, 「画像の右上端の経度」になる。
{{attach_view(SPOTVGT_region.png)}}

同様に考えれば, この画像の左右上下端は,

東経67.9955357143度, 東経147.0044642857度
北緯68.0044642857度, 北緯4.9955357143度

となる。GRASSにr.in.binなどで読み込ませるときは, この値を使わねばならない。

実際, 画像の横方向のピクセル数(IMAGE_UPPER_RIGHT_COL)8849に分解能0.0089285714を掛けると, 79.0089283186度となり, これは上記の CARTO_UPPER_RIGHT_X(147.0)からCARTO_UPPER_LEFT_X(68.0)を引いた値(79.0)よりも, 1ピクセルぶん大きい。これは, この画像がカバーする範囲が,

!スケール(ゲイン)とオフセット
1ピクセルあたりのバイト数や、デジタルカウント値から物理量に換算するときの係数(スケールとオフセット)、観測日時の起点などは、各HDFファイルの中に記述されている。それを読むには以下のようにする:

$ vshow 0001_NDV.HDF +

ここでvshowはHDF4のコマンドである。これを使うには、HDFライブラリをインストールし、コマンドへのサーチパスを張っておく必要がある。

!バイナリダンプ
さて、HDFからラスターデータを読み出すには以下のようにする:

$ hdp dumpsds -i 0 -d -b 0001_NDV.HDF > NDVI.raw

このhdpもHDF4のコマンドである。こうやってHDFファイルからラスターデータをraw binaryとして抜きだし、適宜、vshowコマンドなどで調べた情報(たてよこのピクセル数、範囲、ピクセルあたりのバイト数、換算係数など)を用いてGISなどに読み込ませれば良い。GRASSについてそれを自動で行うシェルスクリプトを[[ここ|http://ryuiki.envr.tsukuba.ac.jp/~nishida/MEMO/SPOT_VGT/script/]]|http://pen.envr.tsukuba.ac.jp/~nishida/MEMO/SPOT_VGT/script/]]に置いておくので参考にされたい。

!プロダクトの通称について

* S10         Synthesis (10日コンポジット)
* D10