ST_GeomFromWKB
ST_GeomFromWKB takes a well-known binary representation of a geometry and a spatial reference system identifier as input parameters and returns the corresponding geometry.
If the given well-known binary representation is null, null is returned.
Syntax
Parameter
- wkb
- A value of type BLOB(4M) that contains the well-known binary representation of the resulting geometry. If the well-known binary representation is null, null is returned.
- srs_id
- A value of type INTEGER that identifies the spatial reference system for the resulting geometry. This parameter is required.
If the specified srs_id parameter does not identify a spatial reference system that is listed in the catalog view DB2GSE.ST_SPATIAL_REFERENCE_SYSTEMS, an error is returned (SQLSTATE 38SU1).
Return type
db2gse.ST_Geometry
Examples
The following code illustrates how the ST_GeomFromWKB function can be used to create and insert a geometry from a well-known binary (WKB) line representation.
The following example inserts a record into the SAMPLE_GEOMETRIES
table with an ID and a geometry in spatial reference system 1 in a
WKB representation.
SET CURRENT PATH = CURRENT PATH, db2gse
CREATE TABLE sample_geometries (id INTEGER, geometry ST_GEOMETRY,
wkb BLOB(32K))
INSERT INTO sample_geometries(id, geometry)
VALUES
(1901, ST_GeomFromText('point(1 2)', 1) ),
(1902, ST_GeomFromText('linestring(33 2, 34 3, 35 6)', 1) ),
(1903, ST_GeomFromText('polygon((3 3, 4 6, 5 3, 3 3))', 1))
UPDATE sample_geometries AS temp_correlated
SET wkb = DB2GSE.ST_AsBinary(geometry)
WHERE id = temp_correlated.id
SELECT id, cast(DB2GSE.ST_AsText(ST_GeomFromWKB(wkb)) AS varchar(190))
AS geometry
FROM sample_geometries
Results:
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))