ST_MPolyFromWKB

Definition

Mit ST_MPointFromWKB wird anhand eines Well-known Binary-Formats (WKB) vom Typ ST_MultiPolygon und einer Raumbezugs-ID ein ST_MultiPolygon-Objekt zurückgegeben.

Syntax

Oracle

sde.st_mpolyfromwkb (wkb blob, srid integer)

PostgreSQL

sde.st_mpolyfromwkb (wkb bytea, srid integer)

Rückgabetyp

ST_MultiPolygon

Beispiel

Im folgenden Beispiel wurden die Zeilen der Ergebnisse zur besseren Lesbarkeit neu formatiert. Die Abstände der Ihnen angezeigten Ergebnisse können abhängig von Ihrer Online-Darstellung variieren. In diesem Beispiel wird veranschaulicht, wie ST_MPolyFromWKB zum Erstellen eines Multipolygons aus einem Well-known Binary-Format verwendet werden kann. Die Geometrie ist ein Multipolygon im Raumbezugssystem 1. In diesem Beispiel wird das Multipolygon mit der ID = 10 in der Spalte "geometry" der Tabelle "sample_mpolys" gespeichert; anschließend wird die Spalte "wbk" mit einem Well-known Binary-Format (mithilfe der Funktion ST_AsBinary) aktualisiert. Zum Schluss wird mit der ST_MPolyFromWKB-Funktion das Multipolygon aus der Spalte "wbk" zurückgegeben. Die X- und Y-Koordinaten für diese Geometrie lauten V-Polygon 1: (1, 72) (4, 79) (5, 76) (1, 72), V-Polygon 2: (10, 20) (10, 40) (30, 41)(10, 20) und V-Polygon 3: (9, 43) (7, 44) (6, 47) (9, 43). Die Tabelle "sample_mpolys" verfügt über die Spalte "geometry", in der das Multipolygon gespeichert wird, sowie über die Spalte "wbk", in der die WBK-Repräsentation des Multipolygons gespeichert wird.

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;

In der folgenden SELECT-Anweisung wird mit der ST_MPolyFromWKB-Funktion das Multipolygon aus der Spalte "WBK" abgerufen.

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 )))

3/6/2012