JAXA Earth APIをArcGIS Proで使ってみよう．

## 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](https://data.earth.jaxa.jp/ja/)は、**JAXA**が提供する地球観測衛星データにアクセスするためのインターフェースです．**ALOS-2**や**GCOM-C/SGLI**などの人工衛星データを，**REST API**を通じて**JSON**形式で取得できます．災害監視、気候変動研究、農業モニタリングなど幅広い分野で活用されています．
  提供するデータセットには，数値表層モデルである**AW3D**や，降雨量，地表面温度，海面温度などの物理量になります．一般的には，人工衛星の観測画像から変換する必要がありますが，校正された物理量をそのまま利用できるのが利点です．
  APIも提供されており，**Python**であればモジュールをインストールすることで，これらのデータを容易に入手することができます．
  ここでは，**Earth API**が提供する**COG**(**Cloud Optimized GeoTIFF**)を利用します．

![スクリーンショット 2024-12-21 20.49.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/82804cb4-3642-85c4-25a1-adca895184c0.png)
                       **JAXA Earth API©JAXA**

 
## 3. **ArcGIS Pro**との連携
　**ArcGIS　Pro**の**COG**の利用については，[こちらの記事](https://blog.esrij.com/2023/03/23/post-48603/)を参考にしました．ここでは，**COG**の利用方法として，クラウドストレージへのコネクションを作成することで，**ESA**が運用する人工衛星である**Sentinel−2**の観測画像の取得例が紹介されています．同じ方法を用います．
 　クラウドストレージコネクションの作成方法として，解析からツールをクリックしジオプロセシングのウィンドを立ち上げ，検索窓に”クラウド”と入力して，**クラウドストレージコネクションファイルの作成**を選択します．このウィンドウを**Earth API**の**COG**の情報を入力します．
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/b0df4614-925a-0c0b-b15f-9c6d430c9391.png)
　  ジオプロセシングウィドウでのクラウドストレージコネクションの作成を選択©Esriジャパン
   
　こちらのクラウドストレージコネクションのパラメータですが，**Earth API**の**COG**の**URL**よサービスエンドポイントやパケットを確認します．
　例えば，**Earth API**のサイトからデータセットのタブを選択すると利用できるデータセットが並んでいます．今回は，地表面温度（**LST:Land Surface Temeprature**)を使いますので，こちらを確認します．

 ![CleanShot 2024-12-21 at 20.55.52@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/c3c2060d-4c0f-e547-5b91-23ce765339cb.png)
**Earth API**のデータセット©**JAXA**

　人工衛星は地球観測衛星の一つである気候変動観測衛星「しきさい」（**GCOM-C**)のデータを使います．「しきさい」は，日本上空を朝の10時頃（**Daytime**)と夜の10時頃（**Nighttime**）に日本上空を通過します．人工衛星の軌道に関心があるかたは，ぜひこちらの[リンク](https://www.satnavi.jaxa.jp/project/eo/orbit/)より**JAXA**の衛星の軌道イメージを遊んでみてください．理解が深まります．
 今回は，地表面温度の情報のうち，**Monthly**（月平均値）を使うため，こちらのアイコンをクリックすると以下のサイトに移ります．

 ![CleanShot 2024-12-21 at 21.06.12@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/0dd7e799-becd-7a23-5588-3d80070808c2.png)
　**Earth API LST**サイト©**JAXA**

 この**Collectio**nに，サービスエンドポイントとパケット（コンテナー）名があります．
 クラウドストレージコネクションの作成は以下となります．

 
**コネクションファイルの場所：任意（デフォルトはプロジェクトの作成場所）**
**コネクションファイル名：任意**
**サービスプロバイダー: Amazonを選択**
**パケット（コンテナー）名：je-pds/cog/v1**
**サービスエンドポイント:s3.ap-northeast-1.wasabisys.com**
**プロバイダーオプション:名前 AWS_NO_SIGN_REQUEST, 値 True**


![CleanShot 2024-12-21 at 21.19.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/e208e1ff-7782-b4f7-71d1-b7b5a8e23615.png)
    **クラウドストレージコネクションの作成**

　これらのパラメータを入力しましたら，実行をクリックします．
　エラーなく実行されると，カタログのフォルダーに**jaxa_api**のコネクションが追加されます．

![CleanShot 2024-12-21 at 21.19.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/29ae92a0-71f9-5ba2-9322-c968b56525f5.png)
カタログウィンドウで**Earth API**とつながったことを確認．

　ここにある**jaxa_api.acs**をクリックすると，**Earth API**のデータセットが表示されます．

![CleanShot 2024-12-21 at 21.21.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/efc75206-bf68-41f5-5723-69800a7bf43a.png)

　この状態ではすべてのデータセットが表示されるため，もし使用するデータセットが限定するのであれば，クラウドストレージコネクションの設定にて，フォルダーに使用するデータセットのサブフォルダ（例えば，地表面温度の月平均であれば，**JAXA.G-Portal_GCOM-C.SGLI_standard.L3-LST.daytime.v3_global_monthly**)を入力しておくと便利です．

次に，この中から今回使用する地表面温度の日照時（Daytime)の月平均を選択します．

![CleanShot 2024-12-21 at 22.00.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/765050da-3b1b-3591-e171-29bf8d584ca1.png)

**地表面温度の日照寺の月平均のデータリスト**


　月ごとのフォルダに分かれているのがわかります．
　では，ここから2024年8月の日本域(北緯36度付近，東経138度付近）を含むデータを選び，マップ画面にドラッグアンドドロップします．

![CleanShot 2024-12-21 at 22.01.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/119bd882-149e-0688-c099-ba582002eb84.png)

　すると，マップに選択したデータが重畳されます．

![CleanShot 2024-12-21 at 22.01.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/6f745066-1ba8-e230-1533-4f5924a112b1.png)


　コンテンツウィンドウをみると，値が最大**16669**，最小が**13406**とあります．これは信号値のため物理量である温度に換算します．
　換算式は,**Earth API**で選択したデータセットの画面の**Explore the STA/COG Structure**を選択します．


![CleanShot 2024-12-21 at 21.36.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/b50c8b67-3e5f-e22d-1740-bd197456e946.png)

その後は少し深い層になりますが，データセットを順番に選択していくと**Asset(1)**の画面となります．
（どれでもよいですが，まずは赤枠のリンクをクリックしてください）

![CleanShot 2024-12-21 at 21.37.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/034ba6df-4f07-b93f-ff52-d36d932a4b74.png)
**赤枠をクリック**

![CleanShot 2024-12-21 at 21.37.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/773eccdc-780d-9967-8de8-5bdc7a15b14e.png)
**赤枠をクリック**

![CleanShot 2024-12-21 at 21.37.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/fb8c2252-75e0-303e-cb51-5cfe8c07e024.png)
**赤枠をクリック**

![CleanShot 2024-12-21 at 21.37.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/0bdc34e8-3282-7c31-74fa-34a0f086fdfb.png)
**赤枠をクリック**

![CleanShot 2024-12-21 at 21.38.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/343b27df-c327-35fa-e647-f5b2743f68bc.png)


　**Asset(1)**の**STAC**の中をスライドすると**slope**と**offset**が出てきます．

**slope: 0.01999999**
**offset: 0**

この意味は，
温度 = **slope** × 信号値　＋ **offset**
となります．

　**ラスター演算**を用いて信号値を温度に変換します．このとき，出力させる温度の単位はケルビンのため，いつも使っている摂氏（℃）にするため，**273**を引きます．

![CleanShot 2024-12-21 at 22.03.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/05dfb93c-21ff-21dd-ae21-9febb885c4b2.png)


　実行すると，信号値が温度（摂氏）に変換されているのがわかります．

![CleanShot 2024-12-21 at 22.03.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/34aac849-5f13-a6a5-d2a8-90f32797f7b7.png)


　このままでも良いですが，温度分布らしい図とするためにシンボルを変更します．
解析のタブを選び，ラスターレイヤーをクリックしてシンボルを表示させ，左のウィンドから任意の配色を選びます．すると，こちらのようにカラーで更新されます．

![CleanShot 2024-12-21 at 22.05.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/f4771dac-ff30-f15d-d0fa-31240c32ae46.png)

　日本にズームすると都市域の温度が比較的高いのがわかります．
例えば，東京をクリックするとこちらの数字です．

![CleanShot 2024-12-21 at 22.06.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/75f8de13-1e9f-2d38-b506-8a7d6719382b.png)

　この数字は気温ではなく，衛星の観測画像から推定した**地表面温度**になります．注意が必要です．

　以上にて，**Earth API**を用いた**JAXA**が提供している人工衛星のデータを**ArcGIS Pro**にて**API**連携でよみこむことができました．

　折角なので簡単な解析も行います．
　先ほどと同じく，地表面温度を出力してみます．次は，同じ2024年8月の夜間（午後10時頃）の温度である**Nithttime**を選択します．

![CleanShot 2024-12-21 at 22.07.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/d49d2a91-78be-cda8-f535-cf76c2b6aebc.png)

　では，同じくデータの選択，温度値への変換，ストレッチによるカラー化を行います．

![CleanShot 2024-12-21 at 22.11.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/0124ee9f-197e-ec24-771e-1c613ea7a690.png)

　これで，2024年8月の日中と夜間の月平均の地表面温度を可視化することができました．
例えば，日中と夜間の温度差は，都心は熱帯夜が続くので小さく，郊外は涼しいので大きいのでは，と推測しました．では，日中と夜間の温度差をラスター演算で求めてみます．

![CleanShot 2024-12-21 at 22.16.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/8ccec826-b64e-a1cf-4d2f-ddf3ae48ce39.png)

　解析結果も同じく，ストレッチでカラー化して表示させます．

![CleanShot 2024-12-21 at 22.17.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/7274a827-db57-1bcf-8ecf-f046a3fb0aeb.png)

　結果は，予想に反して都心のほうが日中と夜間との温度差が大きく，郊外は小さいことがわかりました．
これが情報を可視化することにより**気づき**ですね．

　日中の地表面温度をみていただくとわかりますが，日中の都心の温度は非常に高いため，結果として夜間との温度差も大きくなることがわかります．この**気づき**は大事かもしれませんね．
 （北海道の十勝付近の日中と夜間で温度差が大きいのはなぜだろう？）

## 4. まとめ
　ここでは，**JAXA**が提供する**Earth API**のデータセットを**ArcGIS Pro**で**API**連携して取得する方法を紹介しました．
 　**JAXA**は[G-portal](https://earth.jaxa.jp/gpr/)でも人工衛星のデータを提供していますが，このデータを取得し解析するためには，データの選択からダウロードをマニュアルで行うことが必要です．このようにAPI連携することで，スムーズにデータを取得できます．
  皆さんも衛星データの可視化や，空間軸および時間軸の解析を楽しんでみてください．
  ご不明な点などありましたら，お気軽にコメントいただけると嬉しいです．　励みになります．

## 参考
[JAXA Earth API](https://data.earth.jaxa.jp/ja/)
[Cloud Optimized GeoTIFF (COG) と Sentinel-2 オープンデータ](https://blog.esrij.com/2023/03/23/post-48603/)
[JAXA 地球観測衛星の軌道シミュレーション](https://www.satnavi.jaxa.jp/project/eo/orbit/)