16.20 - 既知のテキスト形式 - Teradata Vantage NewSQL Engine

Teradata Vantage™ 地理空間データ型

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1181-162K-JPN

目的

文字データを使用して新しいST_Geometryインスタンスを構築する場合や、クライアント アプリケーションとST_Geometry値をやり取りする場合の、ジオメトリ データの形式を定義します。

形式

















EMPTY
空集合。
x
点のx座標を表わす数値。
y
点のy座標を表わす数値。
z
3Dスペースの点のz座標を表わす数値。
ts
次の形式によるタイムスタンプ値。
   yyyy-mm-dd hh:mi:ss.ms
最初のタイムスタンプ値が最初の点に関連付けられ、2番目のタイムスタンプが2番目の点に関連付けられます。以降も同様に関連付けられます。
n個のタイムスタンプ値を指定する必要があります。nは、GeoSequenceに含まれる点の数です。
linkID
GeoSequenceに含まれる点の道路網に対するリンクのIDを示すNUMERIC(18,0)値。
この値は、今後のリリース用に予約されています。
最初のリンクID値が最初の点に関連付けられ、2番目のリンクIDが2番目の点に関連付けられます。以降も同様に関連付けられます。
n個のリンクID値を指定する必要があります。nは、GeoSequenceに含まれる点の数です。
count
GeoSequenceに含まれる各点のuf構成要素の数を表わす整数値。
値が0の場合、文字列内でufの後にcount構成要素が現れないことを示します。
uf
点に関連付けられたFLOAT値を表現するユーザー フィールド。例えば、特定の追跡システムでは、各点に速度、方向および加速度の値が関連付けられることがあります。
count個のユーザー フィールド値のn個のグループを指定する必要があります(nは、GeoSequenceに含まれる点の数です)。最初のグループで各点の最初のユーザー フィールドを指定し、2番目のグループで各点の2番目のユーザー フィールドを指定します。以降も同様に指定します。

使用上の注意

デフォルトでTeradata Databaseに実装されているデータ変換機能により、ST_Geometry型をWKT形式のCLOBとしてサーバーにエクスポートしたり、サーバーからインポートすることができます。つまり、クライアント アプリケーションでCLOBを使用すると、ST_Geometry列に値を挿入できることになります。このCLOBは、ST_Geometryで表現可能な地理空間サブタイプのいずれかのWKT形式で用意します。同様に、クライアント アプリケーションがST_Geometry列からデータを選択するクエリーを実行すると、デフォルトで、Teradata Databaseにより、ST_Geometry列を表現するジオメトリのWKT形式を使用して、CLOB形式のタイプがエクスポートされます。

Teradataではまた、その他の型および形式として地理空間データのインポートおよびエクスポートを許可するST_Geometry型用に他の変換も提供しています。詳細については、ST_Geometry型変換を参照してください。

例: 地理空間データのWKT形式

次のテーブルについて考察します。

   CREATE TABLE sample_shapes (skey INTEGER, shape ST_Geometry);

次に、WKT表現を使用したジオメトリ値の挿入方法について、いくつかの例を示します。

   INSERT INTO sample_shapes
      VALUES (1001, 'POINT(10 20)');

   INSERT INTO sample_shapes
      VALUES (1002, 'POINT EMPTY');

   INSERT INTO sample_shapes
      VALUES (1003, 'LINESTRING(1 1, 2 2, 3 3, 4 4)');

   INSERT INTO sample_shapes
      VALUES (1004, 'LINESTRING EMPTY');

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

   INSERT INTO sample_shapes
      VALUES (1006, 'MULTIPOINT((1 1), (1 3), (6 3), (10 5), (20 1))');

   INSERT INTO sample_shapes
      VALUES (1007, 'MULTILINESTRING((1 1, 1 3, 6 3),
                                     (10 5, 20 1))');

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

   INSERT INTO sample_shapes
      VALUES (1009, 'GEOMETRYCOLLECTION( POINT(10 10),
                                         POINT(30 30),
                                         LINESTRING(15 15, 20 20))');

   INSERT INTO sample_shapes
      VALUES (1010, 'GEOSEQUENCE( (10 20, 30 40, 50 60),
                                  (2007-08-22 12:05:23.56,
                                   2007-08-22 12:08:25.14,
                                   2007-08-22 12:11:41.52),
                                  (1, 2, 3),
                                  (2, 10, 12, 11, 18, 21, 19) )' );

   INSERT INTO sample_shapes
      VALUES (1011, 'GEOSEQUENCE( (10 20, 30 40, 50 60),
                                  (2008-03-17 10:34:03.53,
                                   2008-03-17 10:38:25.21,
                                   2008-03-17 10:41:41.48),
                                  (1, 2, 3),
                                  (0))');

SELECT * FROM sample_shapes ORDER BY skey;