1. はじめに
人工衛星の観測データやそれから算出された情報の取得はいろいろな手段があります.例えば,欧州の宇宙機関(ESA:European Sapce Agency)が運用するSentinelシリーズは,Copernicus hubのデータ提供サイトにアクセスすることで,任意のデータをフリーで入手することができます.ただし,このためには使用するサービスのアカウントの作成やほしいデータをローカルにダウンロードする必要があり,入手から解析までに時間を要します.
一方,Googleが提供するGoogle Earth Engineを用いれば,比較的容易に衛星画像やデータへのアクセスや処理ができますが,その環境はGoogle Earth Engineのみとなります.(QGISのプラグインを用いれば,ローカルでも一部は可能ですが)
ここでは,JAXAが提供する人工衛星の画像やそれより求めた物理量を提供するサービスであるEarth APIを用いて,ArcGIS Proでのデータの入手から簡単な解析例を紹介します.
2. JAXA Earth APIとは.
JAXA Earth APIは、JAXAが提供する地球観測衛星データにアクセスするためのインターフェースです.ALOS-2やGCOM-C/SGLIなどの人工衛星データを,REST APIを通じてJSON形式で取得できます.災害監視、気候変動研究、農業モニタリングなど幅広い分野で活用されています.
提供するデータセットには,数値表層モデルであるAW3Dや,降雨量,地表面温度,海面温度などの物理量になります.一般的には,人工衛星の観測画像から変換する必要がありますが,校正された物理量をそのまま利用できるのが利点です.
APIも提供されており,Pythonであればモジュールをインストールすることで,これらのデータを容易に入手することができます.
ここでは,Earth APIが提供するCOG(Cloud Optimized GeoTIFF)を利用します.
3. ArcGIS Proとの連携
ArcGIS ProのCOGの利用については,こちらの記事を参考にしました.ここでは,COGの利用方法として,クラウドストレージへのコネクションを作成することで,ESAが運用する人工衛星であるSentinel−2の観測画像の取得例が紹介されています.同じ方法を用います.
クラウドストレージコネクションの作成方法として,解析からツールをクリックしジオプロセシングのウィンドを立ち上げ,検索窓に”クラウド”と入力して,クラウドストレージコネクションファイルの作成を選択します.このウィンドウをEarth APIのCOGの情報を入力します.
ジオプロセシングウィドウでのクラウドストレージコネクションの作成を選択©Esriジャパン
こちらのクラウドストレージコネクションのパラメータですが,Earth APIのCOGのURLよサービスエンドポイントやパケットを確認します.
例えば,Earth APIのサイトからデータセットのタブを選択すると利用できるデータセットが並んでいます.今回は,地表面温度(LST:Land Surface Temeprature)を使いますので,こちらを確認します.
人工衛星は地球観測衛星の一つである気候変動観測衛星「しきさい」(GCOM-C)のデータを使います.「しきさい」は,日本上空を朝の10時頃(Daytime)と夜の10時頃(Nighttime)に日本上空を通過します.人工衛星の軌道に関心があるかたは,ぜひこちらのリンクよりJAXAの衛星の軌道イメージを遊んでみてください.理解が深まります.
今回は,地表面温度の情報のうち,Monthly(月平均値)を使うため,こちらのアイコンをクリックすると以下のサイトに移ります.
このCollectionに,サービスエンドポイントとパケット(コンテナー)名があります.
クラウドストレージコネクションの作成は以下となります.
コネクションファイルの場所:任意(デフォルトはプロジェクトの作成場所)
コネクションファイル名:任意
サービスプロバイダー: Amazonを選択
パケット(コンテナー)名:je-pds/cog/v1
サービスエンドポイント:s3.ap-northeast-1.wasabisys.com
プロバイダーオプション:名前 AWS_NO_SIGN_REQUEST, 値 True
これらのパラメータを入力しましたら,実行をクリックします.
エラーなく実行されると,カタログのフォルダーにjaxa_apiのコネクションが追加されます.
カタログウィンドウでEarth APIとつながったことを確認.
ここにあるjaxa_api.acsをクリックすると,Earth APIのデータセットが表示されます.
この状態ではすべてのデータセットが表示されるため,もし使用するデータセットが限定するのであれば,クラウドストレージコネクションの設定にて,フォルダーに使用するデータセットのサブフォルダ(例えば,地表面温度の月平均であれば,JAXA.G-Portal_GCOM-C.SGLI_standard.L3-LST.daytime.v3_global_monthly)を入力しておくと便利です.
次に,この中から今回使用する地表面温度の日照時(Daytime)の月平均を選択します.
地表面温度の日照寺の月平均のデータリスト
月ごとのフォルダに分かれているのがわかります.
では,ここから2024年8月の日本域(北緯36度付近,東経138度付近)を含むデータを選び,マップ画面にドラッグアンドドロップします.
すると,マップに選択したデータが重畳されます.
コンテンツウィンドウをみると,値が最大16669,最小が13406とあります.これは信号値のため物理量である温度に換算します.
換算式は,Earth APIで選択したデータセットの画面のExplore the STA/COG Structureを選択します.
その後は少し深い層になりますが,データセットを順番に選択していくと**Asset(1)**の画面となります.
(どれでもよいですが,まずは赤枠のリンクをクリックしてください)
Asset(1)のSTACの中をスライドするとslopeとoffsetが出てきます.
slope: 0.01999999
offset: 0
この意味は,
温度 = slope × 信号値 + offset
となります.
ラスター演算を用いて信号値を温度に変換します.このとき,出力させる温度の単位はケルビンのため,いつも使っている摂氏(℃)にするため,273を引きます.
実行すると,信号値が温度(摂氏)に変換されているのがわかります.
このままでも良いですが,温度分布らしい図とするためにシンボルを変更します.
解析のタブを選び,ラスターレイヤーをクリックしてシンボルを表示させ,左のウィンドから任意の配色を選びます.すると,こちらのようにカラーで更新されます.
日本にズームすると都市域の温度が比較的高いのがわかります.
例えば,東京をクリックするとこちらの数字です.
この数字は気温ではなく,衛星の観測画像から推定した地表面温度になります.注意が必要です.
以上にて,Earth APIを用いたJAXAが提供している人工衛星のデータをArcGIS ProにてAPI連携でよみこむことができました.
折角なので簡単な解析も行います.
先ほどと同じく,地表面温度を出力してみます.次は,同じ2024年8月の夜間(午後10時頃)の温度であるNithttimeを選択します.
では,同じくデータの選択,温度値への変換,ストレッチによるカラー化を行います.
これで,2024年8月の日中と夜間の月平均の地表面温度を可視化することができました.
例えば,日中と夜間の温度差は,都心は熱帯夜が続くので小さく,郊外は涼しいので大きいのでは,と推測しました.では,日中と夜間の温度差をラスター演算で求めてみます.
解析結果も同じく,ストレッチでカラー化して表示させます.
結果は,予想に反して都心のほうが日中と夜間との温度差が大きく,郊外は小さいことがわかりました.
これが情報を可視化することにより気づきですね.
日中の地表面温度をみていただくとわかりますが,日中の都心の温度は非常に高いため,結果として夜間との温度差も大きくなることがわかります.この気づきは大事かもしれませんね.
(北海道の十勝付近の日中と夜間で温度差が大きいのはなぜだろう?)
4. まとめ
ここでは,JAXAが提供するEarth APIのデータセットをArcGIS ProでAPI連携して取得する方法を紹介しました.
JAXAはG-portalでも人工衛星のデータを提供していますが,このデータを取得し解析するためには,データの選択からダウロードをマニュアルで行うことが必要です.このようにAPI連携することで,スムーズにデータを取得できます.
皆さんも衛星データの可視化や,空間軸および時間軸の解析を楽しんでみてください.
ご不明な点などありましたら,お気軽にコメントいただけると嬉しいです. 励みになります.
参考
JAXA Earth API
Cloud Optimized GeoTIFF (COG) と Sentinel-2 オープンデータ
JAXA 地球観測衛星の軌道シミュレーション