例: INSERTに対して異なる地理空間データ型を表現するST_Geometryデータ型の使用 - Teradata Database - Teradata Vantage NewSQL Engine - 例: INSERTに対して異なる地理空間データ型を表現するST_Geometryデータ型の使用

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

ANSI SQL:2011規格で定義されたすべての地理空間データ型を暗黙に表現する、ST_Geometryデータ型が使用できます。その例のいくつかを次に示します。<Teradata Vantage™地理空間データ型、B035-1181>を参照してください。あらゆる場合において、地理空間値は実際にはST_Geometryデータ型を使用して保管されます。INSERTリクエストで指定したタイプではないことに注意してください。

POINTタイプは、0次元のジオメトリを持ち、2次元座標空間内の単一の場所を表現します。

次の例では、そのような点をテーブルtab1に挿入します。

     INSERT INTO tab1 VALUES (0, 'POINT(10 20)');

LINESTRINGタイプは、1次元のジオメトリを持ち、通常は個々の点の間を直線的に補間した点の連続として保管されます。

次の例では、そのような点の連続をテーブルtab1に挿入します。

     INSERT INTO tab1 VALUES (0, 'LINESTRING(1 1, 2 2, 3 3, 4 4)');

POLYGONタイプは、2次元ジオメトリを持ち、1つの外部境界と、0個以上の内部境界で構成されます。各内部境界では、穴を定義します。

次の例では、そのようなポリゴンをテーブルtab1に挿入します。

     INSERT INTO tab1 VALUES (0, 'POLYGON((0 0, 0 20, 20 20, 20 0, 0 0),
                                          (5 5, 5 10, 10 10, 10 5, 5 5))
                                 ');

GEOMCOLLECTIONタイプは、0個以上のST_Geometry値の集合です。

次の例では、そのような幾何集合をテーブルtab1に挿入します。

     INSERT INTO tab1 VALUES (0, 'GEOMETRYCOLLECTION(
                                  POINT(10 10),
                                  POINT(30 30),
                                  LINESTRING(15 15, 20 20 ) )');

MULTIPOINTタイプは、構成要素がPOINT値に制限された、0次元ジオメトリの集合です。

次の例では、そのような幾何集合をテーブルtab1に挿入します。

     INSERT INTO tab1 VALUES (0,'MULTIPOINT(1 1, 1 3, 6 3, 10 5, 20 1)');

MULTILINESTRINGタイプは、構成要素がLINESTRING値に制限された、1次元ジオメトリの集合です。

次の例では、そのような幾何集合をテーブルtab1に挿入します。

     INSERT INTO tab1 VALUES (0, 'MULTILINESTRING((1 1, 1 3, 6 3),
                                                  (10 5, 20 1))');

MULTIPOLYGONタイプは、構成要素がPOLYGON値に制限された、2次元ジオメトリの集合です。

次の例では、そのような幾何集合をテーブルtab1に挿入します。

     INSERT INTO tab1 VALUES (0,'MULTIPOLYGON(
                                  ((1 1, 1 3, 6 3, 6 0, 1 1)),
                                  ((10 5, 10 10, 20 10, 20 5, 10 5)))');