ST_MPolyFromWKB

Définition

ST_MPointFromWKB accepte une représentation binaire connue (WKB) de type ST_MultiPolygon et un ID de référence spatiale pour retourner un objet ST_MultiPolygon

Syntaxe

Oracle

sde.st_mpolyfromwkb (wkb blob, srid integer)

PostgreSQL

sde.st_mpolyfromwkb (wkb bytea, srid integer)

Type de retour

ST_MultiPolygon

Exemple

Dans l'exemple suivant, les lignes de résultats ont été remises en forme pour améliorer leur lisibilité. L'espacement de vos résultats variera selon votre affichage en ligne. Cet exemple illustre comment ST_MPolyFromWKB peut être utilisé pour créer un multi-polygone à partir de sa représentation binaire connue. La géométrie est un multi-polygone dans le système de référence spatiale 1. Dans cet exemple, le multi-polygone est stocké avec l'ID = 10 dans la colonne geometry de la table sample_mpolys, puis la colonne wkb est mise à jour avec sa représentation binaire connue (à l'aide de la fonction ST_AsBinary). Enfin, la fonction ST_MPolyFromWKB est utilisée pour retourner l'objet multipolygon de la colonne wkb. Les coordonnées x- et y- de cette géométrie sont v Polygon 1 : (1, 72) (4, 79) (5, 76) (1, 72) ; v Polygon 2 : (10, 20) (10, 40) (30, 41)(10, 20) et v Polygon 3 : (9, 43) (7, 44) (6, 47) (9, 43). La table sample_mpolys comporte une colonne geometry dans laquelle l'objet multipolygon est stocké, et une colonne wkb dans laquelle la représentation WKB de l'objet multipolygon est stockée.

Oracle

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

INSERT INTO SAMPLE_MPOLYS VALUES (
10,
sde.st_multipolygon ('multipolygon (((1 72, 4 79, 5 76, 1 72), (10 20, 10 40, 30 41, 10 20), (9 43, 7 44, 6 47, 9 43)))', 0)
);

UPDATE SAMPLE_MPOLYS
SET wkb = sde.st_asbinary (geometry)
WHERE id = 10;

PostgreSQL

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

INSERT INTO sample_mpolys VALUES (
10,
sde.st_multipolygon ('multipolygon (((1 72, 4 79, 5 76, 1 72), (10 20, 10 40, 30 41, 10 20), (9 43, 7 44, 6 47, 9 43)))', 0)
);

UPDATE sample_mpolys
SET wkb = sde.st_asbinary (geometry)
WHERE id = 10;

Dans l'instruction SELECT suivante, la fonction ST_MPolyFromWKB permet de récupérer le multi-polygone de la colonne WKB.

Oracle

SELECT id, sde.st_astext (sde.st_mpolyfromwkb (wkb,0)) MULTIPOLYGON
FROM SAMPLE_MPOLYS
WHERE id = 10;

ID   MULTIPOLYGON

10   MULTIPOLYGON (((10.00000000 20.00000000, 30.00000000 41.00000000, 10.00000000 40.00000000, 10.00000000 20.00000000)), (1.00000000 72.00000000, 5.00000000 76.00000000, 4.00000000 79.0000000, 1.00000000 72,00000000)), (9.00000000 43.00000000, 6.00000000 47.00000000, 7.00000000 44.00000000, 9.00000000 43.00000000 )))

PostgreSQL

SELECT id, sde.st_astext (sde.st_mpolyfromwkb (wkb,0)) 
AS MULTIPOLYGON
FROM sample_mpolys
WHERE id = 10;

id   multipolygon

10   MULTIPOLYGON (((10 20, 30 41, 10 40, 10 20)),
 (1. 72, 5 76, 4 79, 1 72)), (9 43, 6 47, 7 44, 9 43 )))

7/10/2012