7.4 LRSファンクションの3D形式
ほとんどのLRSファンクションは、末尾に_3Dの付いた形式(DEFINE_GEOM_SEGMENT_3D、CLIP_GEOM_SEGMENT_3D、FIND_MEASURE_3D、LOCATE_PT_3Dなど)と付かない形式を持ちます。3D形式を持つファンクションについては、ファンクションのリファレンス・トピックの「使用上のノート」にその旨を示します。
3D形式は、単一線ストリングおよび複数線ストリングのジオメトリでのみサポートされます。(ポリゴン、円弧または円についてはサポートされません。)3D形式は、ジオメトリ・オブジェクトに4次元があり、4つ目の次元がメジャーである場合(X、Y、Z、Mなど)、およびファンクションに最初の3次元(X、Y、Zなど)を考慮させる場合にのみ使用する必要があります。ファンクションの標準形式(_3Dが付いていない)を4次元を持つジオメトリに対して使用すると、ファンクションは最初の2次元(XおよびYなど)のみを考慮します。
たとえば、次の形式では、クリップ操作で、指定したGEOMオブジェクトのX、YおよびZ次元が考慮されます。
SELECT SDO_LRS.CLIP_GEOM_SEGMENT_3D(a.geom, m.diminfo, 5, 10) FROM routes r, user_sdo_geom_metadata m WHERE m.table_name = 'ROUTES' AND m.column_name = 'GEOM' AND r.route_id = 1;
ただし、次の形式では、クリップ操作で、指定したGEOMオブジェクトのXおよびY次元のみが考慮され、Z次元は無視されます。
SELECT SDO_LRS.CLIP_GEOM_SEGMENT(a.geom, m.diminfo, 5, 10) FROM routes r, user_sdo_geom_metadata m WHERE m.table_name = 'ROUTES' AND m.column_name = 'GEOM' AND r.route_id = 1;
すべてのファンクションの標準形式および3D形式のパラメータは同じであり、「使用上のノート」は両方の形式に適用されます。
LRSファンクションのパラメータに線(または複数線)ストリングと点(LRS点)の両方が含まれる場合、両者が同じ数の次元を持つ必要があります。たとえば:
-
SDO_LRS.PROJECT_PTファンクションの場合、入力の
geom_segment
(線)は2つの次元(X、Y)およびメジャー次元を持ち、入力のpoint
はメジャー次元を持つ2次元のLRS点ジオメトリ(SDO_GTYPE = 3301)である必要があります。(このファンクションの例がそのケースです。) -
SDO_LRS.PROJECT_PT_3Dファンクションの場合、入力の
geom_segment
は3つの次元(X、Y、Z)およびメジャー次元を持ち、入力のpoint
はメジャー次元を持つ3次元のLRS点ジオメトリ(SDO_GTYPE = 3401)である必要があります。
親トピック: 線形参照システム