図2-7に、座標(12,14)にある点のみのジオメトリを示します。
図2-7に示すジオメトリのSDO_GEOMETRY定義は、次のとおりです。
SDO_GTYPE = 2001。2は2次元を、1は単一の点を示します。
SDO_SRID = NULL。
SDO_POINT = SDO_POINT_TYPE(12, 14, NULL)。これは点のみのジオメトリであるため、SDO_POINT属性はSDO_POINT_TYPEオブジェクト型を使用して定義されます。
SDO_POINT属性の詳細は、「SDO_POINT」を参照してください。
SDO_POINT属性が指定されている場合、必要に応じてSDO_ELEM_INFOおよびSDO_ORDINATESの両方がNULLになります。
例2-10に、図2-7のジオメトリをデータベースに挿入するSQL文を示します。
例2-10 点のみのジオメトリを挿入するSQL文
INSERT INTO cola_markets VALUES(
90,
'point_only',
SDO_GEOMETRY(
2001,
NULL,
SDO_POINT_TYPE(12, 14, NULL),
NULL,
NULL));
SDO_POINT_TYPEに指定されたX、YおよびZの値に基づいて点のみのジオメトリを検索できます。例2-11は、1つ目の座標(X値)が12であるすべての点を検索する問合せです。この例では、例2-10で挿入した点が検索されます。
例2-11 座標値に基づく点のみのジオメトリの問合せ
SELECT * from cola_markets c WHERE c.shape.SDO_POINT.X = 12;
MKT_ID NAME
---------- --------------------------------
SHAPE(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
--------------------------------------------------------------------------------
90 point_only
SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(12, 14, NULL), NULL, NULL)