Definición
ST_PointFromWKB toma una representación binaria conocida (WKB) y una Id. de referencia espacial para devolver un ST_Point.
Sintaxis
Oracle
sde.st_pointfromwkb (wkb blob, srid integer)
sde.st_pointfromwkb (wkb blob)
Si no especifica ningún SRID, la referencia espacial tiene de forma predeterminada el valor 4326.
PostgreSQL
sde.st_pointfromwkb (wkb bytea, srid integer)
SQLite
st_pointfromwkb (wkb blob, srid int32)
st_pointfromwkb (wkb blob)
Si no especifica ningún SRID, la referencia espacial tiene de forma predeterminada el valor 4326.
Tipo de devolución
ST_Point
Ejemplo
En este ejemplo se muestra cómo ST_PointFromWKB se puede utilizar para crear un punto de su representación binaria conocida. Las geometrías son puntos en el sistema de referencia espacial 4326. En este ejemplo, los puntos se almacenan en la columna geometry de la tabla sample_points y, a continuación, la columna wkb se actualiza con sus representaciones binarias conocidas (utilizando la función ST_AsBinary). Por último, la función ST_PointFromWKB se utiliza para devolver los puntos de la columna WKB. La tabla de puntos de muestra tiene una columna de geometría, en donde los puntos se almacenan, y una columna wkb, en donde las representaciones binarias conocidas de puntos se almacenan.
En la declaración SELECT, la función ST_PointFromWKB se usa para recuperar los puntos de la columna WKB.
Oracle
CREATE TABLE sample_points (
id integer,
geometry sde.st_point,
wkb blob
);
INSERT INTO SAMPLE_POINTS (id, geometry) VALUES (
10,
sde.st_point ('point (44 14)', 4326)
);
INSERT INTO SAMPLE_POINTS (id, geometry) VALUES (
11,
sde.st_point ('point (24 13)', 4326)
);
UPDATE SAMPLE_POINTS
SET wkb = sde.st_asbinary (geometry)
WHERE id = 10;
UPDATE SAMPLE_POINTS
SET wkb = sde.st_asbinary (geometry)
WHERE id = 11;
SELECT id, sde.st_astext (sde.st_pointfromwkb(wkb, 4326)) POINTS
FROM SAMPLE_POINTS;
ID POINTS
10 POINT (44.00000000 14.00000000)
11 POINT (24.00000000 13.00000000)
PostgreSQL
CREATE TABLE sample_points (
id integer,
geometry sde.st_point,
wkb bytea
);
INSERT INTO sample_points (id, geometry) VALUES (
10,
sde.st_point ('point (44 14)', 4326)
);
INSERT INTO sample_points (id, geometry) VALUES (
11,
sde.st_point ('point (24 13)', 4326)
);
UPDATE sample_points
SET wkb = sde.st_asbinary (geometry)
WHERE id = 10;
UPDATE sample_points
SET wkb = sde.st_asbinary (geometry)
WHERE id = 11;
SELECT id, sde.st_astext (sde.st_pointfromwkb(wkb, 4326))
AS points
FROM sample_points;
id points
10 POINT (44 14)
11 POINT (24 13)
SQLite
CREATE TABLE sample_pts (
id integer,
wkb blob
);
SELECT AddGeometryColumn(
NULL,
'sample_pts',
'geometry',
4326,
'point',
'xy',
'null'
);
INSERT INTO sample_pts (id, geometry) VALUES (
10,
st_point ('point (44 14)', 4326)
);
INSERT INTO sample_pts (id, geometry) VALUES (
11,
st_point ('point (24 13)', 4326)
);
UPDATE sample_pts
SET wkb = st_asbinary (geometry)
WHERE id = 10;
UPDATE sample_pts
SET wkb = st_asbinary (geometry)
WHERE id = 11;
SELECT id, st_astext (st_pointfromwkb(wkb, 4326))
AS "points"
FROM sample_pts;
id points
10 POINT (44.00000000 14.00000000)
11 POINT (24.00000000 13.00000000)