35.31 SDO_UTIL.GETFIRSTVERTEX

書式

SDO_UTIL.GETFIRSTVERTEX(
     geometry  IN SDO_GEOMETRY 
     ) RETURN MDSYS.VERTEX_TYPE;

説明

入力ジオメトリの頂点の最初の座標を戻します。

パラメータ

geometry

入力ジオメトリを指定します。

使用上のノート

このファンクションは、次のように定義されるMDSYS.VERTEX_TYPE型のオブジェクトを戻します。

CREATE TYPE vertex_type AS OBJECT
 (x   NUMBER,
  y   NUMBER,
  z   NUMBER,
  w   NUMBER,
  v5  NUMBER,
  v6  NUMBER,
  v7  NUMBER,
  v8  NUMBER,
  v9  NUMBER,
  v10 NUMBER,
  v11 NUMBER,
  id  NUMBER);

MYSYS.VERTEX_TYPE型は、Oracleでのみ使用されます。この型を、ユーザーが作成する列の定義やファンクションで使用しないでください

この例では、DATA_2Dという表が次のとおり作成および移入されていると想定しています。

CREATE TABLE data_2d (geom_name varchar2(12), shape sdo_geometry);

INSERT INTO data_2d VALUES ( 'LINE1',
   sdo_geometry(2002, NULL, NULL,
   sdo_elem_info_array(1,2,1),
   sdo_ordinate_array(12,13, 14,15, 16,17, 18,19, 20,21)));

次のSELECT文は、SDO_UTIL.GetFirstVertexファンクションとSDO_UTIL.GetLastVertexファンクションの両方をコールします。結果は、最初の頂点は(12,13)であり、最後の頂点は(20,21)であることを示しています。(出力は、読みやすくするために変更が加えられています。)

SELECT geom_name,
       sdo_util.GetFirstVertex(a.shape).X,
       sdo_util.GetFirstVertex(a.shape).Y
FROM data_2d a;

GEOM_NAME    SDO_UTIL.GETFIRSTVERTEX(A.SHAPE).X SDO_UTIL.GETFIRSTVERTEX(A.SHAPE).Y
------------ ---------------------------------- ----------------------------------
LINE1                                        12                                 13


SELECT geom_name,
       sdo_util.GetLastVertex(a.shape).X,
       sdo_util.GetLastVertex(a.shape).Y
FROM data_2d a;

GEOM_NAME    SDO_UTIL.GETLASTVERTEX(A.SHAPE).X SDO_UTIL.GETLASTVERTEX(A.SHAPE).Y
------------ ---------------------------------- ----------------------------------
LINE1                                       20                                21

関連トピック