見出し画像

23年10月以降はSentinel-2などへのデータアクセス方法が新しくなるって知ってました?


これまでのCopernicus Open Access Hubはクロージングへ

これまでSentinel-2のデータをダウンロードするのにsentinelsatというPythonのライブラリを利用していました。

このライブラリはCopernicus Open Access Hub経由でSentinel他の衛星画像データをダウンロードできる仕組みになっていましたが、そのHub自体が2023年10月以降はダウンするとのアナウンスがありました。

皆さん知ってましたか?

私?

私はもちろん、直前の今まで知りませんでしたよ(ニッコリ)

公式ページのキャプチャ。確かにclosingの文字がありますね

その時はそれほど重要視してなかったのですが、中のドキュメントを改めて見ていると、Pythonのsentinelsatというライブラリを使っているユーザーは影響があります、との記述がありました。

なるほど、こりゃ大変かも。

なので思わずつぶやいてしまいました。

少なくとも自作のSentinel-1, 2をダウンロードするスクリプトは影響があります。
そもそも、宙畑さんの所の記事を参考にしていたので、そこでsentinelsatライブラリを使っている訳ですから、影響も広そうです。

そこで気になって調べてみたんですが、日本でSentinel-2などのデータへのアクセスを解説している記事って、ほとんど全てsentinelsatを使っているみたいです。
(私調べで宙畑さんとかQiita中心ですが)

なので、2023年10月以降の新しいデータ取得方法については解説した記事があまり書かれていません。
なので、メモ代わりになりますがここに書いておこうと思います。
参考になれば幸いです。

新サイトでのユーザー登録が必要

簡単に言うと、今までのユーザー登録情報は使えないっぽいです。
こちらの新しいサイト(https://dataspace.copernicus.eu/)でユーザー登録をしたのち、OAuthのクレデンシャルを設定して新しいsentinelhubのライブラリを使ってください、という形になるようです。
私はCopernicus Open Access Hubのアカウントでログインしようとしましたが、弾かれました。

データ移行してくれれば有難かったのですが、無料で使えますし、おそらく登録した後利用しなくなったユーザーなどの情報を消去したかったのかもしれませんね。
ここは大人しくユーザー登録しましょう。

登録自体は一般的なもので、上のDocumentationを見ればわかるかと思います。
ユーザー認証にメールアドレスが必要となるので生きているメールアドレスを使いましょう。

新しいデータ取得方法はこちら

ここからはスクリーンショット多めで説明します。

ログインに時間がかかります

https://dataspace.copernicus.eu
こちらからログインすると、メインの画面が表示されいます。
ログイン動作がちょっと長いですが気長に待ちましょう。

一番右のDasboardsをクリック

一番右のダッシュボードを選択します。

左下のUser settingsをクリック

この画面ではCreditsなどの表示があるので、現時点ではある程度の量無料のアクセスはできますが、それ以上は有料のアカウントになってね、という感じでしょうか。
スクリーンショットでは10000となっていますが、私の現時点では30000になっていました。どこかにルールが載っていると思いますが、まだそこまで読み込んでいないので、知っている人がいたら教えて下さい。

先に進むため、User settingsを選択します。

OAuth clients欄の「Create new」をクリック

ここでようやく、OAuthの設定が出来るようになります。
画面右のcreate newボタンをクリックしましょう。

Client nameに自分で決めたアプリケーション名を入力してCreate clientをクリック

Client nameには適当な名称をいれます。これから作成するアプリケーション名でも入れておけば良いかと思います。
このボタンをクリック後、secretキーが表示されます。
これは2度と表示されないのでどこかにメモしておきましょう。
(secretキーを忘れてしまったら再びcreate newから新しく作成するしかありません)

動作確認方法

動作確認方法についてもマイグレーションガイドが公式に出ています。
こちらで確認すると良いかと思います。
私はそこからのリンクでJupyter Notebook内のmigration_from_scihub_guide.ipynb
を実行してみました。
(リンクが上手く貼れなかったのでプレーンテキストで書いておきます)

https://github.com/eu-cdse/notebook-samples/blob/c0e0ade601973c5d4e4bf66a13c0b76ebb099805/sentinelhub/migration_from_scihub_guide.ipynb

from utils import plot_image
の部分で上手く動作しないかもですが、その場合はmigration_from_scihub_guide.ipynbと同じ階層にあるファイル、utils.pyの中身であるplot_imageを直接notebookにコピペして関数定義すれば出来るかと思います。
また、ノートブック内のIn[4]にあるkeycloak_token = get_keycloak(username, password)の部分にusername, passwordをそれぞれ、自分のアカウント、パスワードを入れて実行するようにします。

最終的にはNDVIまで表示できました

これで最後のNDVIの表示まで確認できました。

使ってみた感想

NDVIなどはこれまで画像をダウンロードして、ローカルのPCで計算して出力していました。
それをEO Browserと同じように、evalscriptという形で計算をクラウドで行い、結果のみをダウンロードできるという形になったので、ローカルのPCの環境が貧弱な場合でも、処理をクラウドにオフロードできる、それが良いですね、と言う感想になります。

後はどれだけ使っても大丈夫か?という点が気になります。
今回上記のnotebookを実行して、REQUESTSが3、PROCESSING UNITSを21消費したらしいです。
現在30000あるクレジットからそれが差し引かれる訳ですが、この30000のクレジットは毎月無料枠があるのでしょうか?
説明を読み込んでいないので、これから無料枠についてどうなっているのか確認する所です。
それによってこのツールを使いこなすかどうかを見極めてみたいと思います。

使いこなすとなったら、下のライブラリでアクセスするようになりそうです。


補足: 他にもある衛星データへのアクセス方法

とここまで書いておいて何なんですが、Sentinelのデータであれば他にもデータ公開がされています。
最近、私はSentinel-2のデータがAWSで公開されているので、そちらも利用するようにしています。
Googleでも同じように公開されているので、そこも参考になるかもしれません。
AWSへのアクセス方法はまた別の機会に書いてみようかと思います。


と言う訳で、地図や衛星データの情報をまとめるべくnoteのマガジンを作りました!

私が共同代表を務めているGREEN OFFSHOREでは農業向けのIoTサービスを展開しています。
そちらにも様々な情報を展開しているので、ぜひ上記リンクをクリックしてみて下さい。



この記事が気に入ったらサポートをしてみませんか?