はじめに
Oracle Spatial Studio (Spatial Studioとも呼ばれます)は、Oracle Database のSpatial機能によって保存および管理されている地理空間データに対して接続、視覚化、調査および分析を行うためのフリー・ツールです。Spatial Studioは従来、Spatial and Graphとして有償オプションでしたが、現在はOracle Databaseの標準機能として追加費用なくご利用いただけます。
本記事では Spatial機能を用いた地理空間データの活用の方法をご紹介します。
前提条件
- ADBインスタンスが構成済みであること
※ADBインタンスの作成方法については、ADBインスタンスを作成してみようを参照ください。
1. Oracle Spatial Studioのクラウド上での構築
まず、Spatial Studioのメタデータを格納するリポジトリとなるデータベース・スキーマを作成します。これは、データセット、分析、プロジェクトの定義など、Spatial Studioで行う作業を格納するスキーマです。
1-1. リポジトリ用にスキーマを作成する
-
OCIコンソールからDatabase ActionsでADMINユーザーとしてSpatial Studioリポジトリに使用するADBに接続します。
-
以下のコマンドでリポジトリ・スキーマを作成します。スキーマには任意の名前を付けることができます。ここではstudio_repoという名前で作成します。後の手順で使用するため、設定したパスワードをメモしておきます。
CREATE USER studio_repo IDENTIFIED BY <password>;
1-2. 表領域クオータを割り当てる
-
デフォルトの表領域dataをstudio_repoに割り当てます。
ALTER USER studio_repo DEFAULT TABLESPACE data;
-
表領域クォータを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-6. スタックウィザードの作成
-
可用性ドメインとインスタンスのシェイプを選択します。Compute Shapeの詳細はこちらです。
-
HTTPSポートとSpatial Studio Adminのユーザー名をデフォルトから変更することができます。Spatial Studio Adminの認証には、OCI Vault またはパスワードを使用できます。下の画像は、パスワードを使った例です。なお、本番環境では、OCI Vault を使用することをお勧めします。
設定ができたらスクロールダウンして、「ネットワークの設定」のセクションに進みます。
(補足)
デフォルトでは、Spatial Studio の 管理ユーザー名は admin です。これはSpatial Studioのアプリケーション・ユーザーであり、『1. Spatial Studioリポジトリのデータベースユーザー作成』で作成したリポジトリ・スキーマ用のデータベース・ユーザー名(studio_repo)とは異なります。 -
ネットワークについては、新しいVCNを自動的に作成する、もしくは既存のVCNを作成します。
下の図は、新たにVCNの作成した例です。既存のVCNを使用するには、上記ステップ2で選択したのと同じ可用性ドメイン内にある必要があります。他に既存のVCNがない場合は、残りの項目はデフォルトのままで構いません。既存のVCNがある場合は、競合を避けるためにCIDR値を変更してください。
1-7. 初回ログイン
-
以下のようにOracle Spatial Studioというスタックが作成されています。合わせてジョブが作成されるので、ジョブの名前をクリックします。
-
ログセクションの一番下までスクロールダウンします。完了すると、「Apply Complete!」と表示され、続いてインスタンスの詳細が表示されます。最後に表示されているのは、Spatial StudioのパブリックURLです。このURLをコピーして、ブラウザに貼り付けます。
-
Spatial Studioの公開URLを初めて開くと、プライバシーとセキュリティに関するブラウザの警告が表示されます。具体的な警告内容は、お使いのプラットフォームやブラウザによって異なります。
これはSpatial Studioの問題ではなく、署名付きのHTTPS証明書を持たないWebサイトへのアクセスに共通するものです。署名された証明書をロードして構成すると、この警告は解除されます。
リンクをクリックすると、ウェブサイトに移動します。
-
Spatial Studio の 管理ユーザー名(デフォルトはadmin)と、『1-6.スタックウィザードの作成』で入力したパスワードを入力します。そして、[Sign In]をクリックします。
-
Spatial Studioインスタンスへの最初のログイン時に、メタデータ・リポジトリとして使用するデータベース・スキーマの接続情報の入力が求められます。『1-1. リポジトリ用にスキーマを作成する』で作成したスキーマを使用するので、[Oracle Autonomous Database]を選択し、[Next]をクリックします。
-
『1-4. ウォレットのダウンロード』で保存したウォレットファイルを選択(またはドラッグ&ドロップ)します。読み込み後、[OK]をクリックします。
-
『1-1. リポジトリ用にスキーマを作成する』で作成したユーザー名(studio_repo)とパスワード、およびサービスを入力します。今回は、サービスレベルはmediumに設定しておきます。接続サービスについては、こちらもご参照ください。以下の画像のように入力し、[OK]をクリックします。
-
Spatial Studioがスキーマへの初期接続を行い、いくつかのメタデータ・テーブルを作成します。完了すると、Getting Started情報とともにSpatial Studioが開きます。以下の画像のように表示されれば、ログイン成功です。
2. 地理空間データを含むCSV形式ファイルのデータベースへのロード
2-1. 駅の場所データのダウンロード
日本の全駅データをこちらからダウンロードします。なお、会員登録(無料)が必要です。
以下の画像のように、最新の駅データのcsvファイルをダウンロードします。
2-2. 駅データのロード
-
駅データのデータセットが作成されます。Table Name と Dataset nameをSTATION に変更し、Upload to connection:をSPATIAL_STUDIOに設定します。また、station_cdとstation_g_cdのデータ型がDATEになっているので、NUMERICに変更してSubmitします。
-
[Go To Dataset Columns]をクリックし、主キー列を設定します。
以下のようにSTATION_CD列のトグルスイッチ『Use As Key』をONにし、[Validate key]をクリックします。
主キーを有効化したら、[Apply]をクリックします。 -
[Create Latitude/Longitude Index]をクリックし、住所を地図表示用の座標位置に変換します。
元々LAT列とLON列が入力されているので、そのまま[OK]をクリックします。
上記を正しく設定できたら、左のアイコンがピンマークに変わります。
2-3. プロジェクトの作成
データセットの作成が終わったら、駅データを地図に反映させてみます。
データセットの右のLaunch Menuから[Create Project]をクリックします。
データセットをドラッグして、任意の場所にドロップします。
日本の全駅データが地図上に表示されました。