Jupyter Lab を使ってみよう

JupyterLab は、コード、データ、そして Jupyter Notebook のファイル形式(*.ipynb)を扱う最新の対話型開発環境(IDE)です。Jupyter Notebook 同様、オープンソースとして公開されています。
ArcGIS API for Python(以下、Python API )のバージョン 1.5.0 以降で対応しています。バージョン 2.4.0 以降は Jupyter Lab 4.0 に対応しています。

JupyterLab で GIS データとグラフの操作

JupyterLab は、より柔軟で強力なユーザー体験を実現するために Jupyter Notebook の主要コンポーネント (ノートブック、ターミナル、テキスト エディター、ファイル ブラウザー、ipywidgets など) をベースに構築されています。JupyterLab の詳細は JupyterLab のドキュメントGitHub をご参照ください。

JupyterLab をはじめる

Python API を JupyterLab で使用するためには、いくつかインストールなどの設定が必要です。

インストール

  • バージョン 1.5.0 以上の Python API をインストールするか、既存の環境を 1.5.0 以上にアップデートする ターゲットの仮想環境がある場合は、アクティベート(activate)してから行います。Python API のインストールまたはアップデートの方法はインストールガイドをご覧ください。

  • 次の 2 つのコマンドを実行します

    • jupyter labextension install @jupyter-widgets/jupyterlab-manager
    • jupyter labextension install arcgis-map-ipywidget@バージョン番号

2 つ目のコマンドの最後にある「バージョン番号」部分は、使用する Python API のバージョンに合わせて変更してください (例:1.6.1)。
エラー等で正常に完了できない場合は、お使いの端末または現在の環境に npm および nodejs をインストールする必要があります。インストールの詳細は npm のウェブサイト、または node.js のウェブサイトを参照してください。

  • 以上の設定が完了したら、次のコマンドで JupyterLab を起動します。
    • jupyter lab

任意のディレクトリをルート ディレクトリとして起動したい場合は、cd コマンドでディレクトリを移動してから起動コマンドを実行します。

ファイルエクスプローラー

JupyterLab は、従来の Jupyter Notebook のように、既存のノートブックを開いたり、新しいノートブックを作成したり、コンテンツを整理するためのファイルエクスプローラを備えています。 JupyterLab のファイルエクスプローラは、メインビューの左側のウィンドウです。

JupyterLab も Jupyter Notebook と同様に、ノートブック形式(*.ipynb)で動作しコードや結果を保存できます。この 2 つのツールの違いは、主にユーザーインターフェースといくつかの外部エクステンションが追加された点です。

ウィンドウとタブを使用する

JupyterLab には、Jupyter Notebook とは違って、「ウィンドウ」と「タブ」という概念があります。 これにより、ノートブックを重ねたり、横に並べたり、タブで整理したりすることができます。これらの操作は、以下のように「タブ」をクリックしてドラッグするだけで可能です。

どのようなウィンドウでもこのようにドラッグすることが可能です。*.csv、*.json などのファイルも表示や編集することができます。

セルの使用

上記のウィンドウとタブと同様に、JupyterLab ではノートブックのセルをドラッグアンドドロップして移動することができます。 JupyterLab は、1 つのノートブックから別のノートブックにセルをドラッグする機能もサポートしています。 移動したいセルの左側の領域をクリックして、それをドラッグします。

JupyterLab では、Shift キーを押しながら複数のセルを選択することもできます。前述のようにこれらのセルを移動するか、右クリックして [Copy Cells] を選択してコピーします。また、右クリックのメニューには、[Create New View For Output] を含む多くのオプションがあります。[Create New View For Output] を使用すると、任意のセルの実行結果を別のタブで表示することができ、重ねたり、並べて表示したりすることができます。

JupyterLab には他にも様々なセルの操作ができるので、いろいろと探してみてください!

マップ ウィジェットとの連携

バージョン 1.5.0 以上の Python API では、2D 回転、3D モード、3D レンダラーのサポートなどマップ ウィジェットの機能が多数追加されています。これらの機能の詳細については、ガイド ページの Advanced Map Widget Usage で紹介しています。

Python API の Map クラスのデフォルトの表示動作は、Jupyter Notebook と同じで、ウィジェットはセルの出力にマップが表示されます。

実際にコードを試してみましょう。
以下のセルを実行します。

from arcgis.gis import GIS

# JupyterLab へ地図を表示する
gis = GIS()
map = gis.map()
map

Web マップや Web シーン も表示することができます。

from arcgis.map import Map
webmap_item = gis.content.get("<Web マップのアイテム ID>")
webmap = Map(webmap_item)
webmap
from arcgis.map import Scene
webscene_item = gis.content.get("<Web シーンのアイテム ID>")
webscene = Scene(webscene_item)
webscene

より詳細な情報は、ガイド ページの Working with web maps and web scenes を参照してください。