ST_GeomFromWKB

Definición

ST_GeomFromWKB toma una representación de texto conocido binaria (WKB) y un Id. de referencia espacial para devolver un objeto ST_Geometry.

Sintaxis

Oracle

sde.st_geomfromwkb (wkb blob, srid integer)

PostgreSQL

sde.st_geomfromwkb (wkb, srid integer) sde.st_geomfromwkb (esri_shape bytea, srid integer)

Tipo de devolución

ST_Geometry

Ejemplo

En el siguiente ejemplo, las líneas de los resultados se han reformateado para su legibilidad. El espaciado en sus resultados variará según su visualización en línea. El siguiente código ilustra cómo la función ST_GeomFromWKB se puede utilizar para crear e insertar una línea desde una representación de línea WKB. En el siguiente ejemplo, se introduce un registro en la tabla sample_geometries con un Id. y una geometría en el sistema de referencia espacial 1 en una representación WKB.

Oracle

CREATE TABLE sample_geometries (id integer, geometry sde.st_geometry, wkb blob);  INSERT INTO SAMPLE_GEOMETRIES (id, geometry) VALUES ( 1901,  sde.st_geomfromtext ('point (1 2)', 0) );  INSERT INTO SAMPLE_GEOMETRIES (id, geometry) VALUES ( 1902, sde.st_geomfromtext ('linestring (33 2, 34 3, 35 6)', 0) );  INSERT INTO SAMPLE_GEOMETRIES (id, geometry) VALUES ( 1903, sde.st_geomfromtext ('polygon ((3 3, 4 6, 5 3, 3 3))', 0) );   UPDATE SAMPLE_GEOMETRIES SET wkb = sde.st_asbinary (geometry) WHERE id = 1901;  UPDATE SAMPLE_GEOMETRIES SET wkb = sde.st_asbinary (geometry) WHERE id = 1902;  UPDATE SAMPLE_GEOMETRIES SET wkb = sde.st_asbinary (geometry) WHERE id = 1903;  SELECT id, sde.st_astext (sde.st_geomfromwkb (wkb, 0)) FROM SAMPLE_GEOMETRIES;  ID   GEOMETRY   1901 POINT (1.00000000 2.00000000)  1902 LINESTRING (33.00000000 2.00000000, 34.00000000 3.00000000, 35.00000000 6.00000000)  1903 POLYGON ((3.00000000 3.00000000, 5.00000000 3.00000000, 4.00000000 6.00000000, 3.00000000 3.00000000)) 

PostgreSQL

CREATE TABLE sample_geometries (id integer, geometry sde.st_geometry, wkb bytea);  INSERT INTO sample_geometries (id, geometry) VALUES ( 1901,  sde.st_geometry ('point (1 2)', 0) );  INSERT INTO sample_geometries (id, geometry) VALUES ( 1902, sde.st_geometry ('linestring (33 2, 34 3, 35 6)', 0) );  INSERT INTO sample_geometries (id, geometry) VALUES ( 1903, sde.st_geometry ('polygon ((3 3, 4 6, 5 3, 3 3))', 0) );   UPDATE sample_geometries SET wkb = sde.st_asshape (geometry) WHERE id = 1901;  UPDATE sample_geometries SET wkb = sde.st_asshape (geometry) WHERE id = 1902;  UPDATE sample_geometries SET wkb = sde.st_asshape (geometry) WHERE id = 1903;  SELECT id, sde.st_astext (sde.st_geomfromshape (wkb, 0))  FROM sample_geometries;  id   st_astext  1901 POINT (1 2)  1902 LINESTRING (33 2, 34 3, 35 6)  1903 POLYGON ((3 3, 5 3, 4 6, 3 3)) 

3/6/2012