DB2では、これも多角形です。あなたがグリッドを格納しているように見えますので、迅速なチェックがST_ENVELOPE(幾何学)==ジオメトリは、あなたが正方形に
を持っている場合、このコードは
DB2's documentation
SET CURRENT PATH = CURRENT PATH, db2gse;
CREATE TABLE sample_geoms (id INTEGER, geometry ST_Geometry);
INSERT INTO sample_geoms VALUES
(1, ST_Geometry(ST_Point('point EMPTY',0)));
INSERT INTO sample_geoms VALUES
(2, ST_Geometry(ST_Point('point zm (10 10 16 30)' ,0)));
INSERT INTO sample_geoms VALUES
(3, ST_Geometry(ST_Multipoint('multipoint m (10 10 5, 50 10 6,
10 30 8)' ,0)));
INSERT INTO sample_geoms VALUES
(4, ST_Geometry(ST_Linestring('linestring (10 10, 20 10)',0)));
INSERT INTO sample_geoms VALUES
(5, ST_Geometry(ST_Polygon('polygon((40 120, 90 120, 90 150,
40 150, 40 120))',0)));
SELECT id, CAST(ST_AsText(ST_Envelope(geometry)) as VARCHAR(160)) Envelope
FROM sample_geoms;
結果からのものであることが考えられます。
ID ENVELOPE
----------- ---------------------------------------------------------------
1 -
2 POLYGON ((9 9, 11 9, 11 11, 9 11, 9 9))
3 POLYGON ((10 10, 50 10, 50 30, 10 30, 10 10))
4 POLYGON ((10 9, 20 9, 20 11, 10 11, 10 9))
5 POLYGON ((40 120, 90 120, 90 150, 40 150, 40 120))
ID = 5を参照してください。最後POLYGON == ST_ENVELOPE(幾何学)
を追加することができます。しかしST_envolopeは、私の知る限り、機能、ないタイプでしょうか? –
申し訳ありませんが、ちょうど今、たくさんの複雑なナンセンスを削除しました。ポイントは、Postgisにfloat4のシーケンスとして格納されていますが、DB2についてはわかりませんが、ほぼ同じでなければなりません。あるいは、db2/Oracleの 'number'タイプのいずれかでなければなりません。私は、すべての四角形が、一般的な空間クエリに対してスマートインデックスを使用してジオ機能を有効にして、基本フロート型として保存された座標であると推測しています。 – unmounted
トロエルが正しいです。 ST_ENVELOPEはST_POLYGONを戻す関数です。 ST_ENVELOPEはタイプではありません。 「float」最適化はPostGISに固有のものです。 –