もう使った?Tellus Travelerの利用方法~ASNARO-2の災害データセットを見てみる~
Tellus Travelerでの衛星データの確認方法について、ASNARO-2の画像を例にご紹介します!
記事作成時から、Tellusからデータを検索・取得するAPIが変更になっております。該当箇所のコードについては、以下のリンクをご参照ください。
https://www.tellusxdp.com/ja/howtouse/access/traveler_api_20220310_
firstpart.html
2022年8月31日以降、Tellus OSでのデータの閲覧方法など使い方が一部変更になっております。新しいTellus OSの基本操作は以下のリンクをご参照ください。
https://www.tellusxdp.com/ja/howtouse/tellus_os/start_tellus_os.html
2021年10月にリリースしたTellus Satellite Data Traveler(Tellus Traveler)は皆さんすでに使いこなしていらっしゃいますでしょうか。
タイミングを逃してしまったよという方、Tellus OSとの違いが分からないよという方(そうですよね、申し訳ありませんそれは追々、、、by中の人)もいるのではないかと思いますので、本記事では改めてTellus Travelerの使い方をご紹介していきたいと思います。
Tellus Travelerの利用方法は大きく3つあります。
①無料公開されているTellus公式衛星データをブラウザ上で検索・閲覧する
②無料公開されているTellus公式衛星データのダウンロードURLを取得する
③有料販売されている衛星データを探す・見積依頼を出す
このそれぞれについて、ASNARO-2を題材にしてご紹介をしていきたいと思います!
Tellusのユーザー登録をしていない方は、この機会に登録をお願いします。
https://www.tellusxdp.com/market/sign_up
ログイン後、ヘッダーの「サービス」から「Tellus Traveler」を選択します。
Tellus Satellite Data Travelerの画面が開きます。
ここから、Tellus Travelerの様々な機能にアクセスできます。
ASNARO-2の災害データセットを見てみる(ブラウザ編)
まずは、従来のTellus OSと同じようにブラウザ上で衛星データを確認していきます。
先ほど開いたTellus Traveler上の画面の中央に配置されている「衛星データを見る」をクリックします。
Tellus Travelerの世界地図(viewer)が表示されます。
左上にある虫眼鏡マークをクリックすると、衛星データを検索するためのウィンドウが展開します。
今回はASNARO-2のデータをブラウザ上で見ていくので、「【Tellus公式】ASNARO-2_L2.1」にチェックを入れて、「検索」ボタンをクリックします。
地図上に該当する衛星データが青い枠で表示され、その詳細が左側に表示されます。
今回の結果を見ると、北海道の石狩地方、厚真町と、福島県、愛知県にデータがあることが確認できます。この中で今回災害データセットとして搭載しているのは厚真町と福島県のデータになります。
北海道の厚真町の青い枠をクリックすると、シーンの情報が表示されます。
近づいてみると2枚あることが分かります。
一つは、発災直後のデータ(2018年09月08日)でもう一つが、2年後(2020年09月05日)のデータです。
この2枚の画像を比較するために、この2つの画像をブラウザ上で表示してみます。
左の枠の中の「レイヤー表示」のボタンを押下します。
この操作を2枚の画像それぞれで行います。
一番左の虫眼鏡のマークの下にあるリストのようなマーク「レイヤー」に移動し、「レイヤーに移動」を押した2枚の画像が入っていることが分かります。
2枚の比較は左の枠の中のそれぞれの目のマークをクリックすることで、それぞれの画像のONとOFFを切り替えられます。
当時ニュースでも大きな話題となった、富里浄水場を比較したものが上図になります。
発災直後土砂で埋まってしまっている富里浄水場の周辺が、2年経ち土砂の撤去が進んでいることが確認できます。
AOI検索をつかってみる
ASNARO-2の災害データセットを見てみる(API編)
今回ご紹介するASNARO-2については、データポリシーにより、Tellusの外への持ち出しを許可されていません。許可されているデータの場合には、データ詳細の下部に「ダウンロード」ボタンが表示されているので、こちらのボタンを使って、データのダウンロードを行ってください。
Tellus内部のみで利用できる衛星データの場合は、Tellusが提供する開発環境からAPIを使って、データの取得と解析を行います。
Tellusの開発環境は、Tellusお問い合わせ窓口からリクエストを送ってください。
Tellus TravelerのAPIリファレンスはTellus Travelerトップの中ほど「リファレンスを見る」からアクセス、もしくは以下のURLからアクセスして下さい。
https://www.tellusxdp.com/docs/travelers/
必要なライブラリをインポートします。
import os
import requests
import json
データセットIDとデータIDから、ファイル名を取得します。
#データセットIDとデータIDから、ファイル名を取得
def get_dataset_data_by_id_files(base_path, token, dataset_id, data_id):
print(base_path, token, dataset_id, data_id)
url = '{}/api/traveler/v1/datasets/{}/data/{}/files/'.format(
base_path, dataset_id, data_id)
headers = {
'Authorization': 'Bearer ' + token,
'content-type': 'application/json'
}
r = requests.get(url, headers=headers)
assert r.status_code == 200
return json.loads(r.content)
ダウンロードするファイルを指定して、ダウンロードURLを取得します。
#ダウンロードURLの取得
def get_dataset_data_by_id_files_by_id_download_url(base_path, token, dataset_id, data_id, file_id):
url = '{}/api/traveler/v1/datasets/{}/data/{}/files/{}/download-url/'.format(
base_path, dataset_id, data_id, file_id)
headers = {
'Authorization': 'Bearer ' + token,
'content-type': 'application/json'
}
r = requests.post(url, headers=headers)
assert r.status_code == 200
return json.loads(r.content)
上記二つを使って、所定のファイルをダウンロードしてくる関数です。
def download(scenes, dataset_id, token, dist='./', base_path='https://www.tellusxdp.com'):
for scene_id in scenes:
files = get_dataset_data_by_id_files(
base_path, token, dataset_id, scene_id)
print(files)
rawdata = files['results']
path = os.path.join(dist, scene_id)
if len(rawdata) > 0:
for file in rawdata:
file_id = file['id']
file_name = file['name']
file_path = os.path.join(path, file_name)
download_url = get_dataset_data_by_id_files_by_id_download_url(
base_path, token, dataset_id, scene_id, file_id)['download_url']
r = requests.get(download_url, stream=True)
if not os.path.exists(path):
os.makedirs(path)
with open(file_path, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
f.flush()
まずはデータセットIDを入力します。
データセットIDは先ほどのTellus Travelerの該当シーンを表示させた状態で、「取得シーン詳細」を押下
続けて、「データセット詳細」を押下することで確認できます。
【Tellus公式】ASNARO-2_L2.1の場合のデータセットIDは10402ffd-fb70-4625-9b46-63cec87cd5a9です。
#データセットIDを入力
dataset_id='10402ffd-fb70-4625-9b46-63cec87cd5a9'
シーンIDも先ほどの取得シーン詳細に記載されています。
#シーンIDを入力(travelerで探してコピーしてくる)
# https://www.tellusxdp.com/traveler/viewer/
scenes = [
'2c9ccde2-3a8c-4cd2-aac5-4f0c3b33a4a4',
'7d47301d-9533-4be2-a010-31a86912e865'
]
画像を取得するためには、Tellus登録をした上で、ユーザーごとのトークンを発行しておく必要があります。トークン発行の詳細はこちらを確認してください。
#トークンはダッシュボード>開発環境>APIアクセス
token = 'xxxxxxxxx'
download(scenes, dataset_id, token)
こちらでTellusの環境内にASNARO-2の画像がダウンロードできました。
Tellus Travelerから衛星データをリクエストしてみる
もし、Tellus Traveler上で欲しい場所や時期のデータが公開されていない場合、販売されている可能性があります。
最後にTellus Traveler上で衛星データを購入する方法もお伝えします。
Tellus Travelerのトップページから「衛星データを買う」をクリックします。
検索ウィンドウで検索したいデータセットにチェックを入れ、シーンの検索を行います。
検索結果から購入したいシーンにカートに追加を押します。
ヘッダーのカートボタンを押し、カートの内容を確認し、確認ボタンをクリックします。
購入内容を確認し、問題なければ、個人情報の第三者提供ボタンにチェックを入れ、見積依頼ボタンをクリックします。
のちほど、担当者からメールにて連絡が来ます。
もし、購入できるシーンの一覧にも欲しいデータがない場合には、個別のリクエストをお伺いすることになります。詳しくは、お問い合わせください。
まとめ
本記事では、ASNARO-2の衛星データを題材に、Tellus Travelerの使い方を紹介しました。
ぜひ、本記事を参考にTellus Travelerで衛星データの閲覧や解析を実施してみてください。