26.6 SDO_LRS.CONVERT_TO_LRS_LAYER
書式
SDO_LRS.CONVERT_TO_LRS_LAYER( table_name IN VARCHAR2, column_name IN VARCHAR2 [, lower_bound IN NUMBER, upper_bound IN NUMBER, tolerance IN NUMBER] ) RETURN VARCHAR2;
または
SDO_LRS.CONVERT_TO_LRS_LAYER( table_name IN VARCHAR2, column_name IN VARCHAR2, dim_name IN VARCHAR2, dim_pos IN INTEGER [, lower_bound IN NUMBER, upper_bound IN NUMBER, tolerance IN NUMBER] ) RETURN VARCHAR2;
説明
SDO_GEOMETRY型の列のすべてのジオメトリ・オブジェクト(レイヤー)を、メジャー情報を持たない標準の線ストリング・ジオメトリからメジャー情報を持つLRSジオメトリ・セグメントに変換します。また、USER_SDO_GEOM_METADATAビューのメタデータを更新します。
パラメータ
- table_name
-
SDO_GEOMETRYオブジェクトを持つ列を含む表を指定します。
- column_name
-
SDO_GEOMETRYオブジェクトを含む
table_nameの列を指定します。 - dim_name
-
メジャー次元の名前を指定します。このパラメータがNULLである場合、
Mが使用されます。 - dim_pos
-
指定されたSDO_GEOMETRY列のSDO_DIM_ARRAY構造内におけるメジャー次元の位置を指定します。このパラメータがNULLである場合、最後の位置に対応する数が使用されます。
- lower_bound
-
メジャー次元の縦座標の下限(SDO_DIM_ELEMENT定義のSDO_LB値)を指定します。
- upper_bound
-
メジャー次元の縦座標の上限(SDO_DIM_ELEMENT定義のSDO_UB値)を指定します。
- tolerance
-
許容差(「許容差」および「LRSファンクションの許容差」を参照)。デフォルト値は0.00000001です。
使用上のノート
このファンクションは、変換が正常に行われた場合、またはレイヤーがすでにメジャー情報を含む場合はTRUEを戻します。また、変換が失敗した場合は例外を戻します。
表の既存の次元情報が無効な場合は、例外が発生します。
メジャー値は、開始メジャー0(ゼロ)および地図上の長さを表す終了メジャーに基づいて割り当てられます。
column_nameにすでに空間索引が存在する場合、レイヤーの変換前にその索引を削除し、レイヤーの変換後に新しい索引を作成する必要があります。索引の削除および作成については、「空間データを索引付けするためのSQL文」に示すDROP INDEX文およびCREATE INDEX文の説明を参照してください。
このファンクションは_3D 形式(SDO_LRS.CONVERT_TO_LRS_LAYER_3D)が使用可能です。LRSファンクションの_3D形式については、「LRSファンクションの3D形式」を参照してください。
変換ファンクションの詳細は、「LRSジオメトリの変換」を参照してください。
例
次の例では、LRS_ROUTES表のROUTE_GEOMETRY列のジオメトリ・セグメントをLRSフォーマットに変換します。(この例では、「LRSファンクションの例」の例の定義を使用します。)SELECT文は次元情報が追加されていることを示します(定義には、SDO_DIM_ELEMENT('M', NULL, NULL, NULL)が含まれます)。
BEGIN
IF (SDO_LRS.CONVERT_TO_LRS_LAYER('LRS_ROUTES', 'ROUTE_GEOMETRY') = 'TRUE')
THEN
DBMS_OUTPUT.PUT_LINE('Conversion from STD_LAYER to LRS_LAYER succeeded.');
ELSE
DBMS_OUTPUT.PUT_LINE('Conversion from STD_LAYER to LRS_LAYER failed.');
END IF;
END;
.
/
Conversion from STD_LAYER to LRS_LAYER succeeded.
PL/SQL procedure successfully completed.
SQL> SELECT diminfo FROM user_sdo_geom_metadata WHERE table_name = 'LRS_ROUTES' AND column_name = 'ROUTE_GEOMETRY';
DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE)
--------------------------------------------------------------------------------
SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', 0, 20, .005), SDO_DIM_ELEMENT('Y', 0, 20, .00
5), SDO_DIM_ELEMENT('M', NULL, NULL, NULL))親トピック: SDO_LRSパッケージ(線形参照システム)