kakakakakku blog

Weekly Tech Blog: Keep on Learning!

SageMaker の地理空間機能を試そう: How to use SageMaker Processing with geospatial image

Amazon SageMaker が「地理空間 (Geospatial)」に特化した機能を限定的に(us-west-2 のみ)提供していることを最近知った🌍

aws.amazon.com

そして Amazon SageMaker Examples を確認したら地理空間機能を試せるサンプルがあったため,「How to use SageMaker Processing with geospatial image」を試してみた❗️

github.com

How to use SageMaker Processing with geospatial image の概要としては Amazon SageMaker Processing を使って SENTINEL-2 の衛星画像データから NDVI (Normalized Difference Vegetation Index) を計算する.NDVI は植物の反射の特性から簡易的に植生の状況を把握するために使う指標で,詳細は国土地理院のサイトなどに載っている🌿

www.gsi.go.jp

drone.kmtech.jp

実施前の注意点としては Amazon SageMaker の地理空間機能自体に課金体系があって「月額 150 USD」支払う必要があるところ.無料利用枠もあるけど,地理空間機能自体の利用履歴ではなく「Amazon SageMaker リソースを作成してから60日間」となり,過去に Amazon SageMaker の代表的な機能を使っていると即課金になってしまう.今回の Jupyter Notebook は Amazon SageMaker Studio Classic の ml.geospatial.interactive インスタンス上で動かすため,課金体系を調べてから慎重に使うと良いかなと💰

aws.amazon.com

学べたこと

boto3 に実装されてる SageMakergeospatialcapabilities は知らなかった💡今回は search_raster_data_collection 関数を使って SENTINEL-2 から北アメリカアイダホ州の衛星画像データを取得した.検索フィルタの AreaOfInterestGeometry に GeoJSON を設定するなど,位置情報に慣れていれば問題なく使えそう🌍

boto3.amazonaws.com

Amazon SageMaker Processing の ScriptProcessor で地理空間処理を実行する場合はコンテナイメージとして 081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest を指定する.現時点だと us-west-2(オレゴン)限定だしイメージ URL は固定のようだった.また準備として実行ロールに AmazonSageMakerGeospatialFullAccess マネージドポリシーをアタッチしておく必要もある👌

docs.aws.amazon.com

最終的に Amazon SageMaker Processing で計算した NDVI を Matplotlib で可視化する.場所的にはローウェル湖 (Lake Lowell) 周辺で,サンプルとして選ばれた 2022/03, 2022/06, 2022/07, 2022/08, 2022/09 を比較すると時期による NDVI の変化(3月は NDVI 低め)を確認できたりする👀

Example: NDVI for 03/2022

Example: NDVI for 06/2022

Example: NDVI for 07/2022

Example: NDVI for 08/2022

Example: NDVI for 09/2022

その他

Jupyter Notebook の CI Badge が古くてエラーになっていたのは直してプルリクエストを送っておいた✅

github.com

まとめ

月額課金もあって気軽に試しにくくはあるけど,他にもまだまだ地理空間機能があって興味はあるので勉強していこう❗️

docs.aws.amazon.com

関連記事

位置情報などを基礎から学ぶなら「現場のプロがわかりやすく教える位置情報エンジニア養成講座」がおすすめで過去に書評記事を書いた📕

kakakakakku.hatenablog.com