ST_PolyFromWKB

定義

ST_PolyFromWKB は、WKB 表現と空間参照 ID を受け取って、ST_Polygon を返します。

構文

Oracle

sde.st_polyfromwkb (wkb blob, srid integer)

PostgreSQL

sde.st_polyfromwkb (wkb bytea, srid integer)

戻り値のタイプ

ST_Polygon

以下の例では、読みやすいように結果の書式を再設定しています。結果で表示される間隔は、各自のオンライン表示によって異なります。この例では、ST_PolyFromWKB を使用して、その WKB 表現からポリゴンを作成する方法を示しています。ジオメトリは、空間参照系 1 のポリゴンです。この例では、ポリゴンを sample_polys テーブルの geometry 列に ID = 1115 で格納した後、wkb 列を(ST_AsBinary 関数を使用して)WKB 表現で更新しています。最後に、ST_PolyFromWKB 関数を使用して、WKB 列からマルチポリゴンを返します。このジオメトリの X および Y 座標は(50, 20)、(50, 40)、(70, 30)です。sample_polys テーブルには、ポリゴンを格納する geometry 列と、ポリゴンの WKB 表現を格納する wkb 列があります。

Oracle

CREATE TABLE sample_polys (id integer, geometry sde.st_geometry, wkb blob);

INSERT INTO SAMPLE_POLYS (id, geometry) VALUES (
1115,
sde.st_polyfromtext ('polygon ((10.01 20.03, 10.52 40.11, 30.29 41.56,
31.78 10.74, 10.01 20.03))', 0)
);

UPDATE SAMPLE_POLYS
SET wkb = sde.st_asbinary (geometry)
WHERE id = 1115;

PostgreSQL

CREATE TABLE sample_polys (id integer, geometry sde.st_geometry, wkb bytea);

INSERT INTO sample_polys (id, geometry) VALUES (
1115,
sde.st_polygon ('polygon  ((10.01 20.03, 10.52 40.11, 30.29 41.56,
31.78 10.74, 10.01 20.03))', 0)
);

UPDATE sample_polys
SET wkb = sde.st_asbinary (geometry)
WHERE id = 1115;

次の SELECT ステートメントで、ST_PointFromWKB 関数を使用して、WKB 列からポイントを取得します。

Oracle

SELECT id, sde.st_astext (sde.st_polyfromwkb (wkb, 0)) POLYS
FROM SAMPLE_POLYS;

ID    	POLYS

1115    POLYGON (10.01000000 20.03000000, 31.78000000 10.74000000, 30.29000000 41.56000000, 10.52000000 40.11000000, 10.01000000 20.03000000)

PostgreSQL

SELECT id, sde.st_astext (sde.st_polyfromwkb (wkb, 0)) 
AS POLYS
FROM sample_polys;

id    polys

1115    POLYGON (10.01000000 20.03000000, 31.78000000 10.74000000, 30.29000000 41.56000000, 10.52000000 40.11000000, 10.01000000 20.03000000)

3/6/2012