2.8 マップ・ビジュアライゼーション・コンポーネント・メタデータ・ビュー

ベース・マップ、テーマおよびスタイルを説明するマッピング・メタデータは、MDSYSが所有するグローバル表のSDO_MAPS_TABLE、SDO_THEMES_TABLEおよびSDO_STYLES_TABLEに格納されています。

ただし、これらの表を直接更新しないでください。マップ・ビジュアライゼーション・コンポーネントの各ユーザーには、そのユーザーに関連付けられたスキーマで使用可能な次のビューがあります。

  • USER_SDO_STYLESおよびALL_SDO_STYLESには、スタイルの情報が含まれています。これらのビューについては、「xxx_SDO_STYLESビュー」で説明しています。

  • USER_SDO_THEMESおよびALL_SDO_THEMESには、テーマの情報が含まれています。これらのビューについては、「xxx_SDO_THEMESビュー」で説明しています。

  • USER_SDO_MAPSおよびALL_SDO_MAPSには、ベース・マップの情報が含まれています。これらのビューについては、「xxx_SDO_MAPSビュー」で説明しています。

  • USER_SDO_CACHED_MAPSとALL_SDO_CACHED_MAPSには、マップ・タイル・レイヤーの構成設定に関する情報が含まれます。これらのビューについては、「xxx_SDO_CACHED_MAPSビュー」で説明しています。

ノート:

Map Builderツール(「Oracle Map Builderツール」を参照)を使用すると、ほとんどのマッピング・メタデータを管理できます。ただし、一部の地物については、マップ・ビジュアライゼーション・コンポーネント・メタデータ・ビューを更新するためにSQL文を使用する必要があります。

USER_SDO_xxxビューには、ユーザー(スキーマ)が所有するマッピング要素(スタイル、テーマ、ベース・マップ、キャッシュされたマップ)に関するメタデータ情報が含まれ、ALL_SDO_xxxビューには、ユーザーがSELECT権限を持つマッピング要素に関するメタデータ情報が含まれます。

ALL_SDO_xxxビューには、オブジェクト所有者のスキーマを識別するOWNER列が含まれます。USER_SDO_xxxビューに、OWNER列は含まれません。

データベースで定義されたすべてのスタイルは、すべてのユーザーが、自分のテーマ、テキスト・スタイルを含むマーカーまたは拡張スタイルを定義するために参照できます。ただし、テーマおよびベース・マップはユーザー間で共有されないため、たとえば、自分が作成したベース・マップで別のユーザーのテーマは参照できません。

マッピング・メタデータへのアクセスには、次のルールが適用されます。

  • メタデータを追加、削除または変更する場合、USER_SDO_xxxビューを使用して操作を実行する必要があります。ALL_SDO_xxxビューは、USER_SDO_xxxビューに加えた変更を反映するために自動的に更新されます。

  • すべてのスタイルに関するメタデータへの読取りアクセスのみが必要な場合は、ALL_SDO_STYLESビューを使用する必要があります。主キーはOWNER列およびNAME列で構成されるため、スタイルを指定する場合はOWNERおよびNAMEの両方を必ず含めてください。

前述のマップ・ビジュアライゼーション・コンポーネント・メタデータ・ビューは、次のファイルで定義されます。

$ORACLE_HOME/lbs/admin/mapdefinition.sql

マップ・ビジュアライゼーション・コンポーネントは、他のファイルで定義可能な他のメタデータ・ビューもいくつか使用します。これらのビューの内容は決して変更しないでください。これには以下が含まれます。

  • MDSYS.USER_SDO_TILE_ADMIN_TASKSには、マップ・タイル管理に関連する長時間のタスクについての情報が含まれています。プリフェッチに続いてタスクを再開するなど、長時間のマップ・タイル層のタスクを停止する場合、マップ・ビジュアライゼーション・コンポーネントは最初からもう一度実行するのではなく、USER_SDO_TILE_ADMIN_TASKSビューの情報を使用してタスクを再開します。

2.8.1 xxx_SDO_STYLESビュー

USER_SDO_STYLESビューおよびALL_SDO_STYLESビューには、表2-3に示す列があります。

表2-3 xxx_SDO_STYLESビュー

列名 データ型 説明

OWNER

VARCHAR2

スタイルを所有するスキーマ(ALL_SDO_STYLESのみ)

NAME

VARCHAR2

スタイルに関連付ける一意の名前

TYPE

VARCHAR2

COLOR、MARKER、LINE、AREA、TEXTまたはADVANCEDのいずれかの値

DESCRIPTION

VARCHAR2

スタイルに関するオプションの記述テキスト

DEFINITION

CLOB

スタイルのXML定義

IMAGE

BLOB

画像ベースの記号(マーカーの場合)または充填文字(領域の場合)を使用するマーカー・スタイルまたは領域スタイルの画像内容(airport.gifなど)

GEOMETRY

SDO_GEOMETRY

(今後使用予定)

Oracle Databaseのリリースに応じて、ALL_SDO_STYLESビューに、MDSYSスキーマが所有するサンプル・スタイルが含まれる場合があります。これらのスタイルがシステムで定義されている場合にはテーマ定義およびマップ・リクエストで指定できます。また、独自スタイルの定義に使用するアイデアのためのXML定義を検査できます。

現行ユーザー以外のスキーマが所有しているスタイル(または他のタイプのマップ・ビジュアライゼーション・コンポーネント・オブジェクト)を指定するには、スキーマ名を指定し、スキーマ名とオブジェクト名の間にピリオドではなくコロン(:)を使用する必要があります。次の<jdbc_query>要素からの抜粋は、MDSYSスキーマが所有するC.REDというスタイルを参照します。

<jdbc_query . . . render_style="MDSYS:C.RED">
. . .
 </jdbc_query>

例2-58では、MDSYSスキーマが所有し、現在定義されているすべてのスタイルの名前を検索して、そのいずれかのスタイルのタイプ、説明およびXML定義を表示します。(出力結果の例は、読みやすいようにリフォーマットされています。)

例2-58 MDSYSスキーマ所有のスタイルの検索

SELECT owner, name FROM all_sdo_styles 
  WHERE owner = 'MDSYS';
 
OWNER                            NAME
-------------------------------- --------------------------------
MDSYS                            C.BLACK
MDSYS                            C.BLACK GRAY
MDSYS                            C.BLUE
MDSYS                            C.COUNTIES
MDSYS                            C.FACILITY
. . .
MDSYS                            L.MAJOR STREET
MDSYS                            L.MAJOR TOLL ROAD
MDSYS                            L.MQ_ROAD2
MDSYS                            L.PH
MDSYS                            L.POOR_ROADS
MDSYS                            L.PTH
MDSYS                            L.RAILROAD
MDSYS                            L.RAMP
MDSYS                            L.SH
MDSYS                            L.STATE BOUNDARY
. . .
MDSYS                            M.REDSQ
MDSYS                            M.SMALL TRIANGLE
MDSYS                            M.STAR
MDSYS                            M.TOWN HALL
MDSYS                            M.TRIANGLE
MDSYS                            T.AIRPORT NAME
MDSYS                            T.CITY NAME
MDSYS                            T.MAP TITLE
MDSYS                            T.PARK NAME
MDSYS                            T.RED STREET
MDSYS                            T.ROAD NAME
MDSYS                            T.SHIELD1
MDSYS                            T.SHIELD2
MDSYS                            T.STATE NAME
MDSYS                            T.STREET NAME
. . .
 
-- Display the type, description, and XML definition of one style.
SET LONG 4000;
SELECT owner, name, type, description, definition 
  FROM all_sdo_styles WHERE name = 'L.PH';
 
OWNER   NAME     TYPE       DESCRIPTION
------  -----    ------     ------------------
MDSYS   L.PH     LINE       Primary highways
 
DEFINITION
---------------------------------------------------------------------------
<?xml version="1.0" standalone="yes"?>
<svg width="1in" height="1in">
<desc></desc>
<g class="line" style="fill:#33a9ff;stroke-width:4">
<line class="parallel" style="fill:#aa55cc;stroke-width:1.0"/>
</g>
</svg>

2.8.2 xxx_SDO_THEMESビュー

USER_SDO_THEMESビューおよびALL_SDO_THEMESビューには、表2-4に示す列があります。

表2-4 xxx_SDO_THEMESビュー

列名 データ型 説明

OWNER

VARCHAR2

テーマを所有するスキーマ(ALL_SDO_THEMESのみ)

NAME

VARCHAR2

テーマに関連付ける一意の名前

DESCRIPTION

VARCHAR2

テーマに関するオプションの記述テキスト

BASE_TABLE

VARCHAR2

空間ジオメトリ列が含まれる表またはビュー

GEOMETRY_COLUMN

VARCHAR2

空間ジオメトリ列(SDO_GEOMETRY型)の名前

STYLING_RULES

CLOB

テーマに関連付けるスタイリング・ルールのXML定義

2.8.3 xxx_SDO_MAPSビュー

USER_SDO_MAPSビューおよびALL_SDO_MAPSビューには、表2-5に示す列があります。

表2-5 xxx_SDO_MAPSビュー

列名 データ型 説明

OWNER

VARCHAR2

ベース・マップを所有するスキーマ(ALL_SDO_MAPSのみ)

NAME

VARCHAR2

ベース・マップに関連付ける一意の名前

DESCRIPTION

VARCHAR2

ベース・マップに関するオプションの記述テキスト

DEFINITION

CLOB

ベース・マップに関連付ける、テーマおよびテーマのスケール値範囲情報のリストのXML定義

2.8.4 xxx_SDO_CACHED_MAPSビュー

USER_SDO_MAPSビューおよびALL_SDO_MAPSビューには、表2-6に示す列があります。

表2-6 xxx_SDO_CACHED_MAPSビュー

列名 データ型 説明

NAME

VARCHAR2

キャッシング対象マップ・ソースの一意な名前

DESCRIPTION

VARCHAR2

キャッシング対象マップ・ソースのオプションの記述テキスト

TILES_TABLE

VARCHAR2

(現在は使用されていません)

IS_ONLINE

VARCHAR2

マップ・タイル層がオンラインの場合はYES、マップ・タイル層がオフラインの場合はNO。キャッシュでタイルが見つからず、マップ・タイル層がオンラインの場合、マップ・タイル・サーバーは該当するタイルをフェッチし、フェッチしたタイルをクライアントに返す。タイルが見つからず、マップ・タイル層がオフラインの場合、マップ・タイル・サーバーは該当するタイルをフェッチせず、ブランク画像をクライアントに返す。

IS_INTERNAL

VARCHAR2

マップ・ソースが内部マップ・ソースの場合はYES、マップ・ソースが外部マップ・ソースの場合はNO

DEFINITION

CLOB

マップ・タイル層のXML定義(この項で後述)。

BASE_MAP

VARCHAR2

キャッシング対象のマップ・ビジュアライゼーション・コンポーネント・ベース・マップの名前(マップ・ソースが内部マップ・ソースの場合)

MAP_ADAPTER

BLOB

外部マップ・サービス・プロバイダのアダプタJavaクラスが含まれるjarファイル(この項で後述)。

USER_SDO_CACHED_MAPSビューの使用方法の詳細は、「マップ・タイル・サーバーの構成」を参照してください。