Oracle Spatial and GraphのLRSデータ・モデルは、メジャー情報を点レベルでジオメトリ表現に取り込みます。メジャー情報は、Oracle Spatial and Graphモデルに直接統合されます。そのためには、Oracle Spatial and Graphのメタデータにメジャー次元を追加する必要があります。
Oracle Spatial and GraphのLRSサポートは、空間のメタデータおよびデータ(ジオメトリ)に影響します。例7-1に、メジャー次元が空間のメタデータで2次元ジオメトリにどのように追加されるかを示します。メジャー次元は、空間オブジェクト定義におけるSDO_DIM_ARRAYの最後の要素(例7-1の太字を参照)である必要があります。
図7-7では、ジオメトリ・セグメントは次のように定義されています(メジャー値には、下線が付いています)。
SDO_GEOMETRY(3302, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,2,1), SDO_ORDINATE_ARRAY(5,10,0, 20,5,NULL, 35,10,NULL, 55,10,100))
ジオメトリ・セグメントが定義されると、既存のジオメトリ・セグメントから開始および終了メジャーが定義または導出される必要があります。ジオメトリ・セグメント上にあるすべての形状点に、符号なしのメジャーがある場合は、自動的に移入されます。
LRSファンクションで使用されるすべての点ジオメトリのSDO_GTYPEは3301になります。
例7-1 SpatialメタデータへのLRSメジャー次元の取込み
INSERT INTO user_sdo_geom_metadata
(TABLE_NAME,
COLUMN_NAME,
DIMINFO,
SRID)
VALUES(
'LRS_ROUTES',
'GEOMETRY',
SDO_DIM_ARRAY (
SDO_DIM_ELEMENT('X', 0, 20, 0.005),
SDO_DIM_ELEMENT('Y', 0, 20, 0.005),
SDO_DIM_ELEMENT('M', 0, 100, 0.005)),
NULL);
新しいメジャー次元を追加すると、ジオメトリ・セグメントやLRS点などのメジャー情報を持つジオメトリを表現することができます。図7-7に、3つの線セグメントを持つジオメトリ・セグメントの作成例を示します。