7.2 LRSデータ・モデル

Oracle SpatialのLRSデータ・モデルは、メジャー情報を点レベルでジオメトリ表現に取り込みます。

メジャー情報は、Oracle Spatialモデルに直接統合されます。これを実現するには、Oracle Spatialのメタデータにメジャー次元を追加する必要があります。

Oracle SpatialのLRSのサポートは、空間メタデータおよびデータ(ジオメトリ)に影響します。例7-1に、メジャー次元が空間のメタデータで2次元ジオメトリにどのように追加されるかを示します。メジャー次元は、空間オブジェクト定義におけるSDO_DIM_ARRAYの最後の要素(例7-1の太字を参照)である必要があります。

図7-7 ジオメトリ・セグメントの作成

図7-7の説明が続きます
図7-7「ジオメトリ・セグメントの作成」の説明

図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つの線セグメントを持つジオメトリ・セグメントの作成例を示します。