Amazon SageMaker が「地理空間 (Geospatial)」に特化した機能を限定的に(us-west-2 のみ)提供していることを最近知った🌍
そして Amazon SageMaker Examples を確認したら地理空間機能を試せるサンプルがあったため,「How to use SageMaker Processing with geospatial image」を試してみた❗️
How to use SageMaker Processing with geospatial image の概要としては Amazon SageMaker Processing を使って SENTINEL-2 の衛星画像データから NDVI (Normalized Difference Vegetation Index) を計算する.NDVI は植物の反射の特性から簡易的に植生の状況を把握するために使う指標で,詳細は国土地理院のサイトなどに載っている🌿
実施前の注意点としては Amazon SageMaker の地理空間機能自体に課金体系があって「月額 150 USD」支払う必要があるところ.無料利用枠もあるけど,地理空間機能自体の利用履歴ではなく「Amazon SageMaker リソースを作成してから60日間」となり,過去に Amazon SageMaker の代表的な機能を使っていると即課金になってしまう.今回の Jupyter Notebook は Amazon SageMaker Studio Classic の ml.geospatial.interactive
インスタンス上で動かすため,課金体系を調べてから慎重に使うと良いかなと💰
学べたこと
boto3 に実装されてる SageMakergeospatialcapabilities
は知らなかった💡今回は search_raster_data_collection
関数を使って SENTINEL-2 から北アメリカアイダホ州の衛星画像データを取得した.検索フィルタの AreaOfInterestGeometry
に GeoJSON を設定するなど,位置情報に慣れていれば問題なく使えそう🌍
Amazon SageMaker Processing の ScriptProcessor で地理空間処理を実行する場合はコンテナイメージとして 081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest
を指定する.現時点だと us-west-2(オレゴン)限定だしイメージ URL は固定のようだった.また準備として実行ロールに AmazonSageMakerGeospatialFullAccess マネージドポリシーをアタッチしておく必要もある👌
最終的に Amazon SageMaker Processing で計算した NDVI を Matplotlib で可視化する.場所的にはローウェル湖 (Lake Lowell) 周辺で,サンプルとして選ばれた 2022/03, 2022/06, 2022/07, 2022/08, 2022/09 を比較すると時期による NDVI の変化(3月は NDVI 低め)を確認できたりする👀
その他
Jupyter Notebook の CI Badge が古くてエラーになっていたのは直してプルリクエストを送っておいた✅
まとめ
月額課金もあって気軽に試しにくくはあるけど,他にもまだまだ地理空間機能があって興味はあるので勉強していこう❗️
関連記事
位置情報などを基礎から学ぶなら「現場のプロがわかりやすく教える位置情報エンジニア養成講座」がおすすめで過去に書評記事を書いた📕