はじめに
Oracle Spatial Studio は Oracle Database の空間機能をノーコードで利用できる Web ベースツールです。これまではマーケットプレイスからのデプロイが必要でしたが、2026年4月のアップデートで、Autonomous AI Database の組み込みツールとして追加されました。
Unlock Spatial Insights Faster with Spatial Studio, Now Built into Autonomous AI Database
Spatial Studioを利用すれば、Autonomous AI Database上で
- 地図データのロード
- 空間データの可視化
- ジオコーディング
- 空間分析
をGUIベースで実施できます。どんなものなのか、Oracle LiveLabs のハンズオンをベースに試してみました。
前提条件
- Autonomous AI Databaseを作成済み
1.Spatial Studio にアクセス
ADMINユーザーでDatabase Actionsにログインし、検証用のデータベースユーザーを作成して、Spatial Studioを利用できるように有効化します。
コンソールの「ツール構成」でSpatial StudioのアクセスURLを確認し、アクセスします。
有効化したユーザーでログインを行うと、
Spatial StudioのUIが表示されます。
2.サンプルデータをロード
Spatial Studioは、空間データの交換で最もよく使用される2つのフォーマット、シェープファイルとGeoJSONファイルなど標準フォーマットのファイルからデータをAutonomous Databaseにロードする機能が提供されています。
サンプルデータは以下のLivelabsのデータをダウンロードして使います。
- GeoJSONファイル accidents.geojson:架空の交通事故のデータ
- シェープファイル SAPS_police.zip:南アフリカ警察(SAPS)の警察署と警察署の境界線データ
Spatial Studioの左のメニューからDatasetsを選択し、Create Datasetをクリックします。
Local fileでダウンロードしたaccidents.geojsonを選択し、Createをクリックします。

ロードの設定を行います。接続先(Upload to connection)、表の名前(Table name)、データセットの名前(Dataset name)、列名、データ型の編集が可能です。
DEFAULT_CONNECTIONという事前定義された接続名がローカルのADBには作成されており、それがデフォルト設定されます。ここではDATE_TIME以外の列のデータ型をSTRINGからNUMBERに変更し、Submitをクリックします。
Spatial Studioで利用できるデータセットが作成されます。

Database Actionsで確認すると、表と空間索引が作成されています。GEOM列が地理空間データでSDO_GEOMETRYがデータ型です。


同様にシェープファイルのzipファイルもロードします。
zipには警察署の管轄地域と警察署の位置の2つのシェープファイルが含まれているので、順に確認し、デフォルトのままロードします。

3つデータセットが作成されました。しかし、黄色でIssuesがあることが表示されています。
アイコンをダブルクリックすると、キーとなる列がないことが原因でした。
メッセージのリンクをクリックし、キーを作成します。キーは既存の列の指定のほか新規に作成することができます。
ACCIDENTSはキーとなることができる(一意、Nullがない)列がないため、Create Key Columnをクリックし、ACCIDENT_IDという名前で新しくキーを作成します。
同様にPOLICE_BOUNDSのデータセットに対してもキーの作成を行います。
POLICE_BOUNDSは既存の列であるCOMPNT_NMがキーとして利用できそうなので、Use as Keyのトグルをオンにし、Vaildate keyをクリックして検証を行います。
Key is validとメッセージが返されたら検証成功です。Applyをクリックします。

同様にPOLICE_POINTのデータセットに対しても、COMPNT_NMをキーとして適用します。その結果すべてのデータセットから黄色のIssueがなくなりました。
3.プロジェクトの作成
データを視覚化および分析する場所としてプロジェクトを作成します。プロジェクト単位で
保存して作業を再開したり、公開して結果を他のユーザーと共有したりすることができます。
左のメニューからProjectsを選択し、Create projectをクリックします。
表示された画面でAdd datasetをクリックし、作成したデータセットを利用できるよう追加します。
DataタブのDatasetsを展開すると選択したデータセットが追加されていることが確認できます。

4.データの視覚化
データセットをドラッグアンドドロップすることで、地図上に空間データの表示ができます。
ACCIDENTSをView 1の地図にドラッグアンドドロップすると、地図上で事故データが表示されました。Layers listペインにACCIDENTSが追加されていることも確認できます。
他の2つのデータセットもドラッグアンドドロップで地図に追加してみます。
後で追加したデータセットのレイヤーが既存のレイヤーの上になるため、最後に追加したPOLICE_BOUNDSで他の表示が見えなくなってしまいました。そのため、Layers listで上がACCIDENTS、次にPOLICE_POINTS、一番下がPOLICE_BOUNDSになるよう位置をいれかえます。
データをすべて参照することができるようになりました。
またLayesrs listではデータセットを右クリックし、Settingを選択することでレイヤーの詳細設定ができます。ここではPOLICE_BOUNDSのFILLのOpacityを小さくして透明度を上げ、Outlineの色を白に変更してみると、最初より見やすくすることができました。
Settingではデータの表示のスタイルの設定もできます。ConfigureでStyleを選択すると、レンダリングのスタイルをCircle(円)、Symbol(シンボル)、Heatmap(ヒートマップ)、Cluster(クラスタ)から選択できます。例えばデータセットACCIDENTSのスタイルをクラスタにするとこちらのようになりました。ズームアウト、ズームインでクラスタの円の大きさも変わります。
スタイルをCircle(円)に戻してから、次はConfiguteをInteractionに指定します。
Tooltipでマウスオーバーしたときに表示される列、Info Windowでクリックしたときに表示される列を指定することができます。デフォルトはどちらも無効になっています。
Spatial Studioではデータを地図だけでなく、表形式で表示することも可能です。Visualizationsで参照したい形式を選択し、ドラッグアンドドロップすることで新しいビューを作成することができます。
Tableを既存の地図ビューView1の下に、Mapを上にドラッグアンドドロップで追加してみました。

追加したビューにデータセットをドラッグアンドドロップすることでデータを表示することができます。ACCIDENTSを両方のビューに追加しました。
表でデータを選択すると、地図上でも選択したデータが赤く表示されます。
ひととおり動作を確認したので、後で追加した地図のビューと表のビューを右上の×アイコンで削除します。

ここで一度保存します。右上のSaveをクリックし、Livelabs Spatial Introという名前で保存します。
5.データの分析
空間分析を行ってみます。
DataタブでCreate AnalysysやLayers Listの各レイヤーのメニューにあるSpatial analysysを選択すると、様々な空間分析操作を実行できます。

選択した警察署から指定された距離内で発生した事故を特定
地図上で任意の警察署を選択します。赤い色がわかりづらかったので、POLICE_POINTSのスタイルの色を青に変更しました。
Layers ListからACCIDENTSのメニューにあるSpatial analysysをクリックします。
Filter-> Return Shapes within a spacified distance of anotherを選択します。
フィルターされるレイヤー(Layer to be filterd)にACCIDENTS.GEOM、フィルターに使うレイヤー(Layer to be used as the filter)にPOLICE_POINTS.GEOMを指定します。すでに警察署を選択しているので、Include only selected items in the aboveのトグルがオンになります。範囲(Distance)は150kmとしました。
分析はOracle Databaseの地理空間機能Oracle Spatialを使ってデータベース内で行われるため、Preview SQLをクリックすると、SQLが確認できます。Oracle Spatialの空間演算子が利用されています。

RUNをクリックすると、次のメッセージが表示され、分析が行われます。
分析が完了すると、DataタブのAnalysisに設定した分析名が表示されます。
分析結果はデータセットの一種として追加がされているので、Datasetsの画面でも確認ができます。
これまで利用したデータセット同様にドラッグアンドドロップで、表や地図のビューで視覚化が可能です。たとえば、地図のビューの一番上のレイヤーに追加するとこのようになります。
選択した警察管轄区域内で発生した事故を特定
次に別の分析を行います。その前にLayers Listから先ほどの分析をremoveします。

Select by Shapeのアイコンをクリックしてから

任意の警察管轄区域をクリックすると、色が変わって選択がされます。
Layers ListからACCIDENTSのメニューにあるSpatial analysysをクリックし、Filter-> Return Shapes that are inside anotherを選択します。
フィルタされるレイヤーにACCIDENTS.GEOM、フィルターに利用するレイヤーにPOLICE_BOUNDS.GEOMを指定します。
実行されるSQLはこちらのとおりです。
実行し、分析が完了すると、Analysisの下に追加がされます。
地図ビューにドラッグアンドドロップをして、色をわかりやすくしてみました。

さらにLayers listでACCIDENTの左のアイコンをクリックして非表示にするとより見やすいですね。

各事故に、その事故を含む警察管轄区域を付加(空間的な関係に基づいてデータセットを結合)
先ほど追加した分析データセットをLayers listからRemoveします。
Layers ListからACCIDENTSのメニューにあるSpatial analysysをクリックし、Filter-> Return Shapes that are inside anotherを選択します。
空間関係(Based on spatial relationship) がInsideであることを確認し、ACCIDENTS のアイテムを POLICE_BOUNDS のアイテムと結合するよう設定します。

実行し、分析が完了すると、分析名がAnalysisの下に追加されます。展開すると、ACCIDENTSのデータに警察管轄区域の情報であるCOMPAT_NMが結合されていることが確認できます。

これでACCIDENTSにはなかった警察管轄区域の情報を追加で表示ができます。
地図に追加し、ACCIDENTSを非表示、追加した分析ACCIDENT JOINのInfo Windowで列名を追加するとこちらのような表示が可能です。
警察管轄区域に事故情報の概要を追加
次は警察管轄区域に事故情報の概要を追加します。先ほど作成した分析をLayers ListからRemoveします。Create Analysisをクリックし、Analytics->Summarize by regionをクリックします。
POLICE_BOUNDSの各項目について、ACCIDENTSから事故件数を集計します。
実行し、分析が完了すると、分析名がAnalysisの下に追加されます。指定したNUM_ACCIDENTSという列が存在することを確認できます。
事故件数(NUM_ACCIDENTS)ごとに色を分けた視覚化をしてみます。追加した分析SUMMARIZE REGIONを地図にドラッグアンドドロップし、ACCIDENTSとPOLICE_POINTSを非表示にします。
SUMMARIZE REGIONのSettingsでStyleのFillのColorをBased on dataにします。そのあと隣の鉛筆アイコンをクリックして、
列名にNUM_ACCIDENTSを選択し、+ボタンで値を1,5,10,15,20で追加します。

Set palleteで色を変更します。事故件数で色分けすることができました。

ツールチップでNUM_ACCOUNTSを追加するとマウスオーバーで件数の確認ができるような表示も可能です。
各警察署から最も近い事故を特定
SUMMAIZE REGIONをRemoveし、次は各警察署から最も近い事故の特定を行います。
Create Analysisをクリックし、Analytics->Nearest per itemをクリックします。
警察署の位置から最も近い事故の位置を検索するように指定します。
距離もDISTANCEという列名で表示するようにします。単位はKmです。
実行し、分析が完了すると、分析名がAnalysisの下に追加されます。DISTANCEという列があることが確認できます。

地図に追加して視覚化します。例えばPOLICE_POINTSを非表示、情報を追加、新しい表ビューを追加しそちらにも追加してみるとこのような表示ができました。
おわりに
Spatial Studioを使って地図データフォーマットのファイルをロードすることから視覚化、分析をGUIで実行することができました。ADBにビルトインとなり、プロビジョニング後すぐに利用できるのでお試しいただければと思います。また分析機能はツールではなくOracle Databaseの機能なので、ロードしたデータはデータベース内の他のデータと、またAIやグラフの他のデータベース機能を組み合わせて活用するといったこともできると思います。



























































