図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)