GEE利用事例
関東周辺の地表面温度を見てみよう:筑波山斜面温暖帯と夜間光画像との比較について
筑波山の斜面温暖帯
筑波山では、山のふもとよりも中腹部で気温が高くなる「斜面温暖帯」という現象がみられるとのことです。
参考:https://www.ccs.tsukuba.ac.jp/research_project/mt_tkb/purpose/
この斜面温暖帯という現象が、しきさい(GCOM-C)の地表面温度(Land Surface Temperature:LST)でも確認されています。
(GCOMインスタURL::https://www.instagram.com/p/Cfdlgk0P_gI/?img_index=2)
今回は、この筑波山の斜面温暖帯を、GEEにアップロードされているGCOM-C LSTプロダクトで確認してみましょう。
GEEのPlatformのコンソール画面を立ち上げたら、まずはLSTプロダクトの前処理を行う関数を定義します。
詳しくは、チュートリアル「ImageCollectionのマップ表示」ページの「③ QAフラグでのマスク」・「④ Slope、Offsetの計算」をご覧ください。
function preprocessing_lst(img){
var lst = img.select('LST').float();
var qa = img.select('QA_flag').int();
var mask_score = ee.Number.parse(img.get('LST_Mask_for_statistics')).int();
lst = lst.updateMask(qa.bitwiseAnd(mask_score).eq(0))
var lst_slope = ee.Number.parse(img.get('LST_Slope')).float();
var lst_offset = ee.Number.parse(img.get('LST_Offset')).float();
var lst_cor = lst.multiply(lst_slope).add(lst_offset);
return lst_cor
}
その後、GEE上のGCOM-C LSTプロダクト(夜間観測)をロードし、先ほど定義したpreprocessing_lst関数をImage_Collection内の各Imageに適用していきます。
GCOMインスタ掲載例は2018/12の画像を用いていましたが、今回はロード時点で2023/12のデータに絞っておきます。
詳しくは、チュートリアル「ImageCollectionのマップ表示」ページの「①GEE上のデータ(ImageCollection)をロードする」をご覧ください。
// GCOM-C LSTプロダクトをロードする(夜間観測)
// filterDateで2023年12月のデータに絞る
var lst_202312N = ee.ImageCollection("projects/ee-gcomsgli/assets/LSTNQ")
.filterDate('2023-12-01', '2023-12-31');
Slope/Offsetやマスクの前処理後、平均値を計算します。
lst_202312N_corは、2023/12のLSTプロダクトをロードして前処理したものになるため、このコード内で計算しているlst_mean_202312Nは2023/12の月平均LSTに相当します。
// preprocessing_lst関数をImageに適用する
var lst_202312N_cor = lst_202312N.map(preprocessing_lst)
// 月平均を計算する
var lst_mean_202312N = lst_202312N_cor.mean();
前処理したデータの表示に用いる、視覚化パラメータを設定します。
この視覚化パラメータは、「データ一覧」内の「地表面温度 Land Surface Temperature (LST)」サンプルスクリプトで設定したパラメータをベースに、カラーパレット最大値・最小値を変更したものです。
// 視覚化パラメータの設定する
// LSTは絶対温度(単位:K)を反映した画像化時の最大値・最小値設定を行う
var minLST = 268;
var maxLST = 283;
var visLST = {
bands: ['LST'],
palette: [ '3500a8','0800ba','003fd6','00aca9','77f800','ff8800','b30000','920000','880000' ],
min:minLST, max:maxLST,
};
また筑波山の場所を理解しやすくするために、GCOM-C提供プロダクトだけでなく、GEEに公開されている標高データも今回表示できるよう準備します。
今回取り上げるデータは「SRTM Digital Elevation Data Version 4」です。
Earth Engine Data Catalogリンク:
https://developers.google.com/earth-engine/datasets/catalog/CGIAR_SRTM90_V4#description
Earth Engine Data Catalogで公開されているサンプルコードを参考に、ImgeCollectionのロード・バンドの選択を行います。
var dataset = ee.Image('CGIAR/SRTM90_V4');
var elevation = dataset.select('elevation');
その後、筑波山山頂付近が中心なるよう表示画面中心の設定を行い、LSTと標高データをマップ表示します。
// 表示位置の中心を設、表示する。
Map.setCenter(140.105, 36.22723, 12);
Map.addLayer(lst_mean_202312N, visLST, 'lst_mean_202312N');
Map.addLayer(elevation, {min: 0, max: 1000}, 'elevation');
レイヤ表示の透過度を変えながらデータを確認すると、
GCOMインスタグラム掲載例と同様に、筑波山の中腹部の温度が平野部や山頂よりも高くなっている様子がわかりました。
標高データ出典
Jarvis, A., H.I. Reuter, A. Nelson, E. Guevara. 2008. Hole-filled SRTM for the globe Version 4, available from the CGIAR-CSI SRTM 90m Database: https://srtm.csi.cgiar.org
夏季の地表面温度と夜間光画像との比較
前項の「筑波山の斜面温暖帯」では、GCOM-C LSTプロダクトを用いて関東周辺の局所的な現象を確認しました。
次は少し範囲を広げて関東全体のLSTの分布(2023/07)を確認していきましょう。
前項と同様の手順で衛星データの前準備を行い、画像を表示させると、関東平野の広い範囲、特に東京都周辺で高温になっている様子が確認できます。
地形的な要因も考えられますが、都市域と高温域が重なっているような傾向が見られます。
このことをGEEにアップロードされている他衛星のデータを用いて確認してみましょう。
今回取り上げるデータはDMSP/OLSの「CCNL: Consistent And Corrected Nighttime Light Dataset from DMSP-OLS (1992-2013) v1」です。
Earth Engine Data Catalogリンク:
https://developers.google.com/earth-engine/datasets/catalog/BNU_FGS_CCNL_v1#description
Earth Engine Data Catalogで公開されているサンプルコードを参考に、
ImgeCollectionのロード・バンドの選択・視覚化パラメータの定義を行います。
// 夜間光データをロードする
var ntl_2013 = ee.ImageCollection('BNU/FGS/CCNL/v1')
.filterDate('2013-01-01', '2014-01-01');
// 視覚化パラメータの設定する
var visNTL = {
bands: ['b1'],
min: 3.0,
max: 60.0,
};
Map.addLayer(ntl_2013, visNTL, 'ntl_2013');
レイヤ表示の透過度を変えながらデータを確認すると、高温域と夜間に明るい箇所が重なっている傾向がみられました。
夜間光 データ出典
Zhao,Chenchen, Cao,Xin, Chen,Xuehong, & Cui,Xihong. (2020). A Consistent and Corrected Nighttime Light dataset (CCNL 1992-2013) from DMSP-OLS data (Version 1.0) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.6644980