5.7 フィーチャ・モデリング
ネットワーク上の対象オブジェクトをフィーチャとしてモデル化できます。
フィーチャは1つまたは複数のフィーチャ要素で構成されます。フィーチャ要素は、ネットワークに沿った点、リンクまたは部分リンクです。フィーチャ・レイヤーはネットワークの上に定義できます。たとえば、レストランとホテルをそれぞれ道路ネットワーク上のフィーチャ・レイヤーとして定義したり、スイッチを電気ネットワーク上のフィーチャ・レイヤーとして定義できます。
フィーチャ・モデリングを使用する一般的なステップは次のとおりです。
-
フィーチャ・レイヤーを作成します。
たとえば、道路ネットワーク上の対象点(POI)をフィーチャとしてモデル化できます。POIの各タイプ(ホテル、レストラン、病院、学校など)は、1つのフィーチャ・レイヤーに対応します。次の例では、ホテルのフィーチャ・レイヤーを追加します。
sdo_net.add_feature_layer( 'US_ROAD_NETWORK', --network name 'HOTEL', --feature layer name 2, --feature layer type: point on link 'HOTEL_TAB', --feature table or view name 'HOTEL_NET_REL', --relation table or view name null); --hierarchy table or view name
-
フィーチャ・ユーザー・データを登録します(アプリケーション固有のフィーチャ属性がフィーチャ分析で役立つ可能性がある場合)。
フィーチャ・ユーザー・データを登録するには、TABLE_TYPE列をフィーチャ表の名前に設定することを除き、ネットワークのノードまたはリンクのユーザー・データを登録する場合と同じように、XXX_SDO_NETWORK_USER_DATAビューにエントリを追加します。次の例では、ホテル名をホテル・フィーチャのユーザー・データとして追加します。
INSERT INTO USER_SDO_NETWORK_USER_DATA( network, table_type, data_name, data_type, category_id) VALUES( 'US_ROAD_NETWORK', --network name 'HOTEL_TAB', --feature table or view name 'NAME', --user data name, i.e., name of the user data column 'VARCHAR2', --user data type 3); --user data category
-
フィーチャ・レイヤーのフィーチャの追加、更新または削除を行います。
フィーチャ表、フィーチャ要素関係表およびフィーチャ階層表(すべて「フィーチャ・レイヤー表」を参照)またはこれらの表の組合せの内容は、データ・プロバイダにより管理されますので、このステップは省略できます。省略しない場合は、SDO_NETパッケージに含まれるプロシージャ(ADD_FEATURE、UPDATE_FEATURE、DELETE_FEATURESなど)をコールして、フィーチャ・レイヤー内のフィーチャの追加、更新または削除を行います。(SDO_NETサブプログラムについては、「SDO_NETパッケージ・サブプログラム」を参照してください。)
-
NetworkAnalyst
を使用してフィーチャ分析を実行します。フィーチャ分析ファンクションには、次のものがあります。-
フィーチャ間の最短パス
-
最も近い(到達)フィーチャ
-
コスト範囲内の(到達)フィーチャ
-
5.7.1 フィーチャ・モデリングに使用するデータ型
この項では、フィーチャ・モデリングに関連する一部のSDO_NETパッケージ・サブプログラムのパラメータおよび戻り値に使用される、次のPL/SQLデータ型について説明します。
-
SDO_NET_FEAT_ELEM_ARRAY
-
SDO_NET_FEAT_ELEM
-
SDO_NET_LAYER_FEAT_ARRAY
-
SDO_NET_LAYER_FEAT
-
SDO_NETWORK_NVP_TAB
-
SDO_NETWORK_NVP
SDO_NET_FEAT_ELEM_ARRAYは、VARRAY(1024) OF MDSYS.SDO_NET_FEAT_ELEM
として定義されます。
SDO_NET_FEAT_ELEMは次のとおり定義されます。
FEAT_ELEM_TYPE NUMBER NET_ELEM_ID NUMBER START_PERCENTAGE NUMBER END_PERCENTAGE NUMBER
SDO_NET_LAYER_FEAT_ARRAYは、VARRAY(1024) OF MDSYS.SDO_NET_LAYER_FEAT
として定義されます。
SDO_NET_LAYER_FEATは次のとおり定義されます。
FEATURE_LAYER_ID NUMBER FEATURE_ID NUMBER
SDO_NETWORK_NVP_TABは、TABLE OF MDSYS.SDO_NETWORK_NVP
として定義されます。
SDO_NETWORK_NVPは次のとおり定義されます。
NAME VARCHAR2(128) VALUE VARCHAR2(1024)
親トピック: フィーチャ・モデリング