SDO_GEOMETRY 列および関連するDDL操作の作成をサポートします。
空間列を持つテーブルの作成
例:
test_tbl1 という名前のテーブルを作成します。このテーブルには以下の3列が含まれます:
id:主キーとして使用されるNUMBER型の列です。name:最大長32文字の文字列を格納するために使用されるVARCHAR2(32)型の列です。shape:空間幾何図形のデータを格納するために使用されるSDO_GEOMETRY型の列です。
CREATE TABLE test_tbl1 (id NUMBER PRIMARY KEY, name VARCHAR2(32), shape SDO_GEOMETRY);
空間データの挿入
SDO_GEOMETRYコンストラクタを使用して、空間オブジェクトのインスタンスを作成できます。
例:
以下のステートメントを使用して、テーブル test_tbl1 に1行のデータを挿入します。具体的な挿入データは以下のとおりです:
id列の値は1です。name列の値はname1です。shape列の値は、多角形を記述するSDO_GEOMETRYオブジェクトです。SDO_GEOMETRYのコンストラクタパラメータは以下のとおりです:2003:多角形タイプを表します。NULL:空間参照識別子が指定されていないことを表します。NULL:点座標が与えられていないことを表します。SDO_ELEM_INFO_ARRAY(1,1003,1):幾何図形の幾何要素情報を表します。最初のパラメータの1はSDO_ORDINATE_ARRAYの最初の要素から始まることを意味し、2番目のパラメータの1003は多角形の外輪郭であることを意味し、3番目のパラメータの1は直線結合であることを意味します。SDO_ORDINATE_ARRAY(10,105, 15,105, 20,110, 10,110, 10,105):幾何図形の具体的な座標値を表します。これは多角形の頂点座標を表します。頂点座標は順に (10,105), (15,105), (20,110), (10,110), (10,105) です。
INSERT INTO test_tbl1 VALUES(1, 'name1',
SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1), SDO_ORDINATE_ARRAY(10,105, 15,105, 20,110, 10,110, 10,105))
);
空間データフィールド情報のクエリ
例:
以下のステートメントを使用して、テーブル test_tbl1 から shape 列の情報を選択します。
obclient [SYS]> SELECT shape FROM test_tbl1;
実行結果は次のとおりです:
+----------------------------------------------------------------------------------------------------------------------------------+
| SHAPE |
+----------------------------------------------------------------------------------------------------------------------------------+
| SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(10, 105, 15, 105, 20, 110, 10, 110, 10, 105)) |
+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set
空間列の追加・削除
ALTER TABLE ステートメントを使用して、既存のテーブルに空間列を追加したり、空間列を削除したりすることもできます。
例:
空間列の追加。
ALTER TABLE test_tbl2 ADD shape SDO_GEOMETRY;空間列の削除。
ALTER TABLE test_tbl2 DROP COLUMN shape;
関連ドキュメント
- テーブル作成に関する構文の詳細については、CREATE TABLEを参照してください。
- テーブル変更に関する構文の詳細については、ALTER TABLEを参照してください。
- 空間データ型に関する詳細については、空間データ型の概要を参照してください。
- 空間データ型データの確認方法の詳細については、SDO_GEOMETRYプロパティへのアクセスを参照してください。