2022/3/31TellusのCOG形式のAPIを使って、ASNARO-2の画像を重ね合わせて前後の変化抽出を実施してみたTellusの公式データとして無料公開しているASNARO-2のSARデータについて、前後比較のサンプルコードを紹介します。記事作成時から、Tellusからデータを検索・取得するAPIが変更になっております。該当箇所のコードについては、以下のリンクをご参照ください。OSでのデータの閲覧方法など使い方が一部変更になっております。OSの基本操作は以下のリンクをご参照ください。Traveler上で扱える衛星データについて、ASNARO-2を題材にデータの確認方法についてご紹介しました。Traveler上で衛星データを扱う方法としては主に2つ、ブラウザ上で閲覧する方法とAPIを利用する方法があります。GeoTIFF)と呼ばれるクラウド対応のGeoTIFFに対応しているため、欲しい領域のみを指定して取り出すことも可能です。今回はこの方法についてご紹介します。本解析の実施にはTellusの開発環境の申し込みが必要となります。お問い合わせからお申し込みをお願いします。被災状況を捉えた画像と復興が進む様子を捉えた画像の2枚を合成して、両者の差分を取る解析を行います。この図はSAR画像の前後比較の原理を示しています。前の画像を青く、後の画像を赤く色づけて画像を合成するとどちらかの画像にしかなかったものが色づいて見えます。この例では、リンゴはBeforeの画像にはなくAfterの画像で増えているので合成した画像では「赤」で表現され、反対にBeforeの画像にあったフォークはAfterの画像ではなくなっているので合成した画像では「青」に見えます。どちらの画像にもあるお皿は合成された画像では「白」く見えます。逆にどちらの画像でも何もない(電波が返ってこない)部分は「黒」に見えます。このように、時刻の異なる2枚の画像をそれぞれ青と赤に着色して合成することで、その時間で何が変わったのかを知ることができるのです。解析の流れ以下の3つのステップに沿って解析を行います。1衛星データの検索Tellus上で、場所の情報を指定して該当する衛星データを検索します。2衛星データのダウンロード1で見つけた画像をTellus上の開発環境にダウンロードします。※今回扱うASNARO-2はTellus外へのデータの持ち出しが禁止されているデータであるため、Tellusに開発環境を用意の上、そこへダウンロードします。32枚のデータを合成し、PNG形式で出力する取得してきた2枚のデータを重ね合わせて差分が見えるように表示します。それでは、それぞれのステップ毎に解説していきます。1衛星データの検索まず実施するのは衛星データの検索です。必要なライブラリをインポートします。json条件に合致するデータを探す関数は以下の通りです。json.loads(r.content)続けて、データを探すための検索条件を設定します。扱うため、該当のエリアの緯度経度情報が必要となります。OS上で該当のエリアを多角形で囲み、geojson形式でエクスポートしました。このファイルをテキストエディタなどで開いてみると、以下のように緯度経度情報が含まれていることが確認できます。m"}}この中から、必要な情報を取り出し、検索条件としてセットします。retdatasets(データセット)とあるのは、Tellus上でのデータの種類のことで、後ほど、ASNARO-2を指定します。ここまでできたら、データの検索を実行します。APIの実行にはトークンの発行が必要です。こちらを参照の上、それぞれのアカウントに紐づいたアカウントの発行を行ってください。データセットIDはTellus上のデータセット詳細ページから確認できます。print(ret)実行すると、以下のような結果が得られます。1000}}}}少々見づらいですが、条件に合致するシーンが2つあることが分かります。idが「7d47301d-9533-4be2-a010-31a86912e865」の2020-09-05に撮影されたデータと、id「2c9ccde2-3a8c-4cd2-aac5-4f0c3b33a4a4」で2018-09-08に撮影されたデータです。2018年9月6日なので、その2日後の画像と2年度の画像があるということが分かります。8498となっています。これは、衛星がどの軌道からどの場所を撮影したかを示していて、この数値が一致している画像同士の前後比較は比較的容易と言われています。撮影月がどちらも9月である点もポイントです。季節が違う2枚の画像を比較すると、北海道であれば雪や、農業をしているエリアでは作付けの状況など、前後比較したい対象(今回の場合は地震)以外の情報も差分として抽出されてしまうため、可能な限り時期を合わせた比較が望ましいと考えられます。今回は該当画像が2枚だったため、特にこれ以上絞り込む必要はありませんが、もし画像が複数存在する場合には、これらの観測条件も加味して、前後比較する2枚を決めると良いでしょう。2衛星データのダウンロード続いて、見つけた画像(シーン)をTellus環境上にダウンロードしてくるステップです。travelerのAPIでは、実際にダウンロ―ドしてくるファイルIDを指定し、有効期限付きのURLを発行して、所定のファイルをダウンロードするという手順になります。先ほど見つけた画像(シーン)は複数のファイルで構成されているため、シーンの中に含まれるファイルIDを確認する必要があります。json.loads(r.content)ファイルIDが分かったら、ダウンロード用のURLを発行します。json.loads(r.content)['download_url']上記の関数を組み合わせて、ダウンロードを実行する関数は以下の通りです。f.flush()前の章で見つけたデータのシーンIDを指定して、ダウンロードを実行します。TOKEN)画像の取得には多少時間がかかります。ダウンロードが完了すると、同じフォルダ内にシーン毎に画像が保存されます。シーンの中に様々なファイルが含まれていることがお分かりいただけるかと思います。リモートセンシングの解析に使うのは最もファイルサイズの大きい「SOR-IMG-HH-AS200355208498-180908___-SP2R1.1__A_.tif」ですが、今回は簡単のため、ブラウザ表示用に作られている「AS200355208498-180908_webcog.tif」を用いて解析を行うことにします。32枚のデータを合成し、PNG形式で出力するダウンロードしてきた画像から、今回必要な場所のみ切り出し、PNG形式で表示させます。こちらもまずはライブラリをインポートします。Image指定してきた範囲を切り出す関数は以下の通りです。IMG_IN)2でダウンロードしたファイルを指定して、切り出した上で、赤青合成を行い、PNGで表示させます。print("DONE!")出力された画像は以下の通りです。Corpotration2年という期間があいてしまっているため、山の木の状態などが異なり、全体的に青みがかっていますが、画像中央に赤く見えるポイントがあり、発災から2年が経過し、土砂崩れの被害があった場所から土砂が撤去され、建屋が増強されているようにも見えます。TravelerのAPIを使ってSAR画像の前後比較を行うコードをご紹介しました。Traveler上に他にもありますので、ぜひ探してみてください。希望の場所や時期に画像がない場合、購入することも可能です。Tellusまで、お問い合わせください。Traveler」という衛星データを検索・購入・保存できる機能が搭載されました。これまでのアップデート内容とともに、今回追加された機能についてご紹介します。Tellusの衛星データ用いて検出結果を確認する前回の記事で学習させたモデルを使って、Tellus上の画像を使って石油タンクの検出ができるか試してみます。2022/3/31特定外来生物のデータを使ってヌートリアの出現スポットを探してみるTellusマーケットで公開されている、特定外来生物の発見データと、衛星データを組み合わせて、どのような場所で特定の生物が出没しやすいのか、考察しました。