Oracle Spatial Studio で駅データを表示してみた


はじめに

Oracle Spatial Studio (Spatial Studioとも呼ばれます)は、Oracle Database のSpatial機能によって保存および管理されている地理空間データに対して接続、視覚化、調査および分析を行うためのフリー・ツールです。Spatial Studioは従来、Spatial and Graphとして有償オプションでしたが、現在はOracle Databaseの標準機能として追加費用なくご利用いただけます。
本記事では Spatial機能を用いた地理空間データの活用の方法をご紹介します。

前提条件

1. Oracle Spatial Studioのクラウド上での構築

まず、Spatial Studioのメタデータを格納するリポジトリとなるデータベース・スキーマを作成します。これは、データセット、分析、プロジェクトの定義など、Spatial Studioで行う作業を格納するスキーマです。

1-1. リポジトリ用にスキーマを作成する

  1. OCIコンソールからDatabase ActionsでADMINユーザーとしてSpatial Studioリポジトリに使用するADBに接続します。

  2. 以下のコマンドでリポジトリ・スキーマを作成します。スキーマには任意の名前を付けることができます。ここではstudio_repoという名前で作成します。後の手順で使用するため、設定したパスワードをメモしておきます。

    CREATE USER studio_repo IDENTIFIED BY <password>;
    

1-2. 表領域クオータを割り当てる

  1. デフォルトの表領域dataをstudio_repoに割り当てます。

    ALTER USER studio_repo DEFAULT TABLESPACE data;
    
  2. 表領域クォータをstudio_repoに割り当てます。今回は250Mで設定しますが、他のデータセットを試す場合は、無制限(UNLIMITED)に設定することもできます。

    ALTER USER studio_repo QUOTA 250M ON data;
    

1-3. 権限の付与

作成したstudio_repoに権限を付与します。

    GRANT CONNECT,
          CREATE SESSION,
          CREATE TABLE,
          CREATE VIEW,
          CREATE SEQUENCE,
          CREATE PROCEDURE,
          CREATE SYNONYM,
          CREATE TYPE,
          CREATE TRIGGER
    TO studio_repo;

これで、studio_repoスキーマをSpatial Studioのリポジトリとして使用する準備が整いました。

1-4. ウォレットのダウンロード

Spatial Studioが、作成したADBリポジトリ用スキーマに接続するには、ウォレットが必要です。
クレデンシャル・ウォレットを利用して接続してみよう を参考に、ウォレットをダウンロードします。

1-5. マーケットプレイスからSpatial Studioを選択する

  1. 左上のハンバーガーメニューをクリックして、[マーケットプレイス]を選択します。

  2. 『Spatial Studio』と検索し、Oracle Spatial Studio をクリックします。

  3. 利用規約に同意して、[スタックの起動]をクリックします。

1-6. スタックウィザードの作成

  1. スタックに任意の名前と説明を追加し、コンパートメントを選択します。

  2. 可用性ドメインとインスタンスのシェイプを選択します。Compute Shapeの詳細はこちらです。

  3. HTTPSポートとSpatial Studio Adminのユーザー名をデフォルトから変更することができます。Spatial Studio Adminの認証には、OCI Vault またはパスワードを使用できます。下の画像は、パスワードを使った例です。なお、本番環境では、OCI Vault を使用することをお勧めします。
    設定ができたらスクロールダウンして、「ネットワークの設定」のセクションに進みます。

    (補足)
    デフォルトでは、Spatial Studio の 管理ユーザー名は admin です。これはSpatial Studioのアプリケーション・ユーザーであり、『1. Spatial Studioリポジトリのデータベースユーザー作成』で作成したリポジトリ・スキーマ用のデータベース・ユーザー名(studio_repo)とは異なります。

  4. ネットワークについては、新しいVCNを自動的に作成する、もしくは既存のVCNを作成します。
    下の図は、新たにVCNの作成した例です。既存のVCNを使用するには、上記ステップ2で選択したのと同じ可用性ドメイン内にある必要があります。他に既存のVCNがない場合は、残りの項目はデフォルトのままで構いません。既存のVCNがある場合は、競合を避けるためにCIDR値を変更してください。

  5. ssh公開鍵をロードします。

  6. 入力した内容を確認します。修正が必要な場合は、[前]をクリックします。問題ない場合は、[作成]をクリックします。

1-7. 初回ログイン

  1. 作成したスタックの情報を確認します。ハンバーガーメニューから[開発者サービス]→[スタック]を選択します。

  2. 以下のようにOracle Spatial Studioというスタックが作成されています。合わせてジョブが作成されるので、ジョブの名前をクリックします。

  3. 正しく作成されていれば、以下のようにログが表示されます。

  4. ログセクションの一番下までスクロールダウンします。完了すると、「Apply Complete!」と表示され、続いてインスタンスの詳細が表示されます。最後に表示されているのは、Spatial StudioのパブリックURLです。このURLをコピーして、ブラウザに貼り付けます。

  5. Spatial Studioの公開URLを初めて開くと、プライバシーとセキュリティに関するブラウザの警告が表示されます。具体的な警告内容は、お使いのプラットフォームやブラウザによって異なります。
    これはSpatial Studioの問題ではなく、署名付きのHTTPS証明書を持たないWebサイトへのアクセスに共通するものです。署名された証明書をロードして構成すると、この警告は解除されます。
    リンクをクリックすると、ウェブサイトに移動します。

  6. Spatial Studio の 管理ユーザー名(デフォルトはadmin)と、『1-6.スタックウィザードの作成』で入力したパスワードを入力します。そして、[Sign In]をクリックします。

  7. Spatial Studioインスタンスへの最初のログイン時に、メタデータ・リポジトリとして使用するデータベース・スキーマの接続情報の入力が求められます。『1-1. リポジトリ用にスキーマを作成する』で作成したスキーマを使用するので、[Oracle Autonomous Database]を選択し、[Next]をクリックします。

  8. 『1-4. ウォレットのダウンロード』で保存したウォレットファイルを選択(またはドラッグ&ドロップ)します。読み込み後、[OK]をクリックします。

  9. 『1-1. リポジトリ用にスキーマを作成する』で作成したユーザー名(studio_repo)とパスワード、およびサービスを入力します。今回は、サービスレベルはmediumに設定しておきます。接続サービスについては、こちらもご参照ください。以下の画像のように入力し、[OK]をクリックします。

  10. Spatial Studioがスキーマへの初期接続を行い、いくつかのメタデータ・テーブルを作成します。完了すると、Getting Started情報とともにSpatial Studioが開きます。以下の画像のように表示されれば、ログイン成功です。

2. 地理空間データを含むCSV形式ファイルのデータベースへのロード

2-1. 駅の場所データのダウンロード

日本の全駅データをこちらからダウンロードします。なお、会員登録(無料)が必要です。
以下の画像のように、最新の駅データのcsvファイルをダウンロードします。

2-2. 駅データのロード

  1. Getting Started画面の[Create Dataset]をクリックします。

  2. [Import File]をクリックし、先ほどダウンロードした駅データのcsvファイルをインポートします。

  3. 駅データのデータセットが作成されます。Upload to connection:をSPATIAL_STUDIOに設定します。また、station_cdstation_g_cdのデータ型がDATEになっているので、NUMERICに変更してSubmitします。

  4. データセットが作成されましたが、アイコンに注意表示が出ているので修正します。

  5. [Go To Dataset Columns]をクリックし、主キー列を設定します。

    以下のようにSTATION_CD列のトグルスイッチ『Use As Key』をONにし、[Validate key]をクリックします。

    主キーを有効化したら、[Apply]をクリックします。

  6. [Create Latitude/Longitude Index]をクリックし、住所を地図表示用の座標位置に変換します。

    元々LAT列とLON列が入力されているので、そのまま[OK]をクリックします。

    上記を正しく設定できたら、左のアイコンがピンマークに変わります。

2-3. プロジェクトの作成

データセットの作成が終わったら、駅データを地図に反映させてみます。
データセットの右のLaunch Menuから[Create Project]をクリックします。

データセットをドラッグして、任意の場所にドロップします。

日本の全駅データが地図上に表示されました。