Definición
ST_PolyFromWKB toma una representación binaria conocida (WKB) y una Id. de referencia espacial y devuelve un ST_Polygon.
Sintaxis
Oracle
sde.st_polyfromwkb (wkb blob, srid integer)
PostgreSQL
sde.st_polyfromwkb (wkb bytea, srid integer)
SQLite
st_polyfromwkb (wkb blob, srid int32)
Tipo de devolución
ST_Polygon
Ejemplo
En este ejemplo se muestra cómo ST_PolyFromWKB se puede utilizar para crear un polígono desde su representación binaria conocida. La geometría es un polígono en el sistema de referencia espacial 4326. En este ejemplo, el polígono se almacena con Id. = 1115 en la columna de geometría de la tabla sample_polys, y después la columna wkb se actualiza con su representación WKB (utilizando la función ST_AsBinary). Por último, la función ST_PointFromWKB se utiliza para devolver el multipolígono de la columna WKB. La tabla sample_polys tiene una columna de geometría, en donde el polígono se almacena, y una columna wkb, en donde la representación WKB del polígono se almacena.
En la declaración SELECT, la función ST_PointFromWKB se usa para recuperar los puntos de la columna 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))', 4326)
);
UPDATE SAMPLE_POLYS
SET wkb = sde.st_asbinary (geometry)
WHERE id = 1115;
SELECT id, sde.st_astext (sde.st_polyfromwkb (wkb, 4326)) 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
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))', 4326)
);
UPDATE sample_polys
SET wkb = sde.st_asbinary (geometry)
WHERE id = 1115;
SELECT id, sde.st_astext (sde.st_polyfromwkb (wkb, 4326))
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)
SQLite
CREATE TABLE sample_polys(
id integer,
wkb blob
);
SELECT AddGeometryColumn(
NULL,
'sample_polys',
'geometry',
4326,
'polygon',
'xy',
'null'
);
INSERT INTO sample_polys (id, geometry) VALUES (
1115,
st_polyfromtext ('polygon ((10.01 20.03, 10.52 40.11, 30.29 41.56, 31.78 10.74, 10.01 20.03))', 4326)
);
UPDATE sample_polys
SET wkb = st_asbinary (geometry)
WHERE id = 1115;
SELECT id, st_astext (st_polyfromwkb (wkb, 4326))
AS "polygons"
FROM sample_polys;
id polygons
1115 POLYGON (10.01000000 20.03000000, 31.78000000 10.74000000, 30.29000000 41.56000000, 10.52000000 40.11000000, 10.01000000 20.03000000)