たぶん動く...

多分GIS系の人。あくまで個人的見解であり、所属団体を代表するものではありません。

GCOM-C データをCloud Optimized Geotiffにしてみる S3で配信する

久々の衛星データ
ネタGCOM-CのデータをCloud Optimized Geotiff (以下COG)にして、AWS S3でホストしてみます。

今回はL1Bデータを利用します。

Geotifffファイル作成

まずはダウンロード

wget -c --user={USER ID} --password=anonymous ftp://ftp.gportal.jaxa.jp/standard/GCOM-C/GCOM-C.SGLI/L1B/2/2023/02/15/GC1SG1_202302150131E05010_1BSG_VNRDQ_2007.h5
python3 L1.py GC1SG1_202302150131E05010_1BSG_VNRDQ_2007.h5 GC1SG1_202302150131E05010_1BSG_VNRDQ_2007_color.tif

使用したプログラムはこちら
GitHub - TTY6335/SGLI_L1: JAXA GCOM-C SGLI Level1 hdf5 to EPSG:4326 geotiff converter

バンド3,5,8を使用してカラー画像を作成しました。

COGファイル化

今回はgdalコマンドでCOG化します。

gdal_translate GC1SG1_202302150131E05010_1BSG_VNRDQ_2007.tif COG/GC1SG1_202302150131E05010_1BSG_VNRDQ_2007.tif -of COG -co COMPRESS=LZW

配信する際の容量を減らすため非可逆圧縮のLZWを引数に与えます。 圧縮しない場合は COMPRESS=NONEを指定します。圧縮することで容量が約半分になります。

S3から配信する

S3で静的サイトをホスティングする方法でパブリックアクセスを設定します。

CloudFrontを利用して配信する

CloudFrontを利用することで、2回目以降の読み込みがCloudFrontから返されるので読み込み速度が向上し、S3から読み取る回数を減らすことができます。

CloudFrontから「ディストリビューションの作成」をクリック

オリジナルドメインからS3バケットを指定します。 設定の料金クラスでは、日本国内からのアクセスを想定しているので、「北米、欧州、アジア、中東、アフリカを使用」を選択しました。

ディストリビューションが作成されていれば完成です。

以下が今回作成したCOGのCloudFrontの配信URLです。
https://dmyykljrevyqj.cloudfront.net/SGLI/L1/GC1SG1_202302150131E05010_1BSG_VNRDQ_2007.tif
https://dmyykljrevyqj.cloudfront.net/SGLI/L1/GC1SG1_202302150135J05011_1BSG_VNRDQ_2007.tif
https://dmyykljrevyqj.cloudfront.net/SGLI/L1/GC1SG1_202302150312D08410_1BSG_VNRDQ_2007.tif

QGISで読み込む

上部タブのレイヤ -> レイヤを追加 -> ラスタレイヤを追加 をクリックします。

ソースタイプは「プロトコル」、データ型は「HTTP/HTTPS/FTP」、URIはCloudFrontのURLを入力します。

読み込まれれば完了です。

参考文献

Developer's Guide to COG

Amazon S3 を使用して静的ウェブサイトをホスティングする - Amazon Simple Storage Service

CloudFront を使用して Amazon S3 でホストされた静的ウェブサイトを公開する

CloudFrontとS3で作成する静的サイト構成の私的まとめ | DevelopersIO