開発環境を導入する

はじめに

衛星データプラットフォームTellusは、2019年2月からPythonを使ったデータ分析で使われることの多いJupyter Notebookを用いることで解析できるクラウド環境の提供を始めました。2019年6月からはJupyterLabにアップデートし、Rでの解析にも対応しました。

この環境を利用することで、Tellusに搭載されているAPIを利用することできる他、様々な解析をすることができるようになります。

本記事では、TellusのJupyterLabについてご紹介します。

access_ways_20200226.png

Tellusには、大きく2種類のアクセス方法があります。

1つはブラウザ上に表示した地図上に様々なデータを重ね、操作できるTellus OS、もう1つはプログラミングでデータを解析する開発環境(以下、JupyterLab)です。

Tellusの開発環境では、各種データとJupyterLabがAPIで連携しています。そのため、JupyterLab上からプログラミングによりAPIがデータベースへ橋渡しをすることで、任意のデータを取得し、解析することができます。

Tellusではコンピューティングはクラウドと専用サーバーを選択できるようになっています。サーバーのスペックによっては大規模な計算も行うことができます。

JupyterLabの利用申請

初めに会員登録しましょう。登録後ユーザー名が右上に現れます(Tellusとなっている部分がユーザー名になります)


devbasic1_20200220_10.png

次に、ログインした状態でユーザー名をクリックしましょう。ダッシュボードを選択し、ページを移動します。ダッシュボード内でアカウント管理を選択、開発環境の申し込みをクリックしましょう。

devbasic1_20200224_5.png

開発環境申し込みから必須事項を記入して申請します。

devbasic1_20200220_15.png

提供準備が整い次第、Tellus窓口からメールが届きます。

※提供できるコンピューティングリソースに限りがある都合上、お申し込み状況によっては提供までにお時間を頂戴する場合がございます。

提供のお知らせが届きましたら、以下の手順通りに操作を進めてログインを行ってください。

Jupyterログイン画面.png

開発環境へは画面右上にあるユーザー名をクリックすれば移行できます。

devbasic1_20200220_2.png

開発環境(jupyter)へログインするためには、自分のアクセストークンを知っておかなければなりません。アクセストークンは下図3に記載されています。

devbasic1_20200224_4.png

ログイン後、JupyterLabから各種データのAPIを利用するためには、お客様ご自身でトークンの設定が必要となります。
こちらはユーザーマイページから設定します。下図に沿ってAPIアクセス設定をし、API利用時に必要なトークンを作成をお願いします。
任意の文字列を空欄に入力することにより(下の例ではtestに対してキーを作成)、トークンが取得できます。

各チュートリアルで
TOKEN = "ここにあなたのAPIアクセストークンを貼り付けてください"
となっているところに、取得したトークンをコピペすることで、各データを取得できるようになります。

devbasic1_20200224_2.pngdevbasic1_20200224_3.png

JupyterLabのデフォルトディレクトリを見る

JupyterLab環境にログインすると、いくつかのディレクトリがあります。それぞれのディレクトリは下記のような構成になっています。

devbasic1_20200220_14.png

  • /examples:編集不可のサンプルコードが入っています。本記事の画像解析は、そのサンプルコードを用いて試すことが可能です。
  • /tellus_data:Tellus OSからJupyterLabに送信したデータが置かれるディレクトリです。
  • /work :ユーザーの解析用notebookを作ることができるディレクトリです。notebookは外部からもインポートすることができます。

work以外のディレクトリは読み取り専用モードになっています。そのため、新しく作られたファイルなど、全てがworkのディレクトリ下に保存されることになります。

基本的なライブラリはプリセットでインストールされていますが、上記画面にてTerminalを開けば、pip、condaコマンドでライブラリの追加インストールが可能です。

※但し、work、tellus_dataディレクトリ以外は、アップデートなどでリセットされる場合も考えられます。それ以外のディレクトリのファイルなどで残しておきたいものは、自らローカルにメモするなどの方法で残す必要があるでしょう。

統合開発環境でできること

JupyterLabを利用した開発環境では、様々なことができます。下に挙げているのはあくまで一例であり、ユーザーの目的に応じて柔軟な解析が可能になっています。

(a)光学画像の取得(拡大画像も取得)

devbasic1_20200220_8.png

ASNARO-1の衛星画像。左(拡大前)と右(拡大後)
Original data provided by NEC

(b)光学画像の波長帯を調節

devbasic1_20200220_3.png

AVNIR-2衛星画像。左(True color)、右(False color)
Original data provided by JAXA

(c)複数の画像を結合

devbasic1_20200220_4.png

SLATSの衛星画像を連続して結合したもの
Original data provided by JAXA

(d)衛星画像のクリッピング

devbasic1_20200220_1.png

画像の一部を切り出す
Original data provided by JAXA

(e)衛星画像の時系列比較

devbasic1_20200220_12.png

左(2007年8月)、右(2008年8月)の同地点の水田の状態を比べたもの
ASTER GDEM提供:METI and NASA

(f)衛星から標高データを取得

devbasic1_20200220_6.png

任意地点に対して標高情報を持ったタイルを抽出。それらの高さをヒストグラムで表示
ASTER GDEM提供:METI and NASA

さあ、開発環境を始めましょう。